メインコンテンツにスキップ

Fin Messenger:Salesforceポータルにメッセンジャーを埋め込む方法

SalesforceのウェブページにFin Messengerをインストールする手順を案内します。

Fin Messengerは、あらかじめ作成されたパッケージを使ってSalesforceサイトにインストールできます。インストール後はカスタム設定を構成し、コンテンツセキュリティポリシー(CSP)を更新し、FinをSalesforce環境に安全に接続します。


SalesforceのウェブページにFin Messengerをインストールする

1. Salesforceにパッケージをインストールする

SalesforceのウェブページにFin Messengerをインストールするために、カスタム設定定義を作成するパッケージを用意しました。

以下の手順に従う前に、Salesforce環境にパッケージをインストールする必要があります。

または

2. SalesforceでFin Messengerの設定を構成する

インストール後、Fin Messenger Settingsという新しいカスタム設定が表示されます。これを使ってSalesforceとFinのアプリ認証情報を接続します。

A) Fin Messenger Settingsにアクセスする

Salesforceで:

  1. Setup > Custom Settingsに移動します。

  2. Fin Messenger Settingsを開きます。

  3. Manageをクリックします。

  4. Newをクリックして、Default Organization Level Valueを設定します。

B) App IDカスタムフィールドを構成する

  1. Finで、Settings > Generalに移動してApp IDを確認します。

  2. Salesforceで、Fin Messenger Settingsを開きます。

  3. App IDカスタムフィールドにApp IDを入力します。

C) JWT Secret Keyカスタムフィールドを構成する

  1. Finで、Settings > Fin Messengerに移動してJWT Secret Keyを確認します。

  2. Salesforceで、Fin Messenger Settingsを開きます。

  3. JWT Secret KeyカスタムフィールドにJWT Secret Keyを入力します。

3. コンテンツセキュリティポリシー(CSP)を構成する

Fin Messengerの設定が完了したら、Fin Messengerを安全に読み込むために必要なCSPルールを設定します。

A) サイトのセキュリティとプライバシーにアクセスする

Salesforceで:

  1. Setup > Sites > (your site) Builderに移動します。

  2. Settings > Security & Privacyを開きます。

B) セキュリティレベルを構成する

Security LevelRelaxed CSPに設定します。これにより、サイトのヘッドマークアップに必要なスクリプトを追加できます。

C) スクリプト用の信頼済みサイトを構成する

以下の信頼済みサイトを追加します:

D) 信頼済みURLを構成する

  1. Setup > Trusted URLsに移動します。

  2. この記事のURLを関連するCSPディレクティブとともに追加します。

  3. CSP ContextAllまたはExperience Builder Sitesに設定します。

4. SalesforceポータルにFin Messengerのスクリプトを追加する

サイトのHead Markupに以下のJavaScriptを追加します。

このスクリプトはfinMessengerDataイベントを監視し、エンコードされたJWTとApp IDでFin Messengerを動的に読み込みます。

<script>
window.addEventListener('finMessengerData', function (e) {
const finMessengerData = e.detail;

// Do not boot if no JWT
if (finMessengerData.jwt == null) {
return;
}

window.intercomSettings = {
app_id: finMessengerData.appId,
intercom_user_jwt: finMessengerData.jwt,
api_base: "https://api-iam.intercom.io"
};

loadIntercom(finMessengerData.appId);
});

function loadIntercom(appId){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',w.intercomSettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Intercom=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/'+appId;var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);};if(d.readyState==='complete'){l();}else{if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}}}
</script>

重要: api_baseの値は地域に応じて更新する必要があります。以下の表から適切な値を選んでください:

地域

設定するAPIベース

米国

https://api-iam.intercom.io

欧州連合

https://api-iam.eu.intercom.io

オーストラリア

https://api-iam.au.intercom.io

5. SalesforceのウェブページにFin Messengerコンポーネントを追加する

Salesforceで:

  1. Setup > Sites > (your site) Builderに移動します。

  2. Fin Messengerコンポーネントをポータルページにドラッグ&ドロップして展開します。

6. Finに送信されるユーザーデータを制御するためにApexクラスを編集する

Salesforceで:

  1. Setup > Apex Classes > JwtGeneratorに移動します。

  2. Editをクリックします。

以下が可能です:

  • Salesforceクエリを更新して、現在のユーザー情報の取得方法を定義します。

  • userIdの一意のユーザー識別に使用するフィールドを選択します。

  • additionalAttributes追加して、Finに送信されるユーザーデータ属性を増やします。


よくある質問

FinのApp IDはどこで確認できますか?

Settings > Generalに移動します。App IDはApp detailsセクションに記載されています。

JWT Secret Keyはどこで確認できますか?

Settings > Fin Messengerで、JWT Secret Keyをコピーします。

メッセンジャーが読み込まれない場合は?

CSP settingsを確認してください。信頼済みスクリプトURLと信頼済みURLが正しく設定されており、セキュリティレベルがRelaxed CSPに設定されていることを確認してください。

Finに送信されるユーザーデータを制限できますか?

はい。JwtGenerator Apex Classを編集して、含めるユーザーフィールドと属性をカスタマイズできます。

こちらの回答で解決しましたか?