チケット、ユーザー、組織などの標準的なZendeskオブジェクトは、ほとんどのサポートニーズに対応できます。しかし、ビジネスに固有のデータが、これらの定義済みの枠に収まらない場合はどうすればよいでしょうか。Zendeskカスタムオブジェクトを使用すると、必要な方法でデータを柔軟にモデル化できます。
カスタムオブジェクトを使用すると、Zendeskのデータモデルを拡張して、ビジネスに固有の情報を保存できます。ソフトウェアライセンス、製品保証、サブスクリプションの詳細などを追跡する場合でも、カスタムオブジェクトを使用すると、必要な方法でデータを柔軟にモデル化できます。
このガイドでは、自動セットアップ用のREST APIと、ポイントアンドクリック方式の管理センターという2つの方法を使用して、Zendeskでカスタムオブジェクトタイプを作成する方法を学びます。また、eesel AIのようなツールが、カスタムデータと連携してサポートワークフローを自動化する方法についても説明します。
API経由でカスタムオブジェクトタイプを作成する
APIメソッドを使用すると、正確な制御が可能になり、複数のZendeskインスタンスでオブジェクトの作成を自動化できます。プログラムでZendeskカスタムオブジェクトタイプを作成する方法を次に示します。
ステップ1:アカウントでカスタムオブジェクトを有効にする
APIを使用する前に、管理者が機能を有効にする必要があります。
- 管理センター > オブジェクトとルール > カスタムオブジェクトに移動します。
- 開始するをクリックして機能を有効にします。
- 以前に従来のカスタムオブジェクトを使用したことがある場合は、新しいエクスペリエンスを試すためのバナーが表示されます。
ステップ2:カスタムオブジェクトを作成する
有効にしたら、カスタムオブジェクトの作成エンドポイントを使用してオブジェクトを定義します。
エンドポイント: POST /api/v2/custom_objects
必須パラメータ:
key:(キー)オブジェクトの一意の識別子(後で変更することはできません)title:(タイトル)単数形の表示名(例:「ソフトウェアライセンス」)title_pluralized:(複数形のタイトル)複数形の表示名(例:「ソフトウェアライセンス」)
完全なcURLの例を次に示します。
curl --request POST https://{subdomain}.zendesk.com/api/v2/custom_objects \
--header "Content-Type: application/json" \
-u {email_address}/token:{api_token} \
--data-raw '{
"custom_object": {
"key": "software_license",
"title": "ソフトウェアライセンス",
"title_pluralized": "ソフトウェアライセンス"
}
}'
予想される応答(201 Created):
{
"custom_object": {
"url": "https://{subdomain}.zendesk.com/api/v2/custom_objects/software_license.json",
"key": "software_license",
"created_by_user_id": "15590417147927",
"updated_by_user_id": "15590417147927",
"created_at": "2023-09-12T16:28:17Z",
"updated_at": "2023-09-12T16:28:17Z",
"title": "ソフトウェアライセンス",
"raw_title": "ソフトウェアライセンス",
"title_pluralized": "ソフトウェアライセンス",
"raw_title_pluralized": "ソフトウェアライセンス",
"description": "",
"raw_description": ""
}
}
選択するkey(キー)は永続的なので、命名規則と一致するわかりやすいものを選択してください。
ステップ3:カスタムフィールドを追加してスキーマを定義する
フィールドのないオブジェクトは、単なる空のコンテナです。カスタムオブジェクトフィールドの作成エンドポイントを使用してプロパティを追加します。
エンドポイント: POST /api/v2/custom_objects/{custom_object_key}/fields
利用可能なフィールドタイプ:
text:(テキスト)1行または複数行のテキストdropdown:(ドロップダウン)タグ付きの定義済みオプションcheckbox:(チェックボックス)ブール値のtrue/falselookup:(ルックアップ)チケット、ユーザー、組織、またはその他のカスタムオブジェクトへのリレーションシップdate:(日付)日付の値number:(数値)整数の値decimal:(10進数)10進数regexp:(正規表現)正規表現パターンに一致するテキスト
例:ライセンスステータスのドロップダウンフィールドを追加する
curl --request POST \
https://{subdomain}.zendesk.com/api/v2/custom_objects/software_license/fields \
--header "Content-Type: application/json" \
-u {email_address}/token:{api_token} \
--data-raw '{
"custom_object_field": {
"key": "status",
"title": "ライセンスステータス",
"type": "dropdown",
"custom_field_options": [
{"name": "有効", "raw_name": "有効", "value": "active"},
{"name": "期限切れ", "raw_name": "期限切れ", "value": "expired"},
{"name": "保留中", "raw_name": "保留中", "value": "pending"}
]
}
}'
例:ライセンスをユーザーにリンクするためのルックアップリレーションシップを追加する
curl --request POST \
https://{subdomain}.zendesk.com/api/v2/custom_objects/software_license/fields \
--header "Content-Type: application/json" \
-u {email_address}/token:{api_token} \
--data-raw '{
"custom_object_field": {
"key": "assigned_user",
"title": "割り当てられたユーザー",
"type": "lookup",
"relationship_target_type": "zen:user"
}
}'
エージェントには、作成した順にフィールドが表示されます。後で並べ替える必要がある場合は、カスタムオブジェクトフィールドの並べ替えエンドポイントを使用します。
管理センターでカスタムオブジェクトタイプを作成する
視覚的なインターフェースを使用する場合は、管理センターを使用すると、コードを記述せずにカスタムオブジェクトを簡単に作成できます。
ステップ1:カスタムオブジェクトページにアクセスする
- 管理センターで、サイドバーのオブジェクトとルールをクリックします。
- カスタムオブジェクト > オブジェクトを選択します。
- オブジェクトの作成をクリックします。

ステップ2:オブジェクトプロパティを設定する
基本的なオブジェクト情報を入力します。
- Object key:(オブジェクトキー)一意の識別子(例:
software_license)。これは後で変更することはできません。 - Singular name:(単数名)インターフェースにオブジェクトが表示される方法(例:「ソフトウェアライセンス」)
- Plural name:(複数名)リストに表示される複数形(例:「ソフトウェアライセンス」)
- Description:(説明)他の管理者向けのオプションのコンテキスト
- Visibility:(可視性)エージェントがカスタムオブジェクトレコードページでこのオブジェクトタイプを表示できるかどうかを選択します。
保存をクリックしてオブジェクトを作成します。
ステップ3:カスタムフィールドを定義する
保存後、フィールドタブが表示されます。
- フィールドの追加をクリックします。
- ドロップダウンからフィールドタイプ(テキスト、数値、日付、ドロップダウン、チェックボックス、ルックアップ)を選択します。
- フィールドキーと表示タイトルを入力します。
- タイプ固有のオプション(例:ドロップダウン値、ルックアップターゲット)を設定します。
- フィールドを必須にするかどうかを設定します。
- 保存をクリックします。

必要なフィールドごとにこのプロセスを繰り返します。標準のname(名前)フィールドはデフォルトで含まれているため、個別に作成する必要はありません。
カスタムオブジェクトフィールドとリレーションシップについて
フィールドは、カスタムオブジェクトが保持できるデータを定義します。適切なフィールドタイプを選択すると、データがより有用になり、操作が簡単になります。
標準フィールドとカスタムフィールド
すべてのカスタムオブジェクトには、標準のname(名前)フィールドが自動的に含まれています。これはレコードの主要な識別子として機能します。タイトルをカスタマイズできます(例:「名前」を「ライセンスキー」に変更)が、削除することはできません。
カスタムフィールドは、特定のデータ構造を定義する場所です。オブジェクトごとに最大100個のカスタムフィールドを追加できるため、複雑なデータモデルに十分な柔軟性があります。
フィールドタイプの説明
- Text fields:(テキストフィールド)自由形式のテキストを保存します。短いエントリ(シリアル番号など)には1行を使用し、長い説明には複数行を使用します。
- Dropdown fields:(ドロップダウンフィールド)入力を定義済みのオプションに制限します。ステータスフィールド、カテゴリ、または固定された値のセットを持つデータに役立ちます。
- Checkbox fields:(チェックボックスフィールド)単純なtrue/falseの値。「承認が必要」や「アクティブ」などのフラグに適しています。
- Date fields:(日付フィールド)カレンダーの日付を保存します。有効期限、購入日、または更新日に役立ちます。
- Number/Decimal fields:(数値/10進数フィールド)数値を保存します。数量、金額、または計算された値に使用します。
- Lookup relationship fields:(ルックアップリレーションシップフィールド)最も強力なフィールドタイプ。これらは、カスタムオブジェクトと他のZendeskオブジェクトの間に接続を作成します。
ルックアップリレーションシップ
ルックアップフィールドを使用すると、カスタムオブジェクトレコードを次のものにリンクできます。
- Tickets:(チケット)ライセンス、製品、またはアセットを特定のサポートチケットに関連付けます。
- Users:(ユーザー)レコードを所有する顧客に接続します。
- Organizations:(組織)データを会社アカウントにリンクします。
- Other custom objects:(その他のカスタムオブジェクト)複雑なリレーションシップを構築します(例:製品にリンクされたライセンス)。
チケットフォームにルックアップフィールドを追加すると、エージェントはチケットの作業中に、関連するカスタムオブジェクトレコードを直接検索して選択できます。これにより、カスタムデータがサポートワークフローに取り込まれます。
念頭に置いておくべきプランの制限
| 制限 | Suite Team/Growth | Enterprise/Professional+ |
|---|---|---|
| Custom objects per account | (アカウントごとのカスタムオブジェクト数) 3-5 | 30-50 |
| Fields per object | (オブジェクトごとのフィールド数) 100 | 100 |
| Lookup relationships per object | (オブジェクトごとのルックアップリレーションシップ数) 5 | 10 |
これらの制限はハードキャップであるため、オブジェクト構造をそれに応じて計画してください。制限に頻繁に達する場合は、オブジェクトを統合するか、プランをアップグレードする必要がある場合があります。
オブジェクトレコードの作成と管理
オブジェクトタイプとフィールドを定義したら、実際のレコードの作成を開始できます。
API経由でレコードを作成する
カスタムオブジェクトレコードの作成エンドポイントを使用します。
エンドポイント: POST /api/v2/custom_objects/{custom_object_key}/records
curl --request POST \
https://{subdomain}.zendesk.com/api/v2/custom_objects/software_license/records \
--header "Content-Type: application/json" \
-u {email_address}/token:{api_token} \
--data-raw '{
"custom_object_record": {
"name": "LICENSE-2024-001",
"custom_fields": {
"status": "active",
"assigned_user": "123456789"
}
}
}'
管理センターでレコードを作成する
- 管理センター > オブジェクトとルール > カスタムオブジェクト > レコードに移動します。
- ドロップダウンからオブジェクトタイプを選択します。
- レコードの追加をクリックします。
- フィールド値を入力します。
- 保存をクリックします。
CSVを使用した一括インポート
大規模なデータセットの場合は、管理センターのデータインポート機能を使用します。
- フィールドキーに一致する列を含むCSVを用意します。
- 既存のレコードを照合するための
external_id(外部ID)列を含めます。 - 管理センター > オブジェクトとルール > データインポートからアップロードします。
- CSV列をオブジェクトフィールドにマッピングします。
- インポートを確認して確定します。
データインポート機能は、external_id(外部ID)フィールドに基づいて、新しいレコードを作成し、既存のレコードを更新できます。
マクロとトリガーでプレースホルダーを使用する
カスタムオブジェクトデータは、サポートワークフローで使用すると強力になります。Zendeskは、マクロ、トリガー、および自動化でカスタムオブジェクトの値を参照できるプレースホルダーをサポートしています。
チケットのIDが123456789のルックアップフィールドの場合:
{{ticket.ticket_field_123456789.name}}は、リンクされたレコードの名前を返します。{{ticket.ticket_field_123456789.custom_fields.status}}は、ステータスフィールドの値を返します。{{ticket.ticket_field_123456789.custom_fields.status.title}}は、ドロップダウンフィールドの表示値を返します。
これにより、関連する顧客データを自動的に取り込む動的なマクロを作成できます。
プランの制限と重要な考慮事項
カスタムオブジェクト構造を構築する前に、制約を理解してください。
| プラン | カスタムオブジェクトの制限 |
|---|---|
| Suite Team | 3 |
| Suite Growth | 5 |
| Support Enterprise / Suite Professional | 30 |
| Suite Enterprise / Suite Enterprise Plus | 50 |
主な制限事項:
- Field limit:(フィールド制限)オブジェクトごとに100個のカスタムフィールド(標準フィールドはカウントされません)
- Lookup limits:(ルックアップ制限)Team/Growthプランではオブジェクトごとに5個、上位プランでは10個
- Immutable keys:(不変キー)オブジェクトキーは作成後に変更できません。間違えた場合は、オブジェクトを削除して再作成する必要があります(既存のレコードはすべて失われます)。
- Admin-only:(管理者のみ)管理者のみがオブジェクトタイプを作成および変更できます。エージェントは、許可されている場合はレコードを作成および編集できます。
- API rate limits:(APIレート制限)一括操作には、Zendeskの標準APIレート制限が適用されます。
ベストプラクティス:
- キーには一貫した命名規則を使用します(小文字とアンダースコアを使用すると効果的です)。
- 他のチームメンバーのためにオブジェクトスキーマを文書化します。
- 一括インポートする前に、小さなデータセットでテストします。
- ルックアップリレーションシップは慎重に計画してください。後で簡単に変更することはできません。
AIでヘルプデスクを拡張する
カスタムオブジェクトを使用すると、データを構造化する強力な方法が得られます。しかし、データだけではサポートの問題は解決しません。それを実用的にする必要があります。AIは、そのギャップを埋めることができます。
eesel AIは、Zendeskインスタンス内のAIチームメイトとして機能します。ヘルプセンターの記事、過去のチケット、そしてカスタムオブジェクトデータから学習します。ソフトウェアライセンスや製品保証に関する情報を保存するだけでなく、eeselはそのデータを使用してチケットを自動的に解決できます。

仕組みは次のとおりです。eeselをZendeskアカウントに接続すると、すぐにビジネスコンテキストの学習を開始します。顧客がライセンスの問題についてメールを送信すると、eeselはカスタムオブジェクトレコードを検索し、ステータスを確認して、正しい情報で応答できます。ルーチンルックアップにエージェントは必要ありません。
標準の自動化との違いは、eeselがコンテキストを理解していることです。キーワードを照合するだけでなく、チケットを読み、顧客が何を必要としているかを理解し、カスタムデータに基づいて適切なアクションを実行します。プレーンな英語でエスカレーションルールを定義し(「ライセンスが期限切れの場合は、更新オプションを提供する」)、eeselはそれらに従います。
すでにカスタムオブジェクトを使用して複雑な顧客データを追跡しているチームにとって、AIレイヤーを追加すると、そのデータを自動化された解決策に変えることができます。チームを比例的に増やすことなくスケールアップしたい場合は、検討する価値があります。
今すぐZendeskでカスタムオブジェクトの構築を開始する
Zendeskでカスタムオブジェクトタイプを作成するための2つの確実な方法ができました。プログラムによる制御のためのAPIと、視覚的なセットアップのための管理センターです。どちらのアプローチでも、Zendeskを標準のデータモデルを超えて拡張し、ビジネスに必要な固有の情報をキャプチャできます。
重要なのは、単純に始めることです。1つのユースケース(ソフトウェアライセンスや製品登録の追跡など)を選択し、いくつかのフィールドを持つ基本的なオブジェクトを作成して、チームでテストします。カスタムオブジェクトがワークフローにどのように適合するかを確認したら、より複雑なデータモデルに拡張できます。
計画が重要であることを忘れないでください。オブジェクトキーは永続的であり、フィールドリレーションシップは変更が難しく、プランの制限は実際の制約です。構築する前にデータモデルをスケッチします。
詳細なAPIリファレンスと追加の例については、Zendeskの公式カスタムオブジェクトドキュメントをご覧ください。また、カスタムデータでさらに多くのことを行いたい場合は、eesel AIがそのデータを自動化されたサポート解決策にどのように変えることができるかを探ってください。
よくある質問
この記事を共有

Article by
Stevia Putri
Stevia Putri is a marketing generalist at eesel AI, where she helps turn powerful AI tools into stories that resonate. She’s driven by curiosity, clarity, and the human side of technology.



