HightouchのDestinationにZendeskを設定してUsersに同期してみた

2023.10.04

こんにちは、スズです。

Hightouchには様々なDestinationがあり、その中の1つにZendeskがあります。HightouchでGoogle BigQueryからZendeskにUsersにデータを同期してみましたので、本記事でご紹介します。

事前準備

同期するデータ

同期するデータとして、IDとEMAILのカラムのあるデータを用意しました。IDのカラムには各ユーザーのID、EMAILのカラムには各ユーザーのEメールアドレスが入っています。

Sourceの設定

データを同期するには、HightouchのSourceに同期する元データがある場所を設定する必要があります。今回はSourceにGoogle BigQueryを使用します。Google BigQueryをSourceに設定する手順については、以下のブログにてご紹介しておりますのでこちらをご参照ください。

ZendeskのAPIトークンの取得

ZendeskをDestinationに設定する方法や同期の設定については、Hightouchのドキュメントに記載があります。今回は以下のドキュメントを参考に設定を行っていきます。

ZendeskをDestinationに設定するには、Zendesk APIを使用します。あらかじめZendeskの管理者画面にて、[アプリおよびインテグレーション] > [Zendesk API]にて[APIトークンを追加]をクリックして取得します。

DestinationにZendeskを追加する

ここからはHightouchの操作を行っていきます。まずはHightouchのDestinationにZendeskを追加します。Hightouchの[Destinations]を開き、[Add destination]をクリックします。

DestinationとしてZendeskを選択し、[Continue]をクリックします。

以下の項目をを入力して[Continue]をクリックします。

  • Support URL:同期するZendeskのURL(https://*****.zendesk.com)を入力します。
  • Email:Zendeskへのログインに使用するEmailを入力します。今回はAPIトークンを作成したアカウントのEmailを入力します。
  • API Token:Zendeskで作成したAPIトークンを入力します。

Destination nameを入力して[Finish]をクリックします。Destination nameは、Hightouchの画面上でDestinationの表示名として使用されます。

これでDestinationの設定が完了です。画面右上の[Test connestion]をクリックすると、Destinationに接続テストを行えます。

Modelの作成

続いてModelにZendeskに転送したいデータを定義していきます。[Models]を開き、[Add model]をクリックします。

転送するデータが保存されているSourceを選択します。

Modelの作成方法を選択します。今回は[Table selector]を選択します。

当該のSourceのテーブルの一覧が表示されます。使用するテーブルを選択して[Continue]をクリックします。

Model nameなどを入力します。Primary Keyには主キーとなるカラムを選択します。設定後、[Finish]をクリックします。

これでModelを作成は完了です。

ZendeskのUsersにデータを同期する

最後に、Zendeskにデータを同期してみます。同期の設定は、[Syncs]を開き、[Add sync]をクリックして追加します。

同期するモデルを選択します。ここでは前項で作成したModelを選択しています。

データの同期先となるDestinationを選択します。今回は初めに作成したZendeskのDestinationを選択しています。

Zendeskへの同期の設定をしていきます。ここでは初めにオブジェクトを選択します。オブジェクトは以下の中から選択できます。今回はUsersを選択します。

  • Users
  • Organizations
  • Tickets
  • Custom Objects
  • Organization Memberships

※Custom Objectsは同期先のZendeskアカウントにCustom Objectsがある場合に表示されます。

オブジェクトの選択後、同期モードなどの設定を行っていきます。主な設定として以下の設定があります。

レコードの更新方法

オブジェクトがUsersの場合、以下の2つからレコードの更新の方法を選択します。今回はUpsertを選択しています。

  • Upsert: 新しいレコードのプッシュと変更されたレコードの更新を行います。
  • Update: 既存のレコードの特定のフィールドを更新します。

レコードの照合

SourceとDestinationの間のレコードを照合する方法を選択します。今回はGoogle BigQueryのIDのカラムとZendeskのExternal IDのフィールドを選択しています。

マッピングの方法

SourceのカラムとDestinationのフィールドをマッピングします。今回はGoogle BigQueryのEMAILのカラムとZendeskのemailのフィールドをマッピングします。

設定後、[Continue]をクリックします。

同期の設定の最後に、スケジュールタイプを選択します。今回は手動で実行するため、Manualを選択して[Finish]をクリックします。

これで同期の設定は完了です。[Run sync]をクリックすると、同期が行えます。

同期を行った結果は以下の画像のように表示されます。今回はステータスがWarningになっています。クリックして詳細を確認します。

Successfulには成功したレコードが一覧で表示されています。

Rejectedを確認すると、Emailがnullになっているレコードが確認できました。エラーのView errorをクリックすると詳細を確認することができます。

最後に

HightouchでGoogle BigQueryからZendeskへの同期を試してみました。

参考