Zendesk

ElevenLabsエージェントをZendesk Supportと連携

概要

ElevenLabs AIエージェントをZendeskと連携し、サポートチケット、ユーザー、組織を管理できます。このインテグレーションにより、エージェントはチケットの作成・更新、既存レコードの検索、ユーザーの管理、受信チケットコメントへの応答を行えます。

機能

機能サポート
ゼロ保持モード(ZRM)非対応
トリガー内の添付ファイルエージェント設定でファイル添付を許可が有効であり、エージェントのLLMが画像またはドキュメント入力をサポートする場合、受信チケットコメント内の画像(PNG、JPEG、GIF、WebP)およびPDFファイル
ツール内の添付ファイル非対応 — zendesk_show_ticketやzendesk_list_ticket_commentsなどのツールはテキストフィールドを返し、添付ファイルをダウンロードしません

セットアップ

このインテグレーションは、ElevenLabs OAuthアプリ、独自のOAuthクライアント、APIトークンの3つの認証方法をサポートしています。

Zendeskは、認証方法としてのAPIトークンを廃止し、OAuthのみのアクセスへ移行しています。既存のAPIトークンベースのZendeskインテグレーションは、2027年4月30日まで引き続き機能します。ElevenLabsはこの移行をサポートしており、それまでにOAuthへの移行を支援するため、対象となるお客様へ積極的にご連絡します。以下のカスタムOAuthクライアント方式には、いつでも切り替えられます。

1

サブドメインを確認

Zendeskのサブドメインは、Zendesk URLの最初の部分です(例:mycompany.zendesk.comのmycompany)。

2

ElevenLabsで接続

ElevenLabsのインテグレーション設定で、OAuth2認証情報を選択し、サブドメインを入力して、接続をクリックします。

3

接続を認可

Zendeskに、ElevenLabsアプリが要求するアクセス権(アカウント全体の読み取りアクセス、およびチケット、ユーザー、Webhook、トリガーへの書き込みアクセス)が一覧表示された認可ページが表示されます。エージェントに必要な権限を持つユーザーとしてサインインし、許可をクリックします。ZendeskからElevenLabsにリダイレクトされ、接続が作成されます。

Zendeskトリガーを使用する場合は、管理者として認可してください。Webhookの作成とトリガーの編集はZendesk管理者に限定されています。

OAuthスコープ

OAuth2認証情報で接続すると、ElevenLabsには次のZendesk OAuthスコープが付与されます。読み取りアクセスはアカウント全体に付与されますが、書き込みアクセスはリソースごとに要求されるため、トークンはインテグレーションで使用しないリソースを変更できません。

スコープ目的
readGETエンドポイントへの読み取りアクセス。チケット、チケットコメントとその添付ファイル、ユーザー、組織、問題チケット、検索結果の取得に使用されます。また、トリガーが接続されている場合は、Zendeskトリガーの検索と、ElevenLabsが作成するWebhookの署名シークレットの読み取りにも使用されます。
tickets:writeチケットの作成、更新、削除、統合、公開・内部コメントの投稿、タグの追加・削除を行います。チケットツール、およびZendeskトリガーが発火した際のエージェント返信の投稿に使用されます。
users:write一括作成または更新を含む、ユーザーの作成、更新、削除を行います。ユーザー管理ツールで使用されます。
webhooks:writeZendeskトリガーを有効にしたときにチケットイベントをエージェントへ配信するWebhookを作成し、トリガーを無効にしたときにそのWebhookを削除します。
triggers:write指定したZendeskトリガーにElevenLabsのWebhookアクションを追加し、トリガーを無効にしたときにそのアクションを削除します。

トークンは、認可したユーザーの権限を超えることはありません。実際のアクセス権は、これらのスコープとそのユーザーのZendeskロールの共通部分です。

これらのスコープは、他の2つの認証方法には適用されません。カスタムOAuthクライアントはreadとwrite(完全な読み取り・書き込みアクセス)を要求し、APIトークンにはそれが属するZendeskユーザーのすべての権限が付与されます。

データ開示

以下の表では、インテグレーションがZendeskアカウント内でアクセスするすべてのフィールド、ElevenLabsがそれを保存するかどうか、そしてアクセスするタイミングと理由を示します。読み取りは、値が処理中に使用されるものの永続化されないことを意味します。読み取り・保存は、ElevenLabsの会話レコードに永続化されることを意味します。書き込みは、インテグレーションがそのデータをZendeskに送信することを意味します。

データアクセス理由
チケットID読み取り・保存トリガーWebhookペイロードで受信します。これはZendeskがElevenLabsにプッシュする唯一のチケットデータです。会話の外部ID、integration__zendesk_ticket_id動的変数、およびチケットへのリンクとして保存されます。
チケットの件名読み取り・保存トリガーが発火した際にチケットから読み取ります。システムプロンプトとツールでチケットの内容を参照できるよう、integration__zendesk_ticket_subject動的変数として保存されます。
チケット作成日時読み取り・保存チケットとともに読み取ります。たとえばチケットの経過時間を判断するためにプロンプトで使用できるよう、integration__zendesk_ticket_created_at動的変数として保存されます。
依頼者ID読み取り・保存チケットとともに読み取ります。integration__zendesk_ticket_requester_id動的変数として保存され、コメントの投稿者を識別するために使用されます。依頼者がスタッフでも、顧客として扱われます。
チケットタグ読み取り各トリガー実行時に、agent-rating-<score>タグとforce-agentタグを検出するために読み取ります。会話には結果として得られた評価のみが保存され、タグリスト自体は永続化されません。
パブリックおよび内部コメントの本文読み取り・保存トリガー実行のたびにチケットのコメントから読み取ります。会話の文字起こしとして保存され、エージェントのLLMに送信されます。これはエージェントが返信する会話です。
コメントID読み取り・保存コメントとともに読み取ります。最新のIDは最終処理済みマーカーとして保存され、次回のトリガー実行時にエージェントがすでに回答したコメントをスキップします。
コメント投稿者ID読み取り・保存コメントとともに読み取り、投稿者の検索に使用します。投稿者にメールアドレスがない場合、文字起こしメッセージのユーザー識別子として保存されます。
コメント投稿者のロール読み取りコメント投稿者ごとに読み取り、文字起こし内でコメントを顧客メッセージまたはスタッフメッセージのどちらにするかを判断します。ロール自体は永続化されず、各メッセージの結果としての帰属のみが保存されます。
コメント投稿者のメールアドレス読み取り・保存コメント投稿者ごとに読み取ります。顧客に帰属する文字起こしメッセージのユーザー識別子として保存されるため、複数のチケットにまたがって会話を同一人物に関連付けられます。
依頼者のメールアドレス読み取り・保存依頼者のユーザーレコードとともに読み取ります。プロンプトとツールで顧客に対応したり検索したりできるよう、integration__zendesk_ticket_requester_email動的変数として保存されます。
添付ファイルのメタデータ:ファイル名、MIMEタイプ、サイズ読み取り・保存添付ファイルがサポート対象のタイプであり、サイズ制限内かどうかを確認するため、コメントとともに読み取ります。添付ファイルが属する文字起こしメッセージに保存されます。
添付ファイルの内容読み取り・保存エージェントでファイル添付を許可が有効になっており、そのLLMがファイルタイプをサポートする場合にのみダウンロードされます。エージェントが顧客から送信された内容を読み取れるよう、会話ファイルとして保存されます。
Zendeskサブドメイン読み取り・保存接続時に入力されたものです。APIベースURLを構成するため、インテグレーションの接続設定に保存されます。
Zendeskアカウントのメールアドレス、APIトークン認証のみ読み取り・保存接続時に入力されたものです。APIトークン認証ではトークンとともにアカウントのメールアドレスを送信するため、接続設定に保存されます。
APIトークン、OAuthアクセストークンおよびリフレッシュトークン読み取り・保存保存時には暗号化され、API呼び出しの認証にのみ使用されます。エージェント、プロンプト、APIに公開されることはありません。
Webhook署名シークレット読み取り・保存トリガーを有効化したときに一度読み取ります。暗号化して保存し、受信Webhookが実際にZendeskアカウントから送られたことを確認するために使用します。
トリガーのタイトル、条件、アクション読み取りトリガーを有効化する際、名前でトリガーを見つけ、ElevenLabsのWebhookアクション追加時に既存アクションを保持するために読み取ります。永続化されません。
エージェントの返信書き込みチケットにパブリックコメントとして投稿します。シャドーモードがオンの場合は内部コメントとして投稿します。これがインテグレーションの目的です。
会話リンク書き込みスタッフがElevenLabsで会話を開けるよう、チケットごとに一度、内部コメントとして投稿します。
添付ファイルエラー通知書き込みサポートされていないタイプ、サイズ超過、またはダウンロード失敗により添付ファイルがスキップされた場合に、スタッフがエージェントがその添付ファイルを確認していないことを把握できるよう、内部コメントとして投稿します。
ElevenLabs Webhook登録書き込みZendeskトリガーを有効化すると作成され、無効化すると削除されます。これはチケットイベント時にZendeskが呼び出すエンドポイントです。
トリガー上のWebhookアクション書き込み有効化時に指定したトリガーへ追加され、無効化時に削除されます。トリガー上の既存アクションは保持されます。
チケット、コメント、タグ、ユーザー、組織書き込みエージェントで有効にしたZendeskツールによってのみ、会話中にエージェントが指定したパラメータで書き込まれます。ツール呼び出しまたはトリガー返信以外で書き込みが行われることはありません。

インテグレーションがZendesk APIを呼び出すのは、接続済みのトリガーが発火したとき、またはエージェントがZendeskツールを呼び出したときだけです。Zendeskアカウントをポーリングしたり、データを一括エクスポートしたりすることはありません。

Zendeskツールが返したレコードは、ツール呼び出し結果の一部として会話の文字起こしに保存されます。そのため、レコードを読み取るツールはそのレコードも保存します。保存データの保持期間は、文字起こしとPIIの削除を含め、チケットを処理したエージェントのプライバシー設定に従います。

Zendeskツール

Zendeskツールをエージェントに追加すると、会話中にチケット、ユーザー、組織を管理できます。インテグレーションを接続すると、エージェントの設定ページで個別のツールを有効にできます。

利用可能なツール

このインテグレーションでは、次のカテゴリに分類された30種類以上のツールを利用できます。

  • チケット — チケットの作成、更新、削除、一覧表示、検索。一括操作(複数作成、複数更新、複数削除)も利用できます。
  • コメントとタグ — チケットへの公開コメントまたは内部コメントの追加、タグの追加または削除。
  • ユーザー — ユーザーの検索、作成、更新、削除。ユーザーデータの同期用に、一括作成または更新をサポートしています。
  • 組織 — 組織の詳細の取得と、組織のチケット一覧表示。
  • 検索 — チケット、ユーザー、組織を対象にZendesk検索クエリを実行(例:type:ticket status:open)。

ツールの例

新しいサポートチケットを作成します。エージェントが発信者から詳細を収集し、代理でチケットを作成します。

パラメーター型説明
ticket.subjectstringチケットの短い件名
ticket.comment.bodystring問題の詳細な説明
ticket.requester.emailstring依頼者のメールアドレス
ticket.requester.namestring依頼者のフルネーム
ticket.prioritystringurgent、high、normal、またはlow
ticket.statusstringnew、open、pending、hold、solved、またはclosed
ticket.assignee_idintegerチケットを割り当てるエージェントID
ticket.group_idintegerチケットのルーティング先グループID
ticket.custom_fieldsarrayカスタムフィールド用の{id, value}オブジェクトの配列

ツールの設定

1

インテグレーションツールを追加

エージェントの設定ページで、ツールを追加をクリックし、インテグレーションツールを追加を選択します。

インテグレーションツールを追加
2

Zendeskツールを選択

Zendesk接続を選択し、エージェントで使用するツールをオンにします。必要な数だけ有効にできます。たとえば、読み取り専用のトリアージエージェントでは検索ツールと一覧表示ツールだけでよい場合がありますが、フルサービスのエージェントではチケットの作成や更新も必要になる場合があります。

Zendeskツールを選択
3

(任意)パラメーターを指定

各ツールのパラメーターは、発信者の発話内容に基づいて会話中にエージェントが入力します。パラメーター値をハードコードする必要はありません。ただし、エージェントの動作を誘導するために、デフォルトのpriorityやgroup_idを設定するなど、特定のパラメーターを事前入力または制約できます。

ネイティブのZendeskインテグレーションを使用する場合、ツールは自動的に設定されます。以下の手順は、 手動でWebhookを設定する場合にのみ適用されます。

Zendeskインテグレーションのデモ(従来のWebhookツール)

従来のインテグレーションでは、3つのWebhookツールを使用してサポートエージェントを作成します。以下のタブで各ツールの設定を確認してください。

名前: zendesk_get_ticket_comments 説明: チケットのコメントを取得します。 メソッド: GET URL: https://acmecorp.zendesk.com/api/v2/tickets/{ticket_id}/comments.json

ヘッダー:

  • Content-Type: application/json
  • Authorization: (シークレット:zendesk_key)

パスパラメーター:

  • ticket_id: get_resolved_ticketsの結果のidフィールドから値を抽出します。

ツールJSON:

{
"type": "webhook",
"name": "zendesk_get_ticket_comments",
"description": "Retrieves the comments of a ticket.",
"api_schema": {
"url": "https://acmecorp.zendesk.com/api/v2/tickets/{ticket_id}/comments.json",
"method": "GET",
"path_params_schema": [
{
"id": "ticket_id",
"type": "string",
"description": "Extract the value from the id field in the get_resolved_tickets results.",
"dynamic_variable": "",
"constant_value": "",
"required": false,
"value_type": "llm_prompt"
}
],
"query_params_schema": [],
"request_body_schema": null,
"request_headers": [
{
"type": "secret",
"name": "Authorization",
"secret_id": "zendesk_api_token"
},
{
"type": "value",
"name": "Content-Type",
"value": "application/json"
}
]
},
"response_timeout_secs": 20,
"dynamic_variables": {
"dynamic_variable_placeholders": {}
}
}
ワークスペースのZendeskシークレットをエージェントのシークレットに追加してください。

Zendeskトリガー

Zendeskトリガーを設定すると、エージェントが受信したチケットコメントを監視して対応し、一次サポートを提供できます。

設定

1

Zendeskでトリガーを作成

Zendesk Admin Centerで、オブジェクトとルール>ビジネスルール>トリガーに移動し、トリガーを追加をクリックします。エージェントが対応するチケットイベントを決定する条件を設定します(例:特定のグループ内の新規チケット、特定のタグが付いたチケットコメント)。トリガー名を控えておいてください。次の手順で必要になります。

アクションがないためにトリガーを保存できない場合は、チケットに「agent is processing」タグを追加するなど、簡単なアクションを追加してください。

2

ElevenLabsでトリガーを接続

エージェントの設定ページで新しいトリガーを追加し、Zendeskトリガーを選択します。以下のフィールドを設定します。

  • エージェント:受信会話を処理するエージェント。
  • トリガールール名:前の手順で作成したZendeskトリガーの名前。
  • 1日のチケット上限(任意):エージェントが1日に処理するチケットの最大数。無制限にする場合は空欄のままにします。

トリガーを有効化すると、ElevenLabsはZendeskアカウントにWebhookを作成し、指定したトリガーのアクションとして追加します。トリガーを無効化すると、Webhookとアクションは削除されます。

3

(任意)Zendeskでトリガーを確認

Zendesk Admin Centerで、オブジェクトとルール>ビジネスルール>トリガーに移動し、先ほど作成したトリガーを確認します。新しいアクションが追加されているはずです。

先に別のアクションを作成していた場合は、ここで削除できます。

シャドーモード

Zendeskトリガーでシャドーモードを有効にすると、エージェントは顧客に直接返信せずに、内容を確認して応答案を作成できます。シャドーモードが有効な場合、エージェントは公開返信ではなく、チケットに内部コメントとして応答を書き込みます。内部コメントはZendeskのエージェントと管理者だけが閲覧でき、エンドユーザーには通知されません。

シャドーモードは、エージェントによる応答の投稿方法にのみ影響します。エージェントがチケットを変更するツール (例:ステータス変更、タグ追加、チケット割り当て)を使用した場合、それらの変更は引き続き 適用されます。意図しない変更を防ぐには、変更を行うツール呼び出しを削除したエージェントの別ブランチを 使用してください。

シャドーモードは、本番運用前にエージェントの品質を評価する際に役立ちます。実際のサポート応答と内部コメントを見比べて正確性やトーンを確認し、出力に問題がなければエージェントをアクティブモードに切り替えます。

ループの回避

エージェントがZendesk APIを介してチケットコメントに応答すると、その応答自体が新しいコメントになります。その結果、エージェントが再びトリガーされ、無限ループが発生する可能性があります。これを防ぐには、以下のいずれかの条件をZendeskトリガーに追加してください。

トリガーからサービスアカウントを除外する。 インテグレーション用に別のZendeskユーザー(例:ai-agent@yourcompany.com)を作成し、ElevenLabsで接続する際にこのアカウントの認証情報を使用します。次に、Zendeskトリガーに以下の条件を追加します。

  • 現在のユーザー、次と異なる、<サービスアカウント>

トリガーからAPI更新を除外する。 これにより、更新を行ったユーザーに関係なく、Zendesk APIを介して行われたすべての更新を除外します。

  • チケット>更新経由、次と異なる、Webサービス(API)

便利なリンク