何かお困りですか?

【CRM】Salesforce取引先情報の自動連携(トリガー)を設定する

Salesforceの取引先情報が作成・更新された際に、自動でXAION Salesに連携する設定手順について説明します

Salesforceの取引先(Account)の情報を自動でXAION Salesに連携し、企業マッチングを行うための設定について説明します。

フロー(自動化)は、以下2つのケースに分けて作成します。必要な方(または両方)を作成してください。

  • 新規作成時に実行する場合:取引先が新しく作成されたときに必ず連携したい場合
  • 更新時に実行する場合:取引先の特定項目(会社名・電話番号など)が変更されたときのみ連携したい場合

STEP 1|事前確認を行う

設定を始める前に、以下2点をご確認ください。

1. 初期設定を確認する

【CRM】Salesforce接続後の初期設定を行う を参考に、初期設定が完了していることを確認してください。

2. カスタムメタデータ型を確認する

Salesforceの設定画面で カスタムメタデータ型 を開き、Autoboost Account Matching Trigger が存在することを確認してください。

Notion image

⚠️ この操作にはSalesforceのシステム管理者権限が必要です。   権限がない場合は、貴社のSalesforce管理者に依頼してください。


 

STEP 2|XAION Salesを呼び出すための認証情報を作成する

XAION SalesのAPIをSalesforceから呼び出せるようにするため、認証情報(外部認証情報・カスタム認証情報)を作成します。

手順

1. 外部認証情報を作成する

Salesforceの設定画面で「指定ログイン情報」を検索してください(英語表記「Named Credential」)。開いた画面の「外部ログイン情報」タブ(英語表記「External Credentials」)を選択し、「新規」から以下の内容で作成してください。

項目
設定値
表示ラベル
Account Trigger External Credential
名前
Account_Trigger_External_Credential
認証プロトコル
カスタム
Notion image
 

2. プリンシパルを追加する

作成した「Account Trigger External Credential」内の「プリンシパル」セクションで「新規」をクリックし、以下の内容で保存してください。

項目
設定値
パラメーター名
Account Trigger Principals
連番
1
ID種別
指定ユーザー
認証パラメーター
入力不要(認証キーはSTEP 6で別途設定します)
Notion image
 

3. 指定ログイン情報(Named Credential)を作成する

手順1で開いた「指定ログイン情報」の画面に戻り、「指定ログイン情報」タブを選択してください。そこから「新規」をクリックし、以下の内容で保存してください。

項目
設定値
表示ラベル
Account Trigger Named Credential
名前
Account_Trigger_Named_Credential
URL
https://app-api.autoboost.jp/v3/noauth/salesforce/webhooks/account-matching
コールアウトに対応
ON
外部ログイン情報
手順1・2で作成した「Account Trigger External Credential」をプルダウンから選択
クライアント証明書
入力不要
認証ヘッダーを生成
チェックする(有効にする)
HTTPヘッダーの数式を許可
チェックする(有効にする)
HTTP本文の数式を許可
チェックする(有効にする)
アウトバウンドネットワーク接続
入力不要
コールアウトで許可される名前空間
入力不要
Notion image

 

STEP 3|利用権限(Permission Set)を割り当てる

作成した認証情報をフロー(自動化)から利用できるように、権限セットを作成し、担当ユーザーに割り当てます。

手順

1. 権限セットを作成する

Salesforceの設定画面で「権限セット」を検索し、「新規」から以下の内容で作成してください。

項目
設定値
備考
表示ラベル
Account Trigger Permission Set
任意の名称で構いません
API参照名
Account_Trigger_Permission_Set
表示ラベルから自動生成されます
説明
入力不要
任意入力です。
セッションの有効化が必要
チェックしない(デフォルトのまま)
ライセンス
–なし–(デフォルトのまま)
特定のユーザーライセンスに限定する必要はないため変更不要です
Notion image
 

2. ユーザーに割り当てる

「割り当ての管理」>「割り当てを追加」から、対象ユーザーを選択して割り当ててください。

Notion image
⚠️

どのユーザーを割り当てるか(重要) このフローは、Salesforceの取引先(Account)を作成・更新した本人(実行ユーザー)の権限で動作します。そのため、設定作業を行った管理者だけに割り当てても、それ以外の方が取引先を作成・更新した際にはこの権限セットが適用されず、エラーが発生します。 したがって、実際にSalesforceで取引先(Account)を作成・更新する可能性のあるユーザー全員にこの権限セットを割り当ててください。 ・対象ユーザーが少数の場合:「割り当ての管理」から一人ずつ追加してください。 ・対象ユーザーが多い場合:権限セットグループを作成して一括管理する方法や、対象ユーザーのプロファイル・ロールを確認したうえで一括割り当てする方法をご検討ください。

 

3. 外部ログイン情報へのアクセスを許可する

権限セットの画面に戻り、「外部ログイン情報プリンシパルアクセス」>「編集」を開き、STEP 2で作成した外部ログイン情報(Account Trigger External Credential)を「有効な外部ログイン情報プリンシパル」に移動して保存してください。

Notion image

 

STEP 4|フローを作成する

自動でXAION Salesへ連携するフロー(自動化)を作成します。以下のA(新規作成時)とB(更新時)はそれぞれ独立した設定です。必要な方の手順のみを実施してください(両方連携したい場合はA・B両方を作成)。


 

A|取引先を新規作成した時に実行するフロー

Salesforceの取引先が新規作成されたときにXAION Salesの情報を連携するフローです。

1. フローを新規作成する

設定画面で「フロー」を検索し、「新規フロー」>「トリガーされた自動化」を選択してください。その後、選択肢の一覧から「レコードトリガーフロー」を選択してください。

2. フローの起動条件を設定する

以下の項目を入力後、「保存」をクリックしてフローを作成してください。

セクション
項目
設定値
オブジェクトを選択
オブジェクト
取引先(Account)
トリガーを設定
フローをトリガーする条件
「レコードが作成された」を選択
エントリ条件を設定
条件の要件
なし
フローを最適化
フローを最適化
「アクションと関連レコード」を選択
非同期パスを追加
有効(ON)

初回保存時に設定するフローの名前は「Account Trigger Flow (Create)」など、分かりやすい名称を付けてください。保存後に変更したい場合は、画面上部の歯車アイコン(⚙️)から「フロー・プロパティを編集」でも変更できます。

保存後、STEP 5に進んでください。


 

B|取引先を更新した時に実行するフロー

Salesforceの取引先の特定項目(会社名・電話番号など)が変更されたときにXAION Salesの情報を連携するフローです。

1. フローを新規作成する

Aと同様に、設定画面で「フロー」を検索し、「新規フロー」>「トリガーされた自動化」>「レコードトリガーフロー」を選択してください。

2. フローの起動条件を設定する

以下の項目を入力後、「保存」をクリックしてフローを作成してください。

セクション
項目
設定値
オブジェクトを選択
オブジェクト
取引先(Account)
トリガーを設定
フローをトリガーする条件
「レコードが更新された」を選択
エントリ条件を設定
条件の要件
いずれかの条件を満たす場合(OR) 対象項目:会社名/電話番号/Webサイト/住所など 演算子:変更あり(Is Changed) 値:True ※精度を上げたい場合は全項目、負荷を抱えたい場合は必要な項目のみに絞って設定してください
フローを最適化
フローを最適化
「アクションと関連レコード」を選択(すでに選択されていればそのままでOK)
非同期パスを追加
有効(ON)

初回保存時に設定するフローの名前は「Account Trigger Flow (Update)」など、Aと区別できる名称を付けてください。保存後に変更したい場合は、画面上部の歯車アイコン(⚙️)から「フロー・プロパティを編集」でも変更できます。

保存後、STEP 5に進んでください。この段階では、フローの「有効化」は不要です。


 

STEP 5|XAION Salesを呼び出すアクションを設定する

取引先情報をXAION SalesのAPIへ送信するアクション(HTTP Callout)を作成します。

手順

1. アクションを追加する

STEP4で作成したフローの編集画面で「非同期に実行」側の(+)ボタン>「インタラクション」カテゴリの「アクション」を選択してください。右パネルにアクション一覧が表示されるので、一番下にある「HTTPコールアウトを作成」をクリックしてください。このアクションは1回作成すれば、もう一方のフローでも使い回せます。

2. 外部サービスを作成する

「新規 HTTP コールアウト」画面の「外部サービスを作成」セクションで、以下の内容を入力し、「次へ」をクリックしてください。

項目
設定値
名前
AccountTriggerHTTPCallout
指定ログイン情報
Account Trigger Named Credential

3. 呼び出しアクションを設定する

「新規 HTTP コールアウト」画面の「呼び出し可能なアクションを設定」セクションで、以下の内容を入力して「次へ」をクリックしてください。

項目
設定値
表示ラベル
AccountTriggerInvocable
メソッド
POST

「URL」には、手順2で選択した指定ログイン情報(Account Trigger Named Credential)のURLが自動で入力されます。「URL パス」は入力不要です。

 

4. リクエストのサンプルを設定する

「新規 HTTP コールアウト」画面の「サンプル JSON 要求」欄に以下のサンプルリクエストJSONをそのまま貼り付け、「確認」をクリックしてください。右側に「データ構造」が表示されエラーがなければ「次へ」をクリックしてください。

サンプルリクエストJSON(コピーして貼り付けてください):

{
  "accountId": "0011U00000abcDEQAY",
  "accountName": "Example Corp",
  "phone": "03-1234-5678",
  "website": "https://example.com",
  "billingPostalCode": "100-0001",
  "billingState": "Tokyo",
  "billingAddress": "1-1-1 Chiyoda, Chiyoda-ku",
  "corporateNumber": "1234567890123",
  "integratedId": ""
}

5. レスポンスのサンプルを設定する

手順4の「確認」後に「次へ」をクリックすると、「サンプル応答方法を選択」画面に進みます。「応答の例を使用」を選択し、「次へ」をクリックしてください。次の画面の「サンプル JSON 応答」欄に以下のサンプルレスポンスJSONを貼り付け、「確認」をクリックしてください。

サンプルレスポンスJSON(コピーして貼り付けてください):

{
  "total_unmatched": 1,
  "credits_consumed": 1,
  "matches": [
    {
      "possible_matches": ["Example Corp"],
      "account_id": "0011U00000abcDEQAY",
      "company_name": "Example Corp",
      "company_data": "{}",
      "matched": true,
      "integrated_id": "abc123"
    }
  ],
  "total_matched": 1
}

「確認」をクリックした後、「保存」をクリックしてください。


 

STEP 6|認証キーをリクエストヘッダーに追加する

XAION Sales側でリクエストを認証するためのキー(x-autoboost-webhook-key)を、外部サービスの設定に追加します。

手順

1. 外部サービス画面を開く

別タブでSalesforceを開き、設定画面で「外部サービス」を選択してください。

2. アクションを編集する

STEP 5で作成した外部サービス(AccountTriggerHTTPCallout)の「アクション」から「編集」を選択してください。

3. スキーマを差し替えて操作を有効化する

スキーマ入力欄の内容をすべて削除し、以下の内容を貼り付け、「保存&次へ」をクリックしてください。

{"openapi":"3.0.1","info":{"title":"AccountTriggerHTTPCallout","description":""},"paths":{"":{"post":{"description":"","operationId":"AccountTriggerInvocable","parameters":[{"name":"x-autoboost-webhook-key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"accountId":{"type":"string"},"website":{"type":"string"},"phone":{"type":"string"},"accountName":{"type":"string"},"billingPostalCode":{"type":"string"},"billingState":{"type":"string"},"billingAddress":{"type":"string"},"corporateNumber":{"type":"string"},"integratedId":{"type":"string"}}}}}},"required":true},"responses":{"2XX":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"total_unmatched":{"type":"integer","format":"int64"},"credits_consumed":{"type":"integer","format":"int64"},"matches":{"type":"array","items":{"type":"object","properties":{"possible_matches":{"type":"array","items":{"type":"string"}},"account_id":{"type":"string"},"company_name":{"type":"string"},"company_data":{"type":"string"},"matched":{"type":"boolean"},"integrated_id":{"type":"string"}}}},"total_matched":{"type":"integer","format":"int64"}}}}}}}}}}}

続けて「操作を選択」画面が表示されます。「AccountTriggerInvocable」の左のチェックボックスにチェックを入れてから「次へ」をクリックしてください。次の「外部サービスアクションを確認」画面で内容を確認し、「完了」をクリックしてください。

4. フロー編集画面に戻り、リロードする

画面をリロードしてください。STEP 5で作成したアクションが一度消えることがあります。その場合は以下の手順5~8で作り直してください。

5. アクションを作り直す

「非同期に実行」側の(+)ボタン>「アクション」を選択し、右パネル上部の「アクションを検索...」欄に「AccountTriggerHTTPCallout」と入力してください。検索結果の「アクション」セクションに表示される「Account Trigger Invocable」を選択してください。

6. 表示ラベルを設定する

右パネルの「表示ラベル」欄に任意の名前(例:Account Trigger Invocable)を入力してください。「API 参照名」は自動で入力されます。

7. 数式を作成する

「X Autoboost Webhook Key」の入力欄をクリックしてください。 表示されるドロップダウンの一番下にある「+新規リソース」をクリックすると、「新規リソース」ダイアログが開きます。 「リソース種別」で「数式」を選択すると、以下の入力欄が表示されます。以下の内容を入力し、「完了」をクリックしてください。

項目
設定値
備考
リソース種別
数式
API参照名
Webhook_Key_Formula
データ型
テキスト
数式 「数式を入力」欄
$CustomMetadata.Autoboost_Account_Matching_Trigger__mdt.Default.Signing_Key__c
「構文を確認」でエラーになる場合は、STEP 1の事前確認が完了しているかご確認ください

8. 変数を作成する

「Body」行の右側にあるトグル(初期状態は「含まない」)をクリックして「含む」に切り替えると表示される入力欄をクリックしてください。 表示されるドロップダウンの一番下にある「+新規リソース」をクリックすると、「新規リソース」ダイアログが開きます。 「リソース種別」で「変数」を選択すると、以下の入力欄が表示されます。以下の内容を入力し、「完了」をクリックしてください。

項目
設定値
備考
リソース種別
変数
API参照名
Params
データ型
Apex 定義
Apexクラス
ExternalService__AccountTriggerHTTPCallout_AccountTriggerInvocable_IN_body
フロー外部での可用性
入力・出力ともチェック不要
デフォルトのままで問題ございません。

 

STEP 7|項目のマッピング(アサインメント)を設定する

Salesforceの取引先項目と、XAION Sales APIへ送るリクエスト項目を対応付けます。この手順は、更新用・作成用の両方のフローに対して行ってください(マッピング内容は両方とも同じです)。

手順

  1. キャンバス上で、「非同期に実行」と「Account Trigger Invocable」アクションの間にある(+)ボタン>「割り当て」を選択してください。
  1. 右パネルの「表示ラベル」欄に任意の名前(例:Account Field Mapping)を入力してください。「API 参照名」は自動で入力されます。
  1. 「変数値を設定」セクションで、以下の内容で設定してください(項目は任意で削除可能ですが、マッチング精度を上げたい場合はすべて設定することを推奨します)。
変数
演算子
値
Params > accountId
次の文字列と一致する
トリガー Account | Salesforce オブジェクト > 取引先ID
Params > accountName
次の文字列と一致する
トリガー Account | Salesforce オブジェクト > 取引先名
Params > billingAddress
次の文字列と一致する
トリガー Account | Salesforce オブジェクト > 請求先住所
Params > billingPostalCode
次の文字列と一致する
トリガー Account | Salesforce オブジェクト > 請求先郵便番号
Params > billingState
次の文字列と一致する
トリガー Account | Salesforce オブジェクト > 請求先都道府県
Params > corporateNumber
次の文字列と一致する
トリガー Account | Salesforce オブジェクト > 法人番号
Params > integratedId
次の文字列と一致する
トリガー Account | Salesforce オブジェクト > XAION Sales Integrated ID (API名:LeadPoolIntegratedId__c) XAION Sales のパッケージインストール時に自動作成されるカスタム項目になります。)
Params > phone
次の文字列と一致する
トリガー Account | Salesforce オブジェクト > 電話番号
Params > website
次の文字列と一致する
トリガー Account | Salesforce オブジェクト > Webサイト

※「値」の欄に記載のフィールド名称は、設定によって異なる場合がございますのでご注意ください。

設定後、「保存」をクリック後、『有効化』してください。


 

以上でSalesforce取引先情報の自動連携設定は完了です。

 
Did this answer your question?
😞
😐
🤩