Zendeskでは、チケットやユーザー、組織など、カスタマーのデータを保存および処理するためのさまざまなタイプのネイティブデータオブジェクトが提供されますが、これらを「標準オブジェクト」と呼んでいます。しかし、標準オブジェクトは、組織が必要とする可能性のあるすべてのタイプのデータオブジェクトを提供できるわけではありません。管理者はカスタムオブジェクトを作成して、標準オブジェクトに収まらないデータを取得することができます。カスタムオブジェクトでZendeskデータモデルを拡張することで、カスタムデータをチケット、トリガ、Explore分析にシームレスに統合することができます。
カスタムオブジェクトを作成するには、実際のオブジェクトを作成し、カスタムフィールドでスキーマを定義し、オブジェクトを関連するオブジェクトに接続し、エージェントにカスタムオブジェクトのレコードへのアクセスを許可する必要があります。ワークフローでは、トリガでカスタムオブジェクトを参照させることもできます。
カスタムオブジェクトを作成する
技術的には、カスタムオブジェクトは、名前、キー、およびフィールドで構成されています。名前とキーはオブジェクトを識別するために使用され、フィールドはオブジェクトの属性のスキーマを作成します。スキーマには、オブジェクトの特定のインスタンスに関する情報は含まれていません。スキーマには、このタイプのオブジェクトに対して収集できる情報が記載されています。カスタムオブジェクトの作成は監査ログに記録されます。
カスタムオブジェクトの作成を始める前に、カスタムオブジェクトのワークフローを計画することをお勧めします。
カスタムオブジェクトを作成するには
- 管理センターで、サイドバーの「
オブジェクトとルール」をクリックし、「カスタムオブジェクト」>「オブジェクト」を選択します。
- 「オブジェクトを作成」をクリックします。
- 以下の情報を入力します。
- 名前:エージェントに表示されるオブジェクトの名前。
- 複数表示名:ナビゲーションやリストで使用する、オブジェクト名の複数形。
- オブジェクトキー:このオブジェクトに固有の識別子。
- (オプション) 説明:他の管理者にオブジェクトの目的を理解させるための説明文。92文字を超えた分の説明は、「オブジェクト」ページのリスト上の表示で切り捨てられます。
- (オプション)個々のレコードに画像アイコンを追加する:管理者および権限のあるエージェントは、このオブジェクトのレコードにアイコンを追加・管理できます。一度選択した後に選択を解除しても、既存のアイコンは削除しない限り表示されたままです。ただし、新しいレコードアイコンを追加することはできなくなります。
- 「オブジェクトを作成」をクリックします。
- カスタムオブジェクトの「名前」フィールド(フィールドキー standard::name)を開き、オブジェクトのレコードの名前の付け方を指定します。
- 手動でレコードに名前を付ける:デフォルトでは、エージェントは追加する各レコードの名前を手動で入力する必要があります。レコード名を一意の識別子として使用する場合は、必要に応じて「一意のレコード名が必要」を選択できます。
- 自動ナンバリングでレコードに名前を付ける:設定する構造に基づいて自動生成される一意の値でレコードを命名したい場合は、自動ナンバリングを選択します。
メモ:カスタムオブジェクトにレコードが存在する場合は、レコードの名前付け設定を変更できません。 - 「フィールド」タブをクリックして、カスタムフィールドをオブジェクトに追加します。これらのフィールドで、オブジェクトのスキーマまたはプロパティを作成します。
-
カスタムオブジェクトを関連するオブジェクトに接続します。このオブジェクトが、Zendesk内の他のオブジェクトやデータとどのように関連しているかを定義するデータモデルとなります。メモ:カスタムオブジェクトに対するすべてのリレーションシップをオブジェクト側で定義する必要はありません。他のカスタムオブジェクトにカスタムチケットフィールド、ユーザーフィールド、組織フィールド、またはルックアップフィールドを作成する必要があるかもしれません。詳しくは「リレーションシップの定義」を参照してください。
- (オプション)「順序を編集」をクリックして、レコードのプレビューでフィールドをドラッグアンドドロップしてエージェントに表示したい順序に並べ替えて、完了したら「保存」をクリックします。
- オブジェクトのレコードにアクセスするエージェントの権限を確認するには、「権限」タブをクリックします。Enterpriseプランでは、オブジェクトレコードに対する権限を設定できます。Team、Growth、Professionalの各プランでは、エージェントの権限はプリセットで定義されています。
カスタムオブジェクトのレコード名の付け方を設定する
カスタムオブジェクトは常に、「名前」と「外部ID」の2つのフィールドを持っています。通常、「名前」フィールドは、エージェントがレコードを作成するたびに値を手入力するためのテキストフィールドです。とはいえ、十分なトレーニングを受けても、データやレコード名のフォーマットに一貫性が欠ける場合があります。
管理者がレコード名を一意で識別しやすいものにするためには、ユニークな名前を必須にするか、自動ナンバリングを利用するかの2つの選択肢があります。一意性を必須にすることで、エージェントが一意の名前を入力するまでレコードを追加できないようにします。一方、自動ナンバリングは自動的に生成される一意のレコード名を提供します。
- 管理センターで、サイドバーの「
オブジェクトとルール」をクリックし、「カスタムオブジェクト」>「オブジェクト」を選択します。
- 編集するカスタムオブジェクトの名前をクリックします。
- 「フィールド」タブをクリックします。
- フィールドキーが「standard::name」のフィールドの表示名をクリックします。
デフォルトでは表示名は「名前」ですが、この値を変更することも可能です。フィールドキーは変更できないため、信頼性の高い識別子です。
- 「レコード名タイプ」で、オブジェクトのレコードの名前の付け方を設定します。
-
手動でレコードに名前を付ける:エージェントが手動で名前を入力する必要があります。
- 一意性を保証したい場合は、「一意のレコード名が必要」を選択してください。
-
自動ナンバリングでレコードに名前を付ける:一意のレコード名が自動的に生成されます。自動生成される名前の構造について、以下の詳細設定を指定します。
- 各レコード名の先頭に使用するプレフィックスを1~30文字で入力する。
プレフィックスのデフォルトは、カスタムオブジェクト名の最初の2文字です。
- 最初のレコードの開始番号を入力する。先頭にゼロを入力し、初期レコードの自動ナンバリングに使用する総桁数を定義します。最大9桁まで入力できます。デフォルトの開始番号は「0001」です。
右側の「プレビュー」ペインを使用して、自動トナンバリングのフォーマットを確認します。
- 各レコード名の先頭に使用するプレフィックスを1~30文字で入力する。
-
手動でレコードに名前を付ける:エージェントが手動で名前を入力する必要があります。
- 「保存」をクリックします。
カスタムフィールドでカスタムオブジェクトのスキーマを定義する
作成したカスタムオブジェクトを使用する前に、カスタムフィールドを追加する必要があります。これらのフィールドは、カスタムオブジェクトのプロパティまたはスキーマを定義し、エージェントがレコードを作成する際に使用されます。フィールドのリストは、名前のアルファベット順に並んでいます。
- 管理センターで、サイドバーの「
オブジェクトとルール」をクリックし、「カスタムオブジェクト」>「オブジェクト」を選択します。
- フィールドを追加したいカスタムオブジェクトの名前をクリックします。
- 「フィールド」タブをクリックし、「フィールドを追加」をクリックします。
- フィールドタイプを選択し、「表示名」を入力します。
- 「フィールドキー」の値が正しく指定されていることを確認します。
フィールドキーにより、API内でカスタムフィールドを参照できるようになります。フィールドの名前を入力すると、フィールドキーが自動的に入力されます。名前とキーを変更したい場合は、フィールドキーを編集する必要があります。カスタムオブジェクトフィールドを作成した後に、フィールドキーを変更することはできません。
- フィールドの他のプロパティを設定します。オプションのプロパティは、追加するフィールドのタイプによって異なります。
- 「保存」または「別のフィールドを追加」をクリックします。
- 必要に応じて、手順4~7を繰り返します。
エージェントのためにオブジェクトのフィールドを並べ替える
- 管理センターで、サイドバーの「
オブジェクトとルール」をクリックし、「カスタムオブジェクト」>「オブジェクト」を選択します。
- フィールドを追加したいカスタムオブジェクトの名前をクリックします。
- 「フィールド」タブをクリックし、「順序を編集」をクリックします。
- 表示したい順に、フィールドをドラッグアンドドロップ操作で並べ替えます。
- 「保存」をクリックします。
カスタムオブジェクトレコードの権限について
さらに、カスタムオブジェクトを作成する場合、オブジェクトとそのレコードへのエージェントとカスタマーのアクセス権限を理解する必要があります。エージェントの場合、エージェントワークスペースの「カスタムオブジェクトレコード」ページでの可視性と、エージェントがオブジェクトのレコードに対して行える操作の2つのアクセスレベルがあります。カスタマー(「エンドユーザー」とも呼ばれる)には、カスタムオブジェクトのレコードを表示、編集、追加、削除する権限も付与できます。
エージェントの権限:
すべてのプランで、「カスタムオブジェクトレコード」ページでオブジェクトをすべてのエージェントと管理者に表示するか、管理者のみに表示するかを決定できます。
次に、ロールベースの権限を使用して、エージェントがオブジェクトのレコードに対して行える操作を決定します。すべてのプランにおいて、カスタムオブジェクトレコードを操作する権限は、システムエージェントロールごとにあらかじめ定義されています。Enterpriseプランでは、管理センターの「ロール」ページで、各オブジェクトへのカスタムロールのアクセス権限を設定できます。特定のオブジェクトレコードへのエージェントのアクセス状況を確認するには、カスタムオブジェクト内の「権限」タブを使用します。
カスタマー権限(EAP)
カスタマー(「エンドユーザー」とも呼ばれる)には、カスタムオブジェクトのレコードを表示、追加、編集、削除する権限も付与できます。カスタムオブジェクトのレコードを閲覧または操作する権限をカスタマーに付与するとで、カスタマーは、チケットを送信する際に関連するカスタムオブジェクトのレコードを直接参照できるようになるため、コメントに詳細を記入してエージェントに関連するレコードを特定させる必要がなくなります。Zendeskのユーザーインターフェイスでは、ルックアップリレーションシップのフィールドにフィルターを適用して、現在のユーザーに関連するレコードのみを表示させることができます。ただし、権限はオブジェクトレベルで付与されるため、技術的な要因で、カスタマーは自分自身に関連するレコードだけでなく、オブジェクトのすべてのレコードへのアクセス権を付与されることになります。
詳細については、「カスタムオブジェクトレコードへのアクセス権の設定」を参照してください。
オブジェクトのリレーションシップを追加する
カスタムオブジェクトを作成し、カスタムフィールドのスキーマを定義したら、それを他の標準オブジェクトまたはカスタムオブジェクトに接続する必要があります。ルックアップリレーションシップフィールドは、カスタムオブジェクトとZendeskの標準オブジェクト(ユーザー、組織、チケット)や他のカスタムオブジェクトとの関係を定義します。ルックアップリレーションシップは、「ソースオブジェクト → 関連するオブジェクト」のように示すことができます。ソースオブジェクトは、ルックアップリレーションシップフィールド(およびその他のフィールド)を含むZendeskオブジェクトです。関連するオブジェクトは、ルックアップリレーションシップフィールドによって指定されたオブジェクトです。
関連するオブジェクトを追加しても、2つの特定のレコードの間に自動的に関連付けが行われるわけではありません。その代わりに、リレーションシップを示すことで、エージェントがこの方法でレコードを関連付けられるようにします。
- 別のカスタムオブジェクト
- 標準オブジェクト
カスタムオブジェクトにルックアップリレーションシップフィールドを含めたい場合は、次の手順を使用します。また、別のオブジェクトにルックアップリレーションシップフィールドとしてカスタムオブジェクトを含めたい場合は、「チケットへのカスタムフィールドの追加」、「ユーザーへのカスタムフィールドの追加」、または「組織へのカスタムフィールドの追加」を参照してください。
カスタムオブジェクトにリレーションシップを追加するには
- 管理センターで、サイドバーの「
オブジェクトとルール」をクリックし、「カスタムオブジェクト」>「オブジェクト」を選択します。
- フィールドを追加したいカスタムオブジェクトにカーソルを合わせ、オプションメニューアイコン(
)をクリックし、「編集」を選択します。
- 「フィールド」タブをクリックし、「フィールドを追加」をクリックします。
- 「表示名」、「フィールドキー」、「説明」を設定します。
- ルックアップリレーションシップフィールドにリストアップする関連するオブジェクトを選択します。
関連するオブジェクトは、別のカスタムオブジェクト(
)、チケット(
)、ユーザー(
)、または組織(
)のいずれかです。たとえば、関連するオブジェクトとして「ユーザー」を選択すると、ルックアップリレーションシップフィールドにはZendeskユーザーのリストが表示されます。
- 「フィルターを追加」をクリックして、1つまたは複数のフィルターを定義し、フィールドに表示されるオプションの数を減らします。
フィルターとして使用できるタグやカスタムフィールドの数に制限はありません。詳細については、「フィールドのオプションをフィルターする」を参照してください。
- 「保存」または「別のフィールドを追加」をクリックします。
8件のコメント
Ashwin Raju
hi Ahmed..The release that we had enables to you configure if the name of the record should be unique. This enables you to identify the record based on the name.
https://developer.zendesk.com/api-reference/custom-data/custom-objects/custom_object_records/#delete-custom-object-record-by-external-id-or-name
This update does not change how external ids work.. External IDs are always unique and can still be used to identify the record.
Uniqueness of the record is especially useful in cases like Products, Orders, Contracts etc where the name is a unique identifier in the source record and you dont want to store the same field as an external id as well in Zendesk so as to achieve data synchronization.
0
Ahmed Zaid
Hi 1902738075884
I love the latest update, but I feel that it blurred the line between name and external ID fields. All my use cases are now possible, but I feel that my setup is less clean and more like a workaround.
I would love to keep the name and ID functions separate (e.g. external ID is a serial number, and name is the actual name of the asset) yet be able to search my records in a lookup field by external ID.
0
Antonya Johnston
Are there plans to allow Custom Objects to be available as datasets in Explore? Or extending the relationships so we can pull data from the object via the linked ticket.
Ex. Event custom object has date fields. These date fields do not show on the linked ticket, so they are not available in the Support data sets.
2
Ashwin Raju
Let's say I want to associate an Order to a customer. On the Order object, I will go to the Order object (which is a custom object) and create a lookup field called "Customer" and link it to the User object. From a database standpoint, what this does is to create an additional column in the Order table(custom object) that can have values that point to Users.
What we intended from that statement is that - you still need to update Order1234 to assign that order to Daniel.
I presume your question is - I have Order1234 as an Order record and have Daniel as a User in Zendesk. Can I build this relationship with CSV bulk importer?
At this point, no - but we are soon releasing the feature to update records through the bulk importer. Carl Joseph and his team are working hard at making this happen. Until then, you have 2 choices -
1) Update it manually through UI
2) Update it through APIs.
However, if you do not have Order1234 in the system, you can use CSV bulk importer and pass the record ID Daniel to build that relationship
1
Daniel Vidolich
The instructions state that "Adding related objects doesn't automatically create an association between two specific records." Is there a process to upload existing associations in bulk?
0
Shishir Sharma
Triggers on custom objects EAP is now live and allows the ability to build trigger conditions based on custom object field values. Additionally, you can create trigger actions to set or update the value of fields on the same custom object.
0
Flic
This is a breath of fresh air for me! As an Internet Service Provider, we are now able to associate service objects in a one-to-many arrangement to provide staff with immediate access to customer services. I have already begun defining several test objects and look forward to ongoing development.
I would love to be able to re-order fields in the custom object design page to set their order at data entry time by users and also define what fields are visible, and their order in the object list view as well.
Great work team!
1
Shayan Moussawi
Are the custom object record limitations, per object, or overall?
So if I had two custom objects (transactions and orders) - would I be able to have 100.000 records for transactions and 100.000 records for orders, or only 100.000 records overall?
Are there plans to extend these limits after the EAP?
0
サインインしてコメントを残します。