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