Zendesk Supportでは、ルックアップリレーションシップフィールドを使用して、オブジェクト間に多対一のリレーションシップを作成できます。しかし、多対多のリレーションシップの方がより正確に表現できるシナリオは数多く存在します。たとえば資産管理ワークフローで、従業員に複数の資産を割り当てる一方で、個々の各資産を複数の従業員に割り当てるような場合です。
この記事では、カスタムオブジェクトとルックアップリレーションシップフィールドを使用して、データが豊富な多対多のリレーションシップをZendeskに定義する方法を説明します。
オブジェクトのリレーションシップについて
- 多対一:最初のオブジェクトのレコードは、2つ目のオブジェクトのレコードと、0件、1件、または複数件の関係を持つことができます。ルックアップリレーションシップフィールドはこのように機能し、フィールドが作成されたオブジェクトが最初のオブジェクト、ターゲットとして選択されたフィールドが2つ目のオブジェクトとなります。たとえば、エンドユーザーは多くのリクエスト(チケット)を提出することができますが、各チケットのリクエスタ(エンドユーザー)は一人です。
- 多対多:最初のオブジェクトのレコードは、2つ目のオブジェクトのレコードと、0件、1件、または複数の関係を持ちます。そして、2つ目のオブジェクトの各レコードも、最初のオブジェクトのレコードと、0件、1件、または複数の関係を持ちます。たとえば、エージェントを複数のグループに割り当てることができ、各グループには複数のエージェントを含めることができます。
Zendeskには、ユーザーとチケット(チケットのリクエスタ、担当者、フォロワー)、チケットと組織、エージェントとグループといった標準のリレーションシップがすでにいくつか定義されています。管理者は、ルックアップリレーションシップフィールドを使用して、オブジェクト間のカスタムリレーションシップを定義することもできます。ルックアップリレーションシップフィールドは、カスタムオブジェクトレコードのデータをZendeskワークフローに取り込む方法を決定します。また、これらのフィールドを使用することで、標準のZendeskオブジェクト間のカスタムリレーションシップを定義することもできます。ただし、多対一または多対多となる標準のオブジェクトリレーションシップとは異なり、ルックアップリレーションシップフィールドによる定義は常に多対一のリレーションレーションシップになります。
- 多対多のリレーションシップを作成したい2つのオブジェクトを見つけます。この2つがメインのオブジェクトになります。
- 2つのルックアップリレーションシップフィールド(1つは最初のメインオブジェクトを参照し、もう1つは2番目のメインオブジェクトを参照する)と、その他必要なカスタムフィールドを含む仲介オブジェクト(連結オブジェクト)を作成します。
- 連結オブジェクトのレコードを作成します。
作成したレコードはメインオブジェクトの下に関連レコードとして表示されます。
例:資産管理の多対多のリレーションシップの作成
複雑な多対多のリレーションシップには、役に立つユースケースが数多くあります。たとえば、従業員に割り当てられた資産をITチームが管理する例を見てみましょう。このシナリオでは、従業員は通常複数の資産に割り当てられており、資産の中には一度に複数のユーザーに割り当てられていることがあります。
メインのオブジェクトを見つける
このシナリオでは、「ユーザー」と「資産」の2つがメインのオブジェクトです。
「ユーザー」は、アカウントのすべてのロールのユーザーを記録するZendeskの標準オブジェクトです。ここでは、従業員に関連するユーザーレコードに焦点を当てます。ユーザーレコードは、名前、メールアドレス、電話番号などの標準フィールドと、管理者が追加で作成したカスタムユーザーフィールド(選択した通信チャネルや宛先など)で構成されます。
- 資産名:資産の名称を入力するテキストフィールド。
- シリアル番号:ハードウェア資産に関連するシリアル番号を記録するテキストフィールド。
- 製品タイプ:以下の選択オプションを含むドロップダウンフィールド。ハードウェア、ソフトウェア、およびサブスクリプション。
- 購入日:資産を取得した日付を表示する日付フィールド。
- 保証期限:資産の保証期間が切れる日付を表示する日付フィールド。
この例では、ユーザーレコードと資産レコードはインポート済みです。レコードがない場合は、管理者がデータインポーターを使用してレコードを一括インポートできます。
連結オブジェクトを作成する
このシナリオでは、連結オブジェクトを使用して複数のユーザーと資産を関連付けます。これは、オブジェクトに少なくとも2つのルックアップリレーションフィールドを追加し、1つのフィールドをメインオブジェクトのそれぞれに接続することで実現します。
- 管理センターで、サイドバーの「 オブジェクトとルール」をクリックし、「カスタムオブジェクト」>「オブジェクト」を選択します。
- 「オブジェクトを作成」をクリックします。
- 以下の情報を入力します。
- 名前:Asset assignment
- 複数表示名:Asset assignments
- オブジェクトキー: asset_assignment
- (オプション) 説明:多数のユーザーと多数のアセットを関連付ける連結オブジェクト。
- 「オブジェクトを作成」をクリックします。
- カスタムオブジェクトの「名前」フィールド(フィールドキーstandard::name)を開き、以下の変更を行います。
- 「名前」を「割り当てID」に変更します。
- 「レコード名タイプ」で「自動ナンバリングでレコードに名前を付ける」を選択し、「Assignment#」のプレフィックスと「0000001」の開始番号を入力します。
メモ:カスタムオブジェクトのレコードを作成した後から、レコード名の設定を変更することはできません。 - 「フィールド」タブをクリックし、「フィールドを追加」をクリックして、以下のカスタムフィールドをオブジェクトに追加します。
- 「ルックアップリレーションシップ」を選択します。「名前」を「Employee」に設定し、「関連オブジェクトを選択」で「User」を選択します。
- 「ルックアップリレーションシップ」を選択します。「名前」を「Asset」に設定し、「関連オブジェクトを選択」で「Asset」を選択します。
- 「日付」を選択し、「名前」を「Start date」に設定します。必要に応じて、資産の割り当てを開始した日付について説明を追加します。
- 「日付」を選択し、「名前」を「End date」に設定します。必要に応じて、割り当てを終了する日付について説明を追加します。
- 「複数行」を選択し、「名前」を「Notes」に設定します。必要に応じて、エージェントが割り当てに関する追加情報を入力するための複数行テキストフィールドについて説明を追加します。
リレーションシップを作成する
資産と従業員間のリレーションシップを作成するには、資産の割り当てレコードを作成します。ルックアップリレーションシップフィールドにより、資産の割り当てレコードのデータは関連オブジェクトのレコードにも表示されます。この場合、従業員のプロフィールには割り当てられているすべての資産がリストされ、資産のレコードには割り当てられているすべての従業員がリストされます。
この例では、2人のエージェント(William CarltonとHarper Yoshimotot)と3つの資産(A001、A002、A003)を含む資産の割り当てレコードを追加します。
- Supportで、サイドバーにあるカスタムオブジェクトアイコン()をクリックします。
- 「Asset assignment」オブジェクトを選択します。
- 「Asset assignment」リストで、「追加」をクリックします。
- 以下の情報を入力し、「追加」をクリックして各レコードを保存し、次に「追加」をクリックし、続けて次のレコードの作成を開始します。
レコード名に付けられる自動番号は編集できません。
Assignment ID:Assignment#0000094- 従業員:William Carltonを選択します。
- 資産:A001を選択します。
- 開始日:2022年8月5日を選択します。
- メモ:「新しい従業員」と入力します。
Assignment ID:Assignment#0000096- 従業員:William Carltonを選択します。
- 資産:A003を選択します。
- 開始日:2022年8月5日を選択します。
- メモ:「新しい従業員」と入力します。
Assignment ID:Assignment#0000095- 従業員:Harper Yoshimotoを選択します。
- 資産:A002を選択します。
- 開始日:2024年10月19日を選択します。
- 終了日:2025年04月19日を選択します。
- メモ:「新しい臨時従業員」と入力します。
Assignment ID:Assignment#0000097- 従業員:Harper Yoshimotoを選択します。
- 資産:A003を選択します。
- 開始日:2024年10月19日を選択します。
- 終了日:2025年04月19日を選択します。
- メモ:「新しい臨時従業員」と入力します。
リレーションシップを表示する
- ユーザープロフィール:従業員のプロフィールの「リレーション」タブには、割り当てられた資産のリストが表示されます。
- 資産のレコード:資産のレコードには、割り当てられた従業員のリストが表示されます。
- 資産の割り当てレコード:資産の割り当てレコードには、割り当てられた従業員と資産の両方が表示されます。
- William Carltonのプロフィールページの「リレーション」タブには、割り当て#0000094と割り当て#0000096の2つの資産の割り当てレコードが表示されています。
- Harper Yoshimotoのプロフィールページの「リレーション」タブには、割り当て#0000095と割り当て#0000097の2つの資産割り当てレコードが表示されます。
- 資産レコードA001には、William Carltonに割り当てられた1つの資産の割り当てレコード(Assignment#0000094)が表示されます。
- 資産レコードA002には、Harper Yoshimotoに割り当てられた1つの資産の割り当てレコード(Assignment#0000095)が表示されます。
- 資産レコードA003には、William CarltonとHarper Yoshimotoのそれぞれに割り当てられた、Assignment#0000096とAssignment#0000097の2つの資産の割り当てレコードが表示されます。