> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Zendesk

## 概要

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

## 機能

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

## セットアップ

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

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

#### OAuth

#### サブドメインを確認

Zendeskのサブドメインは、Zendesk URLの最初の部分です（例：`mycompany.zendesk.com`の`mycompany`）。

#### ElevenLabsで接続

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

#### 接続を認可

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

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

#### APIトークン

#### APIトークンアクセスを有効化

[Zendesk Admin Center](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Admin-Center)で、**Apps and integrations > APIs > Zendesk API**に移動し、**Token Access**を有効にします。

#### APIトークンを生成

**Apps and integrations > APIs > API tokens**に移動し、**Add API token**をクリックします。トークンはすぐにコピーしてください。ダイアログを閉じると再表示されません。

#### サブドメインを確認

Zendeskのサブドメインは、Zendesk URLの最初の部分です（例：`mycompany.zendesk.com`の`mycompany`）。

#### ElevenLabsで接続

ElevenLabsのインテグレーション設定で、**メールアドレス**、**APIトークン**、**サブドメイン**を入力します。

#### カスタムOAuthクライアント

#### リダイレクトURLをコピー

ElevenLabs Zendeskインテグレーション設定で、**リダイレクトURL**をコピーします。

#### ZendeskでOAuthクライアントを作成

[Zendesk Admin Center](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Admin-Center)で、**Apps and integrations > APIs > OAuth clients**に移動し、**Add Client**をクリックします。**名前**と一意の**識別子**を入力します。

#### リダイレクトURLを追加

ElevenLabsからコピーした**リダイレクトURL**をOAuthクライアント設定に貼り付けます。

#### シークレットを保存

OAuthクライアントを保存します。Zendeskに**シークレット**が表示されるため、コピーして安全に保管してください。ダイアログを閉じると再表示されません。

#### ElevenLabsで接続

ElevenLabsのインテグレーション設定で、クライアントIDとして**識別子**を入力し、**シークレット**を指定します。Zendeskにリダイレクトされ、接続を認可します。

## OAuthスコープ

**OAuth2**認証情報で接続すると、ElevenLabsには次の[Zendesk OAuthスコープ](https://developer.zendesk.com/api-reference/ticketing/oauth/grant_type_tokens/)が付与されます。読み取りアクセスはアカウント全体に付与されますが、書き込みアクセスはリソースごとに要求されるため、トークンはインテグレーションで使用しないリソースを変更できません。

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

### ツールの例

#### zendesk_create_ticket

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

| パラメーター                   | 型       | 説明                                                 |
| ------------------------ | ------- | -------------------------------------------------- |
| `ticket.subject`         | string  | チケットの短い件名                                          |
| `ticket.comment.body`    | string  | 問題の詳細な説明                                           |
| `ticket.requester.email` | string  | 依頼者のメールアドレス                                        |
| `ticket.requester.name`  | string  | 依頼者のフルネーム                                          |
| `ticket.priority`        | string  | `urgent`、`high`、`normal`、または`low`                  |
| `ticket.status`          | string  | `new`、`open`、`pending`、`hold`、`solved`、または`closed` |
| `ticket.assignee_id`     | integer | チケットを割り当てるエージェントID                                 |
| `ticket.group_id`        | integer | チケットのルーティング先グループID                                 |
| `ticket.custom_fields`   | array   | カスタムフィールド用の`{id, value}`オブジェクトの配列                  |

#### zendesk_search

Zendesk検索クエリ構文を使用して、チケット、ユーザー、または組織をZendeskで検索します。

| パラメーター  | 型      | 説明                                                                      |
| ------- | ------ | ----------------------------------------------------------------------- |
| `query` | string | 検索クエリ（例：`type:ticket status:open`または`type:user email:user@example.com`） |

#### zendesk_add_comment

既存のチケットに公開コメントまたは内部コメントを追加します。通話要約やフォローアップメモの投稿に便利です。

| パラメーター                     | 型       | 説明                |
| -------------------------- | ------- | ----------------- |
| `ticket_id`                | integer | コメントを追加するチケット     |
| `ticket.comment.body`      | string  | プレーンテキストのコメント本文   |
| `ticket.comment.html_body` | string  | コメントのHTML版（任意）    |
| `ticket.comment.public`    | boolean | コメントを依頼者に表示するかどうか |

#### zendesk_get_user

ユーザープロフィールを取得します。これにより、エージェントは発信者を名前で呼んだり、本人確認を行ったりできます。

| パラメーター    | 型       | 説明                |
| --------- | ------- | ----------------- |
| `user_id` | integer | 検索するZendeskユーザーID |

### ツールの設定

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

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

![インテグレーションツールを追加](/docs/_fern-img/ef3a82e0747f1b1da18fb6b4755812abe161d436582312e47836e621a44d83c7.webp)

#### Zendeskツールを選択

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

![Zendeskツールを選択](/docs/_fern-img/9161ae75a4c514d477174622bd4857d6faf62a11825bc7d4d191176e52a72f91.webp)

#### （任意）パラメーターを指定

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

#### 従来のWebhook設定

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

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

#### zendesk_get_ticket_comments

**名前：** 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：**

```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_get_resolved_tickets

**名前：** zendesk_get_resolved_tickets
**説明：** Zendeskから解決済みのサポートチケットをすべて取得します。
**メソッド：** GET
**URL：** `https://acmecorp.zendesk.com/api/v2/search.json?query=type:ticket+status:solved`

**ヘッダー：**

* **Content-Type：** `application/json`
* **Authorization：** *(シークレット：`zendesk_key`)*

**ツールJSON：**

```json
{
  "type": "webhook",
  "name": "zendesk_get_resolved_tickets",
  "description": "Retrieves all resolved support tickets from Zendesk.",
  "api_schema": {
    "url": "https://acmecorp.zendesk.com/api/v2/search.json?query=type:ticket+status:solved",
    "method": "GET",
    "path_params_schema": [],
    "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_open_ticket

**名前：** zendesk_open_ticket
**説明：** 新しいサポートチケットを作成します。
**メソッド：** POST
**URL：** `https://acmecorp.zendesk.com/api/v2/tickets.json`

**ヘッダー：**

* **Content-Type：** `application/json`
* **Authorization：** *(シークレット：`zendesk_key`)*

**本文パラメーター：**

* **ticket：** 次を含むオブジェクト：
  * **comment：**
    * **body：** サポート上の問題の詳細な説明。
  * **subject：** 短い件名。
  * **requester：**
    * **name：** 依頼者のフルネーム。
    * **email：** 有効なメールアドレス。

**ツールJSON：**

```json
{
  "type": "webhook",
  "name": "zendesk_open_ticket",
  "description": "API endpoint to open a customer support ticket\nMake sure the authorization header is formated as \"Authorization: Basic <auth>\".",
  "api_schema": {
    "url": "https://acmecorp.zendesk.com/api/v2/tickets.json",
    "method": "POST",
    "path_params_schema": [],
    "query_params_schema": [],
    "request_body_schema": {
      "id": "body",
      "type": "object",
      "description": "Details for the support ticket",
      "required": false,
      "properties": [
        {
          "id": "ticket",
          "type": "object",
          "description": "This is the main ticket body which contains all of the information needed to open a ticket.",
          "required": true,
          "properties": [
            {
              "id": "comment",
              "type": "object",
              "description": "This is the comment with information about the issue.",
              "required": true,
              "properties": [
                {
                  "id": "body",
                  "type": "string",
                  "description": "Body of the issue. Include all relevant details for the issue. ",
                  "dynamic_variable": "",
                  "constant_value": "",
                  "required": true,
                  "value_type": "llm_prompt"
                }
              ]
            },
            {
              "id": "subject",
              "type": "string",
              "description": "Create a short subject line for the support issue. Add \"DEMO: \" before the subject.",
              "dynamic_variable": "",
              "constant_value": "",
              "required": true,
              "value_type": "llm_prompt"
            },
            {
              "id": "requester",
              "type": "object",
              "description": "The details of the support requester",
              "required": true,
              "properties": [
                {
                  "id": "email",
                  "type": "string",
                  "description": "The email address of the requester. This should look like \njohnsmith@hotmail.com\nYou MUST use the @ symbol and remove any spaces.",
                  "dynamic_variable": "",
                  "constant_value": "",
                  "required": true,
                  "value_type": "llm_prompt"
                },
                {
                  "id": "name",
                  "type": "string",
                  "description": "The full name of the requester. ",
                  "dynamic_variable": "",
                  "constant_value": "",
                  "required": true,
                  "value_type": "llm_prompt"
                }
              ]
            }
          ]
        }
      ]
    },
    "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": {}
  }
}
```

> **Warning**
>
> ワークスペースのZendeskシークレットをエージェントのシークレットに追加してください。

## Zendeskトリガー

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

### 設定

#### Zendeskでトリガーを作成

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

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

#### ElevenLabsでトリガーを接続

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

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

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

#### （任意）Zendeskでトリガーを確認

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

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

### シャドーモード

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

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

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

### ループの回避

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

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

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

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

* **チケット＞更新経由**、**次と異なる**、**Webサービス（API）**

## 便利なリンク

* [Zendesk APIドキュメント](https://developer.zendesk.com/api-reference/)
* [APIトークンの管理](https://support.zendesk.com/hc/en-us/articles/4408889192858-Managing-API-token-access-to-the-Zendesk-API)
* [Zendeskトリガーガイド](https://support.zendesk.com/hc/en-us/articles/203662246-About-triggers-and-how-they-work)