質問

旧バージョンのSalesforceインテグレーションには、多くの同期機能が含まれていました。新しいSalesforceインテグレーションを使用して同様のことを行うにはどうすればよいですか? 

回答 

データ同期は、マッピングされたフィールドがSalesforceレコードで更新されたとき、または新しいレコードが作成されたときにトリガされます。マッピングされていないフィールドが更新されても同期はトリガされません。詳細については、この記事を参照してください:「SalesforceからZendeskへのデータ同期の設定」

レコードがバッチで作成または更新された場合や、Salesforce APIを使用してレコードが作成または更新された場合、旧バージョンのインテグレーションは起動しませんでした。この方法で作成または更新されたレコードをZendeskで更新するには、手動のバッチ同期が必要でした。

新しいSalesforceインテグレーションには、この制限はありません。バッチ更新またはAPI更新により、マッピングされたフィールドの1つが変更された場合に、Zendeskとの同期がトリガされます。このワークフローに従って、API経由でSFDC内の多くのレコードを更新するバッチ同期機能を実装できます。

メモ: 同期及び次のワークフローは、SalesforceストリーミングAPIが使用されます。そのため、プランレベルごとに料金制限が課されます。関連する制限は次のとおりです。すべてのCometDクライアントによって共有される24時間以内に配信されるイベント通知の最大数。この制限を超えると、同期が非アクティブになります。

現在のレート制限や使用状況を確認する方法については、次の記事を参照してください:「ストリーミングAPIの制限と使用状況を確認するにはどうすればよいですか?」

次の例は特にアカウント同期についてですが、同様の方法で取引先責任者またはリードを同期することもできます。この説明では、Salesforce内に新しいカスタムフィールドが作成されることを説明していますが、このメソッドではチェックボックスフィールドは必要ありません。唯一の要件は、非数式フィールドがSFDCにあり、「管理センター」内にマッピングされていることです。このフィールドは、バッチで変更して、同期の基になるストリーミングAPIイベントをトリガすることができます。

2つのビルトインSFDCツールを使用して多くのレコードを同期するには、以下の手順を実行します。

    1. 「Salesforceとの同期」と呼ばれるカスタムチェックボックス構成フィールドをZendeskで作成します。
      sync_with_salesforce_field.png
    2. 「Zendeskとの同期」と呼ばれるSalesforceのチェックボックスアカウントフィールドを作成します。 デフォルト値はFalseに設定してください。
      sync_with_zendesk_checkbox.png
    3. 管理センターで2つのフィールドを相互にマッピングします:https://yoursubdomain.zendesk.com/admin/platform/integrations/salesforce/accounts_organizations 
      Screen_Shot_2020-01-06_at_9.17.06_AM.png
    4. SFDC内に次の2つの情報を含むレポートを作成します:
      • SFDCアカウントID
      • ステップ2のZendeskとの同期アカウントフィールド
        Screen_Shot_2020-01-06_at_11.09.16_AM.pngScreen_Shot_2020-01-06_at_11.09.24_AM.png
    5. ステップ4のレポートの詳細行をCSVとしてエクスポートします。
      Screen_Shot_2020-01-06_at_11.10.32_AM.png
      Screen_Shot_2020-01-06_at_11.11.00_AM.png
    6. 選択したスプレッドシートエディタで、CSVファイルの「Zendeskとの同期」の列を更新して、更新前とは逆にします。Falseの場合はTrueに設定するか、またはその逆を行います。
    7. 更新したCSVをSFDCにインポート(Dataloaderのようなツールを使用)して、すべてのアカウントを更新します。
      Screen_Shot_2020-01-06_at_11.14.10_AM.png
      Screen_Shot_2020-01-06_at_11.14.39_AM.png
      Screen_Shot_2020-01-06_at_11.17.26_AM.png

      sfdc_dataloader.png
      このアップサートまたは更新には、一括APIではなくバッチAPIを使用します。
       
    8. SFDCレコードを更新したら、バックグラウンドジョブが完了するまでしばらく待ちます。この待ち時間の長さは、同期させるレコードの数によって異なります。数百件のレコードの場合、数分しかかかりません。数万件のレコードの場合は、30分~1時間かかることがあります。
    9. すべてのレコードが同期されたら、ステップ3のマッピングを削除し、ステップ1と2で作成したフィールドを削除します。または、それらをそのままにして、後で同期を手動でトリガすることもできます。
メモ:これらの手順では、Dataloaderを使用したインポート処理について説明します。他のSalesforceインポートツールもZendeskインテグレーションと連携できます。ただし、インポートに使用するのは、一括APIではなくバッチAPIを使用する必要があります。この理由は、Salesforce APIのこの制限により、一括更新が同期に依存するPush Topicイベントを生成しないためです。たとえば、この記事の作成時点では、G-Connector拡張機能はバッチAPIの使用をサポートしていないため、そのツールを使用してSFDCレコードを更新しても同期はトリガされません。
Powered by Zendesk