質問
Salesforceインテグレーションの既知の制限は、取引先、取引先責任者、またはリードのマップされた数式フィールドを更新しても、Zendeskへの同期がトリガを実行させないことです。次の記事で説明しているように、Salesforceの参照フィールドの値を同期するために式フィールドを使用している場合に、この問題が発生します。「Salesforce:Zendesk Supportの検索フィールド情報の連携について」この同期の問題は、式フィールドを変更してもストリーミングイベントが作成されないというSalesforce Streaming Events APIの制限によって発生します。
この問題を解決するには、いずれかの重要なSalesforceフィールドが変更されたときに自動的に更新される新しい非表示フィールドを使用して、自動化プロセス(「フロー」といいます)をSalesforce内に作成します。
回答
このソリューションには3つの要素があります。まず、Salesforceで新しいチェックボックスフィールドを作成し、非表示の同期トリガとして使用します。次に、対応するチェックボックスフィールドをZendesk内に作成し、同期マッピングに追加します。最後に、Salesforceフロービルダーを使用して、新しいチェックボックスフィールドを自動的に更新するフローを作成します。
Salesforce内に新しいフィールドを作成するには
- 「オブジェクトマネージャー」に移動し、同期するオブジェクトタイプを選択します。
- 「フィールドとリレーションシップ」に移動し、新しいフィールドを追加します。
- データのタイプとして「チェックボックス」を選択し、名前を入力します。たとえば、「Formula Fields Updated」と入力します。 デフォルトのオプションはチェックを外したままにしておきます。
- 適切なフィールドレベルのセキュリティを選択し、システム管理者がそのフィールドにアクセスできるようにします。
- レイアウトの設定ページで、すべてのオプションのチェックを外します。ユーザーが更新するためではなく、このフィールドはバックグラウンドプロセスでのみ使用され、ページ上に配置しないでください。
Zendeskで対応するフィールドを作成し、マッピングを更新するには
- 同期するのが組織かユーザーかに応じて、「ユーザーフィールド」ページまたは「組織フィールド」ページを開きます。
- 新しいチェックボックスフィールドを追加します。このフィールドに、Salesforceの同期目的専用であることを示す名前を付けます。たとえば、「Salesforce内部使用専用」などの名前を入力します。
- 新しいフィールドをSalesforceマッピングに追加します。次のセクションの手順に従ってください:「Salesforceの取引先責任者またはリードからZendeskユーザーへの同期設定」
- マッピングセクションで、新しいSalesforceチェックボックスのマッピングを新しいZendeskチェックボックスに追加し、設定を保存します。
Salesforceでフローを作成するには
- 「設定」>「プラットフォームツール」> 「プロセス自動化」> 「フロー」に移動して「新しいフロー」を選択します。
- 「レコードトリガフロー」を選択します。
- フィールドの変更時にこのフローをトリガするオブジェクト(アカウント/取引先/リード)を選択し、レコードの更新時にこのフローを実行することを指定します。
- ドロップダウンメニューの「条件の要件」で、「任意の条件を満たす(OR)」を選択します。次に、各関連フィールドで必要な条件を追加します。これは、数式フィールド自体ではなく、数式フィールドが基になっているフィールドです。
たとえば、「アカウントマネージャー名」という、管理センターにマッピングされている数式フィールドがある場合、フローは、アカウントマネージャーフィールド(数式のベースとなるルックアップフィールド)の変更に応答する必要があります。
各フィールドには、左側のフィールド、「変更済み」という演算子、「True」という値を含めます。 - 条件の追加が完了したら、「フローの最適化」で以下のいずれかのオプションを選択し、「完了」をクリックします。
-
- フィールドの即時更新
-
アクションと関連レコード
-
- フロービルダー内で「+」アイコンをクリックして、新しい要素を追加します。
- 「トリガレコードを更新」を選択します。
- このガイドの前半で作成したチェックボックスフィールドを選択するアクションを作成します。
- 手順7と8を繰り返しますが、今回はチェックボックスをオフにするアクションを作成します。
- 完成したフローは、以下のようになります。
- フローを保存してアクティブにします。
Salesforceのいずれかの参照フィールドを更新し、取引先または取引先責任者/リードがZendeskと期待通りに同期するかどうかを確認してください。