見出し画像

〈Zapier〉メール起点のユーザー行動をSales Forceの既存オブジェクトへ自動で紐付ける

メールで顧客のアクションがお知らせされた時に、Sales Forceのオブジェクトの作成とレコードへの紐付けを自動で行う設定を、Zapierを使って設定できたのでご紹介しています。

背景

インサイドセールスからの資料送付の際にノコセルというツールを使っています。
ユーザーが資料を見た際に「資料を閲覧しました」といったお知らせがメールで届くことで、タイムリーなアプローチできるというツールです。

サービスページのファーストビュー

うまく使えば効果を発揮しそうだと思う反面、ユーザーが資料を見てくれたという履歴が残らないのがもったいないなと思っていました。
再アプローチの際に「何度も資料を見てくれている」という情報があれば、アポや受注の獲得率が向上させられるのではという仮説です。

セールスフォーススキルは半年

インハウスのマーケターとしてtoC事業企業からtoB事業企業へ転職し、初めてセールスフォースを触りはじめてから半年ほど経ちました。転職先がスタートアップで規模はまだ小さいということもあり、社内にとても詳しい人はいないという状況です。

調べてもなかなか情報が出てこないため情報収集に苦労していることもあり、同様の方の助けになればとこの記事を書いてみました。
もっと本来の趣旨に沿った使い方、より効率的な使い方など、改善の余地はまだまだあると思うのでぜひコメントいただけると嬉しいです。

実現したいこと

ノコセルから「資料を閲覧しました」というお知らせメールが来たら、ユーザーのオブジェクトに履歴を残す = ToDoを作成して紐づける、ということを目的にしています。
行動オブジェクトで残した方が良いのか?と迷いましたが、既に連携している別ツールがToDoで残していたので、今回はそれに準じました。

こんな感じで一覧化して見える

ちなみにノコセルでは資料上でメッセージのやり取りをすることもでき、その際は「新着メッセージのお知らせ」というメールが送られてきます。これにも対応できればと思ったのですが、お知らせメール内にメールアドレスの情報がなかったため今回は断念しました。会社名と氏名はメール内にあり、資料閲覧をトリガーにToDoはすでに作成されているので、そこからなんとかすることもできるのでは?とは思っています。

フロー

全体感としては以下のような感じです。

  1. ノコセルから「資料を閲覧しました」のお知らせメールを受信したことをトリガーにZapがスタート

  2. メール内の情報を整形して取得

  3. 取引先責任者からメールアドレスを検索

    1. 取引先責任者にあった場合はIDを取得し、そのIDに紐付けてToDoを作成

    2. スラックでお知らせしてフロー完了

  4. 取引先責任者になかった場合は、リードからメールアドレスを検索

    1. リードにあった場合はIDを取得し、そのIDに紐付けてToDoを作成

    2. スラックでお知らせしてフロー完了

  5. メールアドレスが取引先責任者にもリードにもなかった場合は、メールドメインを取引先責任者から検索

    1. 検索したメールドメインを持つ取引先責任者が見つかった場合、ToDoを取引先に紐付けて作成

  6. ドメインも見つからなかった場合は、そのことをスラックでお知らせしてフロー完了

    作成当時は最長のフローでした

    先に取引先責任者から検索するかリードから検索するかで少し迷いましたが、より重要なのは取引先責任者という観点で先に検索しています。本来メールアドレスでユニークなためひとつのメールアドレスに対してどちらかひとつになっているはずですが、運用上のミスなどにより複数存在するケースが発生してしまう可能性がどうしてもあるため、そのことを前提に設定しています。

    設定方法

    ここからは上記フローの設定方法を詳しく見ていければと思います。ザピアの情報もなかなか少なく苦労しており、取得や検索などで甘い部分もありそうですが、一例として見ていただければと思います。

    1.ノコセルからの「資料請求閲覧のお知らせ」メール受信のトリガーを作成

    ブラウザ版のGmailで目的の検索条件を作り、それをコピペしています

    ノコセルから「ノコセル|(会社名 ユーザー名)様が資料(資料名)を閲覧しました」という件名のメール通知が届くので、「ノコセル」と「閲覧しました」というワードを件名に含むメールが届くとZapが動き出すようにしています。

    2.受信メールの情報を取得

    ここから先は、以下の情報と目的、検索条件でメール内のテキストを取得していきます。

    メールアドレス

    「Input」内の最初のメールアドレスを取得するようです
    • 目的:取引先責任者やリードの検索項目として取得

    • 整形方法:Formatter by Zapier > Extract Email Adderss

    メール受信時間

    • 目的:ToDo一覧画面で閲覧日時が見やすいよう、件名に表示させるため

    • 整形方法:Formatter by Zapier > Date / Time

    会社名と閲覧者名

    正規表現も勉強中です
    • 目的:ToDoの件名に入れるため (一応)

    • 整形方法:Formatter by Zapier > Extract Pattern > (?<=|)(.*)\s.*様

    アクション内容

    • 目的:アクションの内容をToDoの件名とするため

    • 整形方法:Formatter by Zapier > Extract Pattern > 資料.*

    3.取引先責任者からメールアドレスを検索

    先ほど取得したメールアドレスを使って検索

    セールスフォースの取引先責任者のメールという項目から、メールアドレスを検索します。また検索で見つからないと失敗扱いとしてフローが止まってしまうことがあるので、「Should this step be considered a “success” when nothing is found?」という項目を「true」にしておきます。

    4.検索結果によってフロー分岐

    IDがある場合

    上記検索結果からIDが返ってきたか否かを分岐条件にしています。あった場合の条件は「exists」、なかった場合の条件は「does not exist」を設定します。

    5.取引先責任者があった場合、紐付けたToDoを作成

    履歴なので状況は「完了」、優先度は「低」にしています

    「名前」欄に上記IDを指定することで、紐付けたToDoが作成できます。「割り当て先(User)」は所有者のようです。

    セールスフォース上で一覧表示した時の見やすさを考え、ToDoの件名は以下のようにしています。
    【(閲覧日時)】(資料名)を閲覧しました【(会社名)(閲覧者氏名)】

    またどの資料を見たのかを「説明」欄に残しています。

    6.お知らせスラックを送信

    DMやチャンネルに紐付けたことをお知らせするスラックを設定して完了です。

    7.メールアドレスが取引先責任者になかった場合、リードから検索

    検索の結果、IDが「does not exist」の場合のフロー

    取引先責任者からメールアドレスを検索してIDが返ってこなかった場合、今度はリードから再度検索します。

    8.リードにあった場合、紐付けたToDoを作成

    リードから見つかった場合は、取引先責任者の場合と同じ要領でリードに紐付けてToDoを作成し、お知らせスラックを送信して完了です。

    9.取引先責任者にもリードにもなかった場合は、メールドメインを検索

    最初に取得したメールアドレスから@以降を抜き出します

    例えば社内で資料URLを共有した場合など、セールスフォース上にないメールアドレスで閲覧されることが少なくなく発生します。この場合は取引先にToDoを作成するフローを設定しています。
    まずは@マーク以降のドメインを取得します。

    完全一致ではなく含む検索の方法に少し苦労しました

    上記で取得したメールドメインを含むメールアドレスを持つ取引先責任者を検索します。
    今まで使っていた「Find Record」というイベントでは含む検索ができなかったので、ここでは「Find Record by Query」というイベントを使っています。
    「WHERE Clause」という項目に「WHERE Email LIKE ‘%(メールドメイン)%’」と設定すると含む条件で検索することができました。

    10.レコードが見つかった場合、そのレコードに紐付いた取引先にToDoを作成

    関連先が「Account Id」に変わります

    取引先責任者レコードが返ってきた場合、その取引先責任者に紐付いた取引先へToDoを作成し、お知らせスラックを送信して完了です。
    これでも見つからなかった場合は、諦めて「見つからなかったスラック」を送信して完了にしています。

    さらにリードから検索することも考えましたが、リードは個人に相当するものだと思うので、そこに別人のアクティビティが紐付いてしまうと余計にややこしくなってしまうと考え検索せずにフローを完了しています。

    ユーザー行動の一元管理化を実現

    設定後2週間ほど様子を見ていましたが、特に問題は起きずに動いてくれています。

    ノコセル自体でもユーザー行動を記録してくれてはいますが、情報があちこちのツールに散らばっていると運用コストが大きくなってしまいます。複数人での運用負荷を最小限にするという意味でも情報はセールスフォースに集約しておきたいので、それを自動化できたのはとても良かったです。

    こういったニーズは少ないのか情報が少ないことに加え、ザピアが日本語対応していないこともあり実装に苦労してしまいましたが、この記事がお役に立った方がいましたら嬉しいです!

    いいなと思ったら応援しよう!