質問
旧バージョンのSalesforceインテグレーションには、多くの同期機能が含まれていました。新しいSalesforceインテグレーションを使用して同様のことを行うにはどうすればよいですか?
回答
データ同期は、マッピングされたフィールドがSalesforceレコードで更新されたとき、または新しいレコードが作成されたときにトリガされます。マッピングされていないフィールドが更新されても同期はトリガされません。詳細については、この記事を参照してください:「SalesforceからZendeskへのデータ同期の設定」
レコードがバッチで作成または更新された場合や、Salesforce APIを使用してレコードが作成または更新された場合、旧バージョンのインテグレーションは起動しませんでした。この方法で作成または更新されたレコードをZendeskで更新するには、手動のバッチ同期が必要でした。
新しいSalesforceインテグレーションには、この制限はありません。バッチ更新またはAPI更新により、マッピングされたフィールドの1つが変更された場合に、Zendeskとの同期がトリガされます。このワークフローに従って、API経由でSFDC内の多くのレコードを更新するバッチ同期機能を実装できます。
現在のレート制限や使用状況を確認する方法については、次の記事を参照してください:「ストリーミングAPIの制限と使用状況を確認するにはどうすればよいですか?」
次の例は特にアカウント同期についてですが、同様の方法で取引先責任者またはリードを同期することもできます。この説明では、Salesforce内に新しいカスタムフィールドが作成されることを説明していますが、このメソッドではチェックボックスフィールドは必要ありません。唯一の要件は、非数式フィールドがSFDCにあり、「管理センター」内にマッピングされていることです。このフィールドは、バッチで変更して、同期の基になるストリーミングAPIイベントをトリガすることができます。
2つのビルトインSFDCツールを使用して多くのレコードを同期するには、以下の手順を実行します。
-
「Salesforceとの同期」と呼ばれるカスタムチェックボックス構成フィールドをZendeskで作成します。
- 「Zendeskとの同期」と呼ばれるSalesforceのチェックボックスアカウントフィールドを作成します。 デフォルト値はFalseに設定してください。
-
管理センターで2つのフィールドを相互にマッピングします:https://yoursubdomain.zendesk.com/admin/platform/integrations/salesforce/accounts_organizations
- SFDC内に次の2つの情報を含むレポートを作成します:
- SFDCアカウントID
- ステップ2のZendeskとの同期アカウントフィールド
- ステップ4のレポートの詳細行をCSVとしてエクスポートします。
- 選択したスプレッドシートエディタで、CSVファイルの「Zendeskとの同期」の列を更新して、更新前とは逆にします。Falseの場合はTrueに設定するか、またはその逆を行います。
- 更新したCSVをSFDCにインポート(Dataloaderのようなツールを使用)して、すべてのアカウントを更新します。
このアップサートまたは更新には、一括APIではなくバッチAPIを使用します。
- SFDCレコードを更新したら、バックグラウンドジョブが完了するまでしばらく待ちます。この待ち時間の長さは、同期させるレコードの数によって異なります。数百件のレコードの場合、数分しかかかりません。数万件のレコードの場合は、30分~1時間かかることがあります。
- すべてのレコードが同期されたら、ステップ3のマッピングを削除し、ステップ1と2で作成したフィールドを削除します。または、それらをそのままにして、後で同期を手動でトリガすることもできます。