CRM 連携ブリッジ

セッションに名前が付くと、その人の CRM レコードに録画のメモが追加されます。新しい連絡先ではなく、既存の連絡先に追加します。

1. 役割を一文で

セッションが識別された瞬間に、送信された識別子を使って CRM 内の人を検索し、録画へのリンクを含むメモを付けます。

それだけです。連絡先も商談も新規作成せず、パイプラインも変更しません。料金ページを訪れるたびに重複が増える CRM は、連携がないより悪いものです。

その人が見つからなければ、何も行いません。 作成してしまうと、ブラウザーのセッションから CRM にレコードを書き込むことになります。ブラウザーのセッションは、誰がお客様なのかを判断する正本ではありません。

2. 照合キー:その人を見つける方法

ここには10分ほど注意を向ける価値があります。CRM 連携が気付かないうちに誤動作しやすい箇所だからです。

訪問者は、サイトから伝えられた情報で把握します。つまり、 MousePlayer.setUserId()、分析ツールから読み戻した distinct ID、またはサーバーサイドの identify 呼び出しです。CRM にも、その人を識別するものがあります。この二つが同じものである必要があります。

検索するもの変更できるか
HubSpot連絡先のメールアドレスいいえ — 検索エンドポイントがこれを前提としているためです
Pipedrive用語による人物検索。メールアドレスを優先いいえ
Salesforce次のフィールド: お客様が指定、初期設定は Emailはい

Salesforce だけが尋ねる理由

Salesforce の運用では、メールアドレスがキーになることはあまりありません。お客様の場合も、 Customer_Number__cや請求システムの外部 ID がキーかもしれません。それでもメールアドレスで検索すれば、何も見つからずに成功と報告してしまいます。連携は動いているように見えるため、最も厄介な失敗です。

そのため、フォームでは次を尋ねます: 送信する値を保持しているのは、Contact のどのフィールドですか? API 名を入力し、カスタムフィールドなら末尾の __c も含めてください。

フィールド名は、クエリに渡る前に厳格なパターンで確認します。CRM のフィールド名に使えるのは英字、数字、アンダースコアです。それ以外はエスケープするのではなく、受け付けません。エスケープは微妙に誤る可能性がありますが、拒否にはその問題がないためです。

3. 実行する場合と、意図的に実行しない場合

識別時です。サイトが MousePlayer.setUserId()を呼び出したとき、分析連携ブリッジが PostHog、Mixpanel、Amplitude から distinct ID を読み戻したとき、またはサーバーが identify エンドポイントを呼び出したときに実行します。

ページごとではなく、セッションごとに1回

ログイン後に11ページを閲覧しても、メモは11件ではなく1件です。CRM のタイムラインは、人が読む場所だからです。

識別子なしには実行しません

匿名セッションには照合するものがありません。IP アドレスから推測せず、たまたま同じアドレスを使う人に録画を付けることもありません。

CRM にその人がいなければ実行しません

失敗ではなく、完了として数えます。見込み客がまだ CRM にいないのは普通であり、明日再試行しても変わらないためです。

4. メモの内容とトークンの保管場所

連絡先のタイムラインにメモを一つ追加します。セッションを録画した旨の一文と、リンクです。営業担当者がクリックすると、その人が連絡する前に実際に何をしたかを視聴できます。

認証情報

AES-256-GCM で暗号化して保存します。保存後は再表示しません。入力欄にはアスタリスクを表示し、そのまま保存しても保存済みの値は変わりません。また、タスクを運ぶ内部キューには意図的に含めません。キューは共有される状態であり、キーの置き場所として適さないためです。

Salesforce は三つ、他は二つが必要です

Salesforce は Connected App とリフレッシュトークンで認証するため、コンシューマーキー、シークレット、リフレッシュトークンに加え、インスタンス URL を指定します。HubSpot と Pipedrive は API トークン一つです。三つともお客様自身のアプリを使います。MousePlayer が運用するマーケットプレイスアプリを信頼する必要はありません。

5. Zoho CRM と Freshsales

さらに二つの CRM に対応していますが、設定の手間は対照的です。

Zoho CRMFreshsales
指定するものデータセンター、クライアント ID、クライアントシークレット、リフレッシュトークンAPI キーと Freshworks のドメイン
検索するもの指定するフィールド。初期設定は Email指定するフィールド。初期設定は email
メモの追加先連絡先。Note レコードとして追加連絡先。メモとして追加

Zoho は六つのデータセンターのいずれかにあります

アカウントの場所は、 com、 eu、 in、 com.au、 jp または com.cnです。キーからは場所を判別できません。選択を誤ると Zoho は INVALID_TOKEN を返します。キーの不備に見えるため、間違った箇所を調べることになります。そのため、この欄はドロップダウンになっています。

Self Client を一度だけ設定

Zoho API コンソールで Self Client を作成し、次の権限の grant トークンを生成します: ZohoCRM.modules.ALL と ZohoSearch.securesearch.READ。一度リフレッシュトークンに交換します。このリフレッシュトークンは期限切れになりません。1時間ごとのアクセストークンはそこから取得し、保存しません。

Zoho は拒否でも200を返します

トークン交換とレコード書き込みのいずれも、HTTP 200 とともに、本文にエラーやレコードごとのステータスを返す場合があります。当社は本文を読み取ります。ステータスコードだけを信頼する連携ブリッジなら、作成されなかったメモを成功と報告してしまいます。

記載されている商標はすべて各所有者に帰属します。MousePlayer とこれらのプロバイダーとの間に取引関係はありません。