Zendesk for Salesforceインテグレーションは、SalesforceからZendesk Supportへの一方向のデータ同期を行います。この記事では、2種類のデータ同期を設定する方法について説明します。
- Salesforceの取引先からZendeskの組織へ:Salesforceの取引先が作成または変更されると自動的にSupportのZendeskの組織が作成および更新されます。
- Salesforceの取引先責任者からZendeskユーザーまたはリードへ:Salesforceで取引先責任者またはリードが作成または変更されると、SupportのZendeskユーザーが自動的に作成および更新されます。
関連記事:
データ同期プロセスについて
マッピングされたフィールドで既存のSalesforceレコードが更新されるか、新しいレコードが作成されると、データ同期がトリガされます。マッピングされていないフィールドが更新されてもフィールドの同期はトリガされません。
Salesforceのレコードが作成または変更されると、同期処理により、Zendesk Supportに新規レコードを作成するか、既存のレコードを更新するかが決定されます。この処理では、定義された条件に基づいてフィールド値の比較が行われます。
Supportで既存のレコードとの一致が見つかるか、新しいレコードが作成されると、SalesforceのレコードとSupportのレコードがリンクされます。つまり、Salesforceでその後レコードが更新されても、照合条件が使用されることはありませんが、その代わり、リンクされたSupportのレコードが更新されます。
一致する結果が複数見つかった場合、同期処理ではどのレコードを更新する必要があるかを判断できません。これはバックグラウンドで行われる処理であるため、同期中はレコードを更新せず、同期エラーのイベントをログに記録します。
Salesforceユーザーが、マッピングされたフィールドをSalesforceのフロー、セールスプロセス、またはApexトリガを介して間接的に更新した場合、間接更新をトリガしたユーザーがマッピングされたフィールドに対する編集権限を持っていないと、フィールドがZendeskに同期されないことがあります。
Salesforce APIを使用してマッピングされたフィールドに対してレコードが作成または更新されると、Zendeskへの同期が開始されます。
データの同期は一方向であるため、Zendesk側で加えた変更はSalesforceには反映されません。
Salesforceの取引先からZendeskの組織への同期
Salesforceの取引先からZendeskの組織への同期は1対1の同期であり、デフォルトでは取引先名と組織名でレコードを照合しますが、すべてのSalesforce実装がこのルールに従っているわけではありません。したがって、取引先名が重複している場合は、別の一意の取引先フィールドに対して変更を加えることができます。一意の取引先フィールドがない場合、この機能は適切に動作しない可能性があります。
このデータ同期には以下のような制限があります。
- データの同期はSalesforceストリーミングAPIのガバナー制限を消費します。たとえば、同期するデータが大量にある場合、これはガバナー制限を超え、データが同期されなくなる可能性があります。
- Salesforceの「個人取引先」はZendeskの「組織」としてインポートされます。Salesforceの個人取引先をZendeskのユーザーとして追加したい場合、ユーザーの一括インポートを実行するか、Salesforce固有の情報を指定してCreate user APIを使用します。
Salesforceの取引先責任者またはリードからZendeskユーザーへの同期
Salesforceの取引先責任者またはリードからZendeskのユーザーへの同期は、一意のメールアドレスに基づいて1対1で行われますが、すべてのSalesforce実装がこれらのルールに従っているわけではないため、この機能がニーズに適しているかどうかを検討してください。
このデータ同期には以下のような制限があります。
- セキュリティ上の理由から、Zendeskユーザーがエージェントまたは管理者である場合、Salesforceの取引先責任者とZendeskユーザーとの同期は行われません。
- データの同期はSalesforceストリーミングAPIのガバナー制限を消費します。たとえば、同期するデータが大量にある場合、これはガバナー制限を超え、データが同期されなくなる可能性があります。
データ同期の設定
データ同期を設定するには、SalesforceおよびZendeskの管理センターでいくつかのタスクを実行する必要があります。
インテグレーションでデータ同期を設定するには
Salesforce APIの設定と権限の設定
データ同期を設定する前に、データ同期が正常に行われるよう、一部のSalesforce APIの設定と権限を有効にする必要があります。次の手順の情報は、Salesforce Lightningエディション用に記述されています。
Salesforce APIを有効にするには
- Salesforceの「Setup」ページで、「Administration」>「Users」>「Profiles」を選択します。
- 「System Administrator」または認証されたユーザーのプロフィールを選択します。
- 「System Permissions」をクリックし、「API enabled」チェックボックスを選択します。
ストリーミングAPIチャネルのアクセス権限を設定するには
- Salesforceの「Setup」ページで、「Administration」>「Users」>「Profiles」を選択します。
- インテグレーションを設定する管理者のユーザープロフィールを選択します。
- 「Object Settings」>「Streaming Channels」をクリックし、「Object Permissions」で「Read」チェックボックスを選択します。
PushTopicの権限を設定するには
- Salesforceの「Setup」ページの左側のサイドバーで、「Administration」>「Users」>「Profiles」を選択します。
- インテグレーションを設定する管理者のユーザープロフィールを選択します。
- 「Object Settings」>「Push Topic」の順にクリックして、「Edit」をクリックします。
- 「Object Permissions」で、「Read」チェックボックスを選択し、「Save」をクリックします。
ストリーミングAPIを有効にするには
- Salesforceの「Setup」ページの左側のサイドバーで、「Platform tools」>「User Interface」>「User Interface」を選択します。
- 「Setup」で、「Enable Streaming API」チェックボックスを選択します。
Salesforceの取引先からZendeskの組織への同期設定
次の手順では、Salesforceの取引先が作成または変更されたときに、SupportにZendeskの組織が自動的に作成および更新されるように同期を設定する方法について説明します。
Salesforceの取引先からZendeskの組織への同期を設定するには
- 管理センターで、サイドバーの「 アプリおよびインテグレーション」をクリックし、「インテグレーション」>「インテグレーション」を選択します。
- Salesforceで「設定」をクリックします。
- 「データの同期」サイドタブをクリックし、「取引先と組織の同期」で「設定」をクリックします。
- 「同期を有効にする」チェックボックスを選択し、取引先と取引先フィールドのZendeskへの同期を設定します。
- 「同期のフィルタリング」で、条件付きフィルターを設定して、Salesforceのどの取引先をZendeskに同期するかを定義します。詳細については、「同期フィルタリングについて」を参照してください。
- 「照合条件」で、Salesforceの取引先をZendeskの組織に対応させるための照合条件を設定します。詳細については、「照合条件について」を参照してください。
- 「フィールドのマッピング」で、Zendeskの組織フィールドに同期データを表示させるSalesforceの取引先項目をマッピングします。詳細については、「フィールドマッピングについて」を参照してください。
- 「同期された組織のマッピング」では、Zendeskの組織をSalesforceの取引先にマッピングすることを選択できます。任意の標準またはカスタムのSalesforceの取引先項目を選択できます。この一方向同期は、Salesforceの取引先にリンクされたZendeskユーザーを表示するのに便利です。メモ:このマッピングフィールドは、Zendeskが組織IDを送信する場所です。このデータを書き込むフィールドを選択します。すでに入力されているデータがある場合は、上書きされます。Salesforceインテグレーションでは、最初の同期に成功したときにだけ、同期された組織のマッピングフィールドに組織IDが自動入力されます。2回目以降の同期では、Salesforceのこの項目にデータは自動入力されません。
- 外部IDをZendeskの組織外部IDフィールドに入力する場合は、「Zendeskの外部ID」のチェックボックスをオンにします。これは、Salesforceの取引先IDにのみ設定できます。メモ:既存の外部ID値は上書きされ、元に戻すことはできません。これは、このフィールドに依存する他のアプリケーションに影響を与える可能性があります。この変更は、「保存」をクリックした場合にのみ適用されます。
- 「保存」をクリックして設定を保存します。保存された設定の確認が表示されます。
Salesforceの取引先責任者またはリードからZendeskユーザーへの同期設定
次の手順では、Salesforceの取引先責任者またはリードが作成または変更されたときに、SupportでZendeskユーザーが自動的に作成および更新されるように同期を設定する方法について説明します。
Salesforceの取引先責任者またはリードからZendeskのユーザーへの同期を設定するには
- 管理センターで、サイドバーの「 アプリおよびインテグレーション」をクリックし、「インテグレーション」>「インテグレーション」を選択します。
- Salesforceで「設定」をクリックします。
- 「データの同期」サイドタブをクリックし、「取引先責任者/リードのユーザーへの同期」で「設定」をクリックします。
- 「同期を有効にする」チェックボックスを選択し、取引先責任者またはリードと関連する項目をZendeskに同期させるように設定します。
- 「同期タイプ」で、Salesforceの取引先責任者またはリードに基づいてZendeskユーザーを作成するかどうかを選択します。選択できるのは1つだけです。
- 「同期のフィルタリング」で、条件付きフィルターを設定して、Zendeskに同期させるSalesforceの取引先またはリードの取引先責任者を選択します。詳細については、「同期フィルタリングについて」を参照してください。
- 「照合条件」で、Salesforceの取引先責任者またはリードとZendeskのユーザーとを照合させる条件を設定します。詳細については、「照合条件について」を参照してください。
- 「フィールドのマッピング」で、Zendeskのユーザーフィールドに同期データを表示させるSalesforceの取引先責任者またはリードの項目をマッピングします。詳細については、「フィールドマッピングについて」を参照してください。
- 「同期されたユーザーのマッピング」では、ZendeskのユーザーをSalesforceの取引先責任者またはリードにマッピングすることを選択できます。任意の標準またはカスタムのSalesforce取引先責任者/リードの項目を選択します。この一方向同期は、Salesforceの取引先責任者またはリードにリンクされているZendeskユーザーを表示するのに便利です。メモ:このマッピングフィールドは、ZendeskがユーザーIDを送信する場所です。このデータを書き込むフィールドを選択します。すでに入力されているデータがある場合は、上書きされます。Salesforceインテグレーションでは、最初の同期に成功したときにだけ、同期されたユーザーのマッピングフィールドにユーザーIDが自動入力されます。2回目以降の同期では、Salesforceのこの項目にデータは自動入力されません。
- 外部IDをZendeskのユーザーの外部IDフィールドに入力する場合は、「Zendeskの外部ID」のチェックボックスをオンにします。これは、Salesforceの取引責任者IDにのみ設定できます。メモ:既存の外部ID値は上書きされ、元に戻すことはできません。これは、このフィールドに依存する他のアプリケーションに影響を与える可能性があります。この変更は、「保存」をクリックした場合にのみ適用されます。
- 「一般的なオプション」で、「登録確認メールを送信する」チェックボックスを選択して、Supportの新規ユーザーに登録確認メールを送信するが送信されるようにします。詳細については、「エンドユーザーアカウントのメールのカスタマイズ」を参照してください。
- 「保存」をクリックして設定を保存します。保存された設定の確認が表示されます。
同期フィルタリングについて
「データ同期」>「同期のフィルタリング」セクションでは、Zendeskの組織に同期させるSalesforceの取引先をフィルタリングしたり、Zendeskのユーザーに同期させるSalesforceの取引先責任者またはリードを選択できます。条件文を作成して同期を制御できます。フィルターが設定されていない場合は、すべての取引先が同期の対象となります。
同期フィルター条件を作成するには、フィールド、演算子、および値を指定します。
- 以下の条件をすべて満たす:Salesforceレコードを同期に含めるには、このセクションに追加されたすべての条件を満たす必要があります。
- 以下のいずれかの条件を満たす:Salesforceレコードを同期に含めるには、このセクションに追加された条件を1つ以上満たす必要があります。
同期のフィルタリングには次のルールがあります。
- すべての値は大文字と小文字が区別される
- 条件内で複数の値をカンマで区切ることができる(スペース不要)
- 同期フィルターでSalesforceの選択リスト項目を使用する場合、値は選択リストオプションのAPI名であることが必要
- Salesforceの「Account Record Type」項目はサポートされていない
- チェックボックス型のフィールドを条件として使用する場合は、「true」または「false」の値を入力する
Salesforceの以下の項目は、フィールドのフィルタリングではサポートされません。
- 数式項目
- ルックアップ項目
- ロングテキストエリア項目
- 通貨項目
照合条件について
「データの同期」>「照合条件」セクションでは、Salesforceの取引先をZendeskの組織に、またはSalesforceの取引先責任者またはリードをZendeskユーザーに対応させるための条件が設定されています。Salesforceのレコードが作成または変更されると、同期プロセスによってSupport内に新しい組織またはユーザーを作成するか、または既存の組織またはユーザーのレコードを更新するかどうかが確認されます。この確認では、「照合条件」に設定された値が比較されます。条件の一致が見つかると、フィールドのマッピング設定に従って対応するフィールドが更新されます。
Zendeskのフィールドのドロップダウンオプションは、Salesforceのフィールドのドロップダウンで選択したフィールドのタイプに応じて変わります。標準フィールドとカスタムフィールドの対応がサポートされています。
メモ:
- 現在、照合条件は1つしかサポートされていません。
- 一致する結果が複数見つかった場合、どのレコードを更新する必要があるかを判断できないため、同期は成功しません。この場合、進行中の同期ではレコードを更新せず、失敗した同期イベントを記録します。
フィールドのマッピングについて
フィールドのマッピングセクションでは、Salesforceの項目をZendeskのフィールドにマッピングできます。Salesforceの取引先、取引先責任者、リードの各項目は、Zendeskの標準フィールドまたはカスタムフィールドにマッピングする必要があります。マッピングされたフィールドは同期中に更新されます。
Salesforceデータは、マッピングされたフィールドのいわゆるSSOT(信頼できる唯一の情報源)です。同期時に、マッピングされたZendeskフィールドにデータが含まれている場合、Salesforceデータで上書きされます。Zendeskのデータが上書きされないようにしたい場合は、そのフィールドをマッピングしないでください。ただし、「Tags」、「Email」、「Phone」のフィールドは例外です。これらのフィールドについては、同期時にSalesforceの値が追加されます。同期を実行すると、Salesforceのメールアドレスは、Zendeskにセカンダリメールアドレスとして追加されます。
マッピングする際に、複数選択リストのSalesforce項目を選択すると、「Mapped values」リンクが表示されます。このリンクをクリックすると、複数のSalesforceフィールドをZendeskフィールドにマッピングするためのウィンドウが開きます。
この場合、複数のSalesforce項目をZendeskの1つのフィールドにマッピングすることは避けてください。複数のSalesforce項目を1つの同じZendeskフィールドにマッピングした場合、同期されるのは最後にマッピングされたフィールドのみになります。
次のSalesforce項目は、フィールドのマッピングではサポートされません。
- ロングテキストエリア
- テキストエリア(リッチ)
- テキストエリア(暗号化)
- ルックアップ項目。ルックアップ項目の値は関連するSalesforceオブジェクトに保存されているため、Salesforceのルックアップ項目をZendeskにマッピングすることはできません
- レコードタイプID
Salesforceの取引先からZendeskの組織へのフィールドのマッピング
「データの同期」>「取引先と組織の同期」の「フィールドのマッピング」セクションでは、Zendeskの組織フィールドに同期データを表示させるSalesforceの取引先項目をマッピングします。これにより、Zendeskの組織名として同期されるSalesforceの取引先レコードのフィールドが決定されます。デフォルトでは、Salesforceの取引先名がZendeskの組織名にマッピングされます。
Zendeskのフィールドのドロップダウンオプションは、Salesforceの項目のドロップダウンで選択したフィールドのデータ型に応じて変わります。次の表に、ZendeskフィールドにマッピングできるSalesforce項目のデータ型を示します。
Salesforce項目のデータ型 | Text |
ドロップダウン |
小数 |
チェックボックス |
日付 | 数値 |
ID | ✓ | |||||
文字列 | ✓ | |||||
電話番号 | ✓ | |||||
選択リスト | ✓ | ✓ | ||||
通貨 | ✓ | ✓ | ||||
ブール値 | ✓ | ✓ | ||||
チェックボックス | ✓ | |||||
日時 | ✓ | ✓ | ||||
番号 | ✓ | ✓ | ||||
Double | ✓ | ✓ | ||||
日付 | ✓ | ✓ | ||||
マルチセレクト 選択リスト |
✓ | |||||
メールアドレス | ✓ |
Salesforceの取引先責任者またはリードからZendeskユーザーへのフィールドのマッピング
「データの同期」>「取引先責任者/リードのユーザーへの同期」の「フィールドのマッピング」セクションでは、Zendeskのユーザーフィールドのデータを自動入力したいSalesforceの取引先責任者またはリードの項目をマッピングします。これにより、Zendeskのユーザーとして同期されるSalesforceの取引先責任者またはリードのレコードの項目が決定されます。デフォルトで、フィールドのマッピングはメールからメールへに設定されます。
Zendeskのフィールドのドロップダウンオプションは、Salesforceの項目のドロップダウンで選択したフィールドのデータ型に応じて変わります。次の表に、ZendeskフィールドにマッピングできるSalesforce項目のデータ型を示します。
Salesforce項目のデータ型 | Text |
ドロップダウン |
小数 |
チェックボックス |
日付 | 数値 |
ID | ✓ | |||||
文字列 | ✓ | |||||
電話番号 | ✓ | |||||
選択リスト | ✓ | ✓ | ||||
通貨 | ✓ | ✓ | ||||
ブール値 | ✓ | ✓ | ||||
チェックボックス | ✓ | |||||
日時 | ✓ | ✓ | ||||
番号 | ✓ | ✓ | ||||
Double | ✓ | ✓ | ||||
日付 | ✓ | ✓ | ||||
マルチセレクト 選択リスト |
✓ | |||||
メールアドレス | ✓ |
データ同期の設定の確認
次のチェックリストを使用して、データの同期が正しく設定されていることを確認してください。
- インテグレーションに必要な、適正なSalesforce APIの設定要件が満たされていることを確認してください。
- 1つのZendeskアカウントに1つのSalesforceアカウントしか接続していないことを確認します。
- 同期フィルター:数式フィールドやルックアップフィールドなど、サポートされていないSaleforce項目を使用していないことを確認します。
- 同期フィルター:同期フィルターの値で正しい構文を使用していることを確認します。これらは大文字と小文字を区別し、Salesforce項目の値と完全に一致する必要があります。フィルタリングにSalesforceの選択リスト項目を使用する場合、値はAPI名です。
- フィールドマッピングの同期:フィールドのマッピングに名前から名前へが含まれていることを確認します。Zendeskの組織は名前なしでは作成できないため、これは必須です。
- フィールドマッピングの同期:ZendeskのドロップダウンフィールドオプションやSalesforceのピックリストオプションを追加または削除した場合、同期エラーを解決したり、新しいオプションを追加したりするために、フィールドを削除してマッピングをやり直す必要がある場合があります。
- 同期をテストするときに、ZendeskにマッピングされているSalesforceの項目を更新しましたか?同期は、マッピングされた項目が更新されたときにのみ開始されます。
- 管理センターのエンドユーザーページで「ユーザーの電話番号の検証」を有効にしている場合、ZendeskはSalesforceから同期されたすべての電話番号が有効な国際E.164形式であることを確認します。Zendesk Supportで電話番号の検証エラーを回避するには、Salesforceでプラス記号(+)を含むE.164形式を使用して電話番号をフォーマットしてください。詳細については、「Salesforceから同期された電話番号の国コードが失われるのはなぜですか?」を参照してください。