> 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

## Vue d’ensemble

Connectez vos agents IA ElevenLabs à [Zendesk](https://www.zendesk.com/) pour gérer les tickets d’assistance, les utilisateurs et les organisations. Cette intégration permet à vos agents de créer et de mettre à jour des tickets, de rechercher des enregistrements existants, de gérer les utilisateurs et de répondre aux commentaires entrants sur les tickets.

## Fonctionnalités

| Fonctionnalité                       | Prise en charge                                                                                                                                                                                                                                          |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Mode zéro rétention (ZRM)            | Non pris en charge                                                                                                                                                                                                                                       |
| Pièces jointes dans les déclencheurs | Images (PNG, JPEG, GIF, WebP) et fichiers PDF dans les commentaires entrants sur les tickets, lorsque **Allow file attachments** est activé dans les paramètres de l’agent et que le LLM de l’agent prend en charge les entrées d’images ou de documents |
| Pièces jointes dans les outils       | Non prises en charge, les outils tels que `zendesk_show_ticket` et `zendesk_list_ticket_comments` renvoient des champs texte et ne téléchargent pas les pièces jointes                                                                                   |

## Configuration

Cette intégration prend en charge trois méthodes d’authentification : l’application OAuth ElevenLabs, votre propre client OAuth et un jeton API.

> **Note**
>
> Zendesk [abandonne les jetons API](https://support.zendesk.com/hc/en-us/articles/10851263566234)
> comme méthode d’authentification et passe à un accès exclusivement OAuth. Les intégrations Zendesk existantes
> reposant sur des jetons API continueront de fonctionner jusqu’au 30 avril 2027. ElevenLabs travaille à prendre en charge cette
> migration et contactera de manière proactive les clients concernés afin de les aider à passer à OAuth avant
> cette échéance. Vous pouvez à tout moment basculer vers la méthode **Custom OAuth client** ci-dessous.

#### OAuth

#### Trouver votre sous-domaine

Votre sous-domaine Zendesk correspond à la première partie de votre URL Zendesk, par exemple `mycompany` dans `mycompany.zendesk.com`.

#### Se connecter dans ElevenLabs

Dans la configuration de l’intégration ElevenLabs, sélectionnez l’identifiant **OAuth2**, saisissez votre **subdomain**, puis cliquez sur **Connect**.

#### Autoriser la connexion

Zendesk affiche une page d’autorisation répertoriant les accès demandés par l’application ElevenLabs : accès en lecture à l’ensemble de votre compte, ainsi qu’un accès en écriture aux tickets, utilisateurs, webhooks et déclencheurs. Connectez-vous avec un utilisateur disposant des autorisations nécessaires à votre agent, puis cliquez sur **Allow**. Zendesk vous redirige vers ElevenLabs et la connexion est créée.

Autorisez la connexion en tant qu’administrateur si vous prévoyez d’utiliser des déclencheurs Zendesk, car la création de webhooks et la modification des déclencheurs sont réservées aux administrateurs Zendesk.

#### Jeton API

#### Activer l’accès par jeton API

Dans le [Zendesk Admin Center](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Admin-Center), accédez à **Apps and integrations > APIs > Zendesk API** et activez **Token Access**.

#### Générer un jeton API

Accédez à **Apps and integrations > APIs > API tokens** et cliquez sur **Add API token**. Copiez immédiatement le jeton, car il ne s’affichera plus après la fermeture de la boîte de dialogue.

#### Trouver votre sous-domaine

Votre sous-domaine Zendesk correspond à la première partie de votre URL Zendesk, par exemple `mycompany` dans `mycompany.zendesk.com`.

#### Se connecter dans ElevenLabs

Dans la configuration de l’intégration ElevenLabs, saisissez votre **email**, votre **API token** et votre **subdomain**.

#### Client OAuth personnalisé

#### Copier l’URL de redirection

Dans la configuration de l’intégration Zendesk d’ElevenLabs, copiez l’**URL de redirection**.

#### Créer un client OAuth dans Zendesk

Dans le [Zendesk Admin Center](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Admin-Center), accédez à **Apps and integrations > APIs > OAuth clients** et cliquez sur **Add Client**. Saisissez un **nom** et un **identifiant** unique.

#### Ajouter l’URL de redirection

Collez l’**URL de redirection** copiée depuis ElevenLabs dans la configuration du client OAuth.

#### Enregistrer le secret

Enregistrez le client OAuth. Zendesk affiche un **secret**, copiez-le et stockez-le de manière sécurisée. Il ne s’affichera plus après la fermeture de la boîte de dialogue.

#### Se connecter dans ElevenLabs

Dans la configuration de l’intégration ElevenLabs, saisissez l’**identifiant** comme ID client et fournissez le **secret**. Zendesk vous redirige pour autoriser la connexion.

## Périmètres OAuth

La connexion avec l’identifiant **OAuth2** accorde à ElevenLabs les [périmètres OAuth Zendesk](https://developer.zendesk.com/api-reference/ticketing/oauth/grant_type_tokens/) suivants. L’accès en lecture est accordé à l’échelle du compte, tandis que l’accès en écriture est demandé pour chaque ressource afin que le jeton ne puisse pas modifier les ressources que l’intégration n’utilise pas.

| Périmètre        | Objectif                                                                                                                                                                                                                                                                                                                                                                                 |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `read`           | Accès en lecture aux points de terminaison GET. Utilisé pour récupérer les tickets, les commentaires de tickets et leurs pièces jointes, les utilisateurs, les organisations, les tickets de problème et les résultats de recherche, ainsi que, lorsqu’un déclencheur est connecté, pour consulter le déclencheur Zendesk et lire le secret de signature du webhook créé par ElevenLabs. |
| `tickets:write`  | Créer, mettre à jour, supprimer et fusionner des tickets, publier des commentaires publics et internes, et ajouter ou supprimer des balises. Utilisé par les outils de ticket et pour publier la réponse de l’agent lorsqu’un déclencheur Zendesk se lance.                                                                                                                              |
| `users:write`    | Créer, mettre à jour et supprimer des utilisateurs, y compris en création ou mise à jour groupée. Utilisé par les outils de gestion des utilisateurs.                                                                                                                                                                                                                                    |
| `webhooks:write` | Créer le webhook qui transmet les événements de ticket à votre agent lorsque vous activez un déclencheur Zendesk, et supprimer ce webhook lorsque vous désactivez le déclencheur.                                                                                                                                                                                                        |
| `triggers:write` | Ajouter l’action webhook ElevenLabs au déclencheur Zendesk que vous désignez et supprimer cette action lorsque vous désactivez le déclencheur.                                                                                                                                                                                                                                           |

Un jeton ne dépasse jamais les autorisations de l’utilisateur qui l’a autorisé, l’accès effectif correspond à l’intersection de ces périmètres et du rôle Zendesk de cet utilisateur.

Ces périmètres ne s’appliquent pas aux deux autres méthodes d’authentification : un client OAuth personnalisé demande `read` et `write` (accès complet en lecture et en écriture), tandis qu’un jeton API dispose de toutes les autorisations de l’utilisateur Zendesk auquel il appartient.

## Divulgation des données

Le tableau ci-dessous répertorie chaque champ auquel l'intégration accède dans votre compte Zendesk, indique si ElevenLabs le stocke, ainsi que le moment et la raison de cet accès. **Lu** signifie que la valeur est utilisée pendant le traitement, mais non conservée. **Lu et stocké** signifie qu'elle est conservée dans l'enregistrement de conversation ElevenLabs. **Écrit** signifie que l'intégration l'envoie à Zendesk.

| Données                                                            | Accès        | Raison                                                                                                                                                                                                                                                       |
| ------------------------------------------------------------------ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| ID du ticket                                                       | Lu et stocké | Arrive dans la charge utile du webhook de déclenchement, les seules données de ticket que Zendesk transmet à ElevenLabs. Stocké comme ID externe de la conversation, comme variable dynamique `integration__zendesk_ticket_id` et comme lien vers le ticket. |
| Objet du ticket                                                    | Lu et stocké | Lu depuis le ticket lorsqu'un déclencheur s'exécute. Stocké comme variable dynamique `integration__zendesk_ticket_subject` afin que l'invite système et les outils puissent faire référence au sujet du ticket.                                              |
| Horodatage de création du ticket                                   | Lu et stocké | Lu avec le ticket. Stocké comme variable dynamique `integration__zendesk_ticket_created_at` pour être utilisé dans l'invite, par exemple pour évaluer l'ancienneté du ticket.                                                                                |
| ID du demandeur                                                    | Lu et stocké | Lu avec le ticket. Stocké comme variable dynamique `integration__zendesk_ticket_requester_id` et utilisé pour attribuer les commentaires, un demandeur également membre du personnel reste considéré comme le client.                                        |
| Balises du ticket                                                  | Lu           | Lues à chaque exécution du déclencheur pour détecter une balise `agent-rating-<score>` et une balise `force-agent`. Seule l'évaluation obtenue est stockée dans la conversation, la liste des balises elle-même n'est pas conservée.                         |
| Corps des commentaires, publics et internes                        | Lu et stocké | Lus depuis les commentaires du ticket à chaque exécution du déclencheur. Stockés comme transcription de la conversation et envoyés au LLM de l'agent, c'est à cette conversation que l'agent répond.                                                         |
| ID des commentaires                                                | Lu et stocké | Lus avec les commentaires. L'ID le plus récent est stocké comme marqueur du dernier élément traité afin que la prochaine exécution du déclencheur ignore les commentaires auxquels l'agent a déjà répondu.                                                   |
| ID de l'auteur du commentaire                                      | Lu et stocké | Lu avec les commentaires et utilisé pour rechercher l'auteur. Stocké comme identifiant utilisateur du message de transcription lorsque l'auteur n'a pas d'adresse email.                                                                                     |
| Rôle de l'auteur du commentaire                                    | Lu           | Lu pour chaque auteur de commentaire afin de déterminer si un commentaire devient un message client ou un message du personnel dans la transcription. Le rôle lui-même n'est pas conservé, seule l'attribution obtenue pour chaque message l'est.            |
| Adresse email de l'auteur du commentaire                           | Lu et stocké | Lue pour chaque auteur de commentaire. Stockée comme identifiant utilisateur des messages de transcription attribués au client, afin de lier les conversations à une personne d'un ticket à l'autre.                                                         |
| Adresse email du demandeur                                         | Lu et stocké | Lue avec l'enregistrement utilisateur du demandeur. Stockée comme variable dynamique `integration__zendesk_ticket_requester_email` afin que l'invite et les outils puissent s'adresser au client ou le rechercher.                                           |
| Métadonnées des pièces jointes : nom de fichier, type MIME, taille | Lu et stocké | Lues avec les commentaires pour vérifier qu'une pièce jointe est d'un type pris en charge et respecte les limites de taille. Stockées dans le message de transcription auquel appartient la pièce jointe.                                                    |
| Contenu des fichiers joints                                        | Lu et stocké | Téléchargé uniquement lorsque **Autoriser les pièces jointes** est activé sur l'agent et que son LLM prend en charge le type de fichier. Stocké comme fichiers de conversation afin que l'agent puisse lire ce que le client a envoyé.                       |
| Sous-domaine Zendesk                                               | Lu et stocké | Fourni par vos soins lors de la connexion. Stocké dans les paramètres de connexion de l'intégration, car il constitue l'URL de base de l'API.                                                                                                                |
| Email du compte Zendesk, authentification par jeton API uniquement | Lu et stocké | Fourni par vos soins lors de la connexion. Stocké dans les paramètres de connexion, car l'authentification par jeton API envoie l'email du compte avec le jeton.                                                                                             |
| Jeton API, jetons d'accès et d'actualisation OAuth                 | Lu et stocké | Stockés chiffrés au repos et utilisés uniquement pour authentifier les appels d'API. Jamais exposés à l'agent, à l'invite ou à l'API.                                                                                                                        |
| Secret de signature du webhook                                     | Lu et stocké | Lu une fois lorsque vous activez un déclencheur. Stocké chiffré et utilisé pour vérifier que les webhooks entrants proviennent bien de votre compte Zendesk.                                                                                                 |
| Titre, conditions et actions du déclencheur                        | Lu           | Lus lorsque vous activez un déclencheur, afin de le trouver par son nom et de préserver ses actions existantes lors de l'ajout de l'action webhook ElevenLabs. Non conservés.                                                                                |
| Réponse de l'agent                                                 | Écrit        | Publiée comme commentaire public sur le ticket ou comme commentaire interne lorsque le mode observation est activé. C'est l'objectif de l'intégration.                                                                                                       |
| Lien vers la conversation                                          | Écrit        | Publié une fois par ticket comme commentaire interne afin que le personnel puisse ouvrir la conversation dans ElevenLabs.                                                                                                                                    |
| Avis d'erreur de pièce jointe                                      | Écrit        | Publié comme commentaire interne lorsqu'une pièce jointe a été ignorée parce que son type n'est pas pris en charge, qu'elle est trop volumineuse ou que son téléchargement a échoué, afin que le personnel sache que l'agent ne l'a pas vue.                 |
| Enregistrement du webhook ElevenLabs                               | Écrit        | Créé lorsque vous activez un déclencheur Zendesk et supprimé lorsque vous le désactivez. Il s'agit du point de terminaison que Zendesk appelle lors d'événements liés aux tickets.                                                                           |
| Action webhook sur votre déclencheur                               | Écrit        | Ajoutée au déclencheur que vous nommez lorsque vous l'activez et supprimée lorsque vous le désactivez. Les actions existantes du déclencheur sont préservées.                                                                                                |
| Tickets, commentaires, balises, utilisateurs et organisations      | Écrit        | Écrits uniquement par les outils Zendesk que vous activez sur l'agent, avec les paramètres fournis par l'agent durant une conversation. Aucune écriture n'a lieu en dehors d'un appel d'outil ou d'une réponse de déclencheur.                               |

L'intégration appelle l'API Zendesk uniquement lorsqu'un déclencheur connecté s'exécute ou lorsqu'un agent appelle un outil Zendesk. Elle n'interroge pas votre compte Zendesk de manière périodique et n'exporte pas les données en masse.

Les enregistrements renvoyés par les outils Zendesk sont stockés dans la transcription de la conversation comme partie du résultat de l'appel d'outil. Un outil qui lit un enregistrement le stocke donc également. La conservation des données stockées suit les paramètres de confidentialité de l'agent qui a traité le ticket, y compris la suppression des transcriptions et des données personnelles.

## Outils Zendesk

Ajoutez des outils Zendesk à votre agent pour gérer les tickets, les utilisateurs et les organisations durant les conversations. Une fois l'intégration connectée, vous pouvez activer chaque outil depuis la page de configuration de votre agent.

### Outils disponibles

L'intégration propose plus de 30 outils organisés dans les catégories suivantes :

* **Tickets** : créer, mettre à jour, supprimer, répertorier et rechercher des tickets. Des opérations en masse sont également disponibles : création, mise à jour et suppression de plusieurs tickets.
* **Commentaires et balises** : ajouter des commentaires publics ou internes aux tickets, et ajouter ou supprimer des balises.
* **Utilisateurs** : rechercher, créer, mettre à jour et supprimer des utilisateurs. La création ou mise à jour en masse est prise en charge pour synchroniser les données utilisateur.
* **Organisations** : récupérer les détails d'une organisation et répertorier ses tickets.
* **Recherche** : exécuter des requêtes de recherche Zendesk sur les tickets, les utilisateurs et les organisations, par exemple `type:ticket status:open`.

### Exemples d'outils

#### zendesk_create_ticket

Crée un nouveau ticket d'assistance. L'agent recueille les informations auprès de l'appelant et ouvre un ticket en son nom.

| Paramètre                | Type    | Description                                                  |
| ------------------------ | ------- | ------------------------------------------------------------ |
| `ticket.subject`         | string  | Objet court du ticket                                        |
| `ticket.comment.body`    | string  | Description détaillée du problème                            |
| `ticket.requester.email` | string  | Adresse email du demandeur                                   |
| `ticket.requester.name`  | string  | Nom complet du demandeur                                     |
| `ticket.priority`        | string  | `urgent`, `high`, `normal` ou `low`                          |
| `ticket.status`          | string  | `new`, `open`, `pending`, `hold`, `solved` ou `closed`       |
| `ticket.assignee_id`     | integer | ID de l'agent auquel attribuer le ticket                     |
| `ticket.group_id`        | integer | ID du groupe vers lequel acheminer le ticket                 |
| `ticket.custom_fields`   | array   | Tableau d'objets `{id, value}` pour les champs personnalisés |

#### zendesk_search

Recherche dans Zendesk des tickets, utilisateurs ou organisations à l'aide de la syntaxe de requête de recherche Zendesk.

| Paramètre | Type   | Description                                                                                       |
| --------- | ------ | ------------------------------------------------------------------------------------------------- |
| `query`   | string | Requête de recherche, par exemple `type:ticket status:open` ou `type:user email:user@example.com` |

#### zendesk_add_comment

Ajoute un commentaire public ou interne à un ticket existant, utile pour publier des résumés d'appels ou des notes de suivi.

| Paramètre                  | Type    | Description                                            |
| -------------------------- | ------- | ------------------------------------------------------ |
| `ticket_id`                | integer | Le ticket sur lequel ajouter un commentaire            |
| `ticket.comment.body`      | string  | Texte du commentaire en texte brut                     |
| `ticket.comment.html_body` | string  | Version HTML du commentaire, facultative               |
| `ticket.comment.public`    | boolean | Indique si le commentaire est visible par le demandeur |

#### zendesk_get_user

Récupère le profil d'un utilisateur afin que l'agent puisse accueillir les appelants par leur nom ou vérifier leur identité.

| Paramètre | Type    | Description                              |
| --------- | ------- | ---------------------------------------- |
| `user_id` | integer | ID de l'utilisateur Zendesk à rechercher |

### Configurer les outils

#### Ajouter un outil d'intégration

Sur la page de configuration de votre agent, cliquez sur **Ajouter un outil**, puis sélectionnez **Ajouter un outil d'intégration**.

![Ajouter un outil d'intégration](/docs/_fern-img/ef3a82e0747f1b1da18fb6b4755812abe161d436582312e47836e621a44d83c7.webp)

#### Sélectionner les outils Zendesk

Choisissez votre connexion Zendesk et activez les outils que vous souhaitez que l'agent utilise. Vous pouvez en activer autant ou aussi peu que nécessaire. Par exemple, un agent de triage en lecture seule peut n'avoir besoin que des outils de recherche et de liste, tandis qu'un agent de service complet peut aussi créer et mettre à jour des tickets.

![Sélectionner les outils Zendesk](/docs/_fern-img/9161ae75a4c514d477174622bd4857d6faf62a11825bc7d4d191176e52a72f91.webp)

#### (Facultatif) Fournir des paramètres

Les paramètres de chaque outil sont renseignés par l'agent durant la conversation selon les propos de l'appelant. Vous n'avez pas besoin de coder les valeurs des paramètres en dur. Vous pouvez toutefois préremplir ou restreindre certains paramètres, par exemple définir une valeur par défaut pour `priority` ou `group_id`, afin d'orienter le comportement de l'agent.

#### Configuration des webhooks hérités

> **Note**
>
> Si vous utilisez l'intégration Zendesk native, les outils sont configurés automatiquement. Les étapes ci-dessous
> s'appliquent uniquement à la configuration manuelle des webhooks.

L'intégration héritée utilise trois outils webhook pour créer l'agent d'assistance. Consultez la configuration de chaque outil dans les onglets ci-dessous.

#### zendesk_get_ticket_comments

**Nom :** zendesk_get_ticket_comments
**Description :** Récupère les commentaires d'un ticket.
**Méthode :** GET
**URL :** `https://acmecorp.zendesk.com/api/v2/tickets/{ticket_id}/comments.json`

**En-têtes :**

* **Content-Type :** `application/json`
* **Authorization :** *(Secret : `zendesk_key`)*

**Paramètres de chemin :**

* **ticket_id :** Extrayez la valeur du champ `id` dans les résultats de get_resolved_tickets.

**JSON de l'outil :**

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

**Nom :** zendesk_get_resolved_tickets
**Description :** Récupère tous les tickets d'assistance résolus depuis Zendesk.
**Méthode :** GET
**URL :** `https://acmecorp.zendesk.com/api/v2/search.json?query=type:ticket+status:solved`

**En-têtes :**

* **Content-Type :** `application/json`
* **Authorization :** *(Secret : `zendesk_key`)*

**JSON de l'outil :**

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

**Nom :** zendesk_open_ticket
**Description :** Ouvre un nouveau ticket d'assistance.
**Méthode :** POST
**URL :** `https://acmecorp.zendesk.com/api/v2/tickets.json`

**En-têtes :**

* **Content-Type :** `application/json`
* **Authorization :** *(Secret : `zendesk_key`)*

**Paramètres du corps :**

* **ticket :** Un objet contenant :
  * **comment :**
    * **body :** Description détaillée du problème d'assistance.
  * **subject :** Un objet court.
  * **requester :**
    * **name :** Le nom complet du demandeur.
    * **email :** Une adresse email valide.

**JSON de l'outil :**

```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**
>
> Assurez-vous d'ajouter le secret Zendesk de votre Workspace aux secrets de l'agent.

## Déclencheurs Zendesk

Configurez des déclencheurs Zendesk pour que votre agent surveille les commentaires de tickets entrants et y réagisse, afin de fournir une assistance de premier niveau.

### Configuration

#### Créer un déclencheur dans Zendesk

Dans le Centre d'administration Zendesk, accédez à **Objets et règles > Règles métier > Déclencheurs**, puis cliquez sur **Ajouter un déclencheur**. Configurez les conditions qui déterminent les événements de ticket auxquels l'agent doit répondre, par exemple les nouveaux tickets d'un groupe spécifique ou les commentaires de ticket avec une certaine balise. Notez le nom du déclencheur, vous en aurez besoin à l'étape suivante.

Si vous ne pouvez pas enregistrer le déclencheur parce qu'une action manque, ajoutez une action simple, comme l'ajout d'une balise « l'agent traite la demande » au ticket.

#### Connecter le déclencheur dans ElevenLabs

Sur la page de configuration de votre agent, ajoutez un nouveau déclencheur et sélectionnez **Déclencheur Zendesk**. Configurez les champs suivants :

* **Agent** : l'agent qui traite les conversations entrantes.
* **Nom de la règle de déclenchement** : le nom du déclencheur Zendesk que vous avez créé à l'étape précédente.
* **Limite quotidienne de tickets** (facultatif) : nombre maximal de tickets que l'agent traite par jour. Laissez vide pour ne pas appliquer de limite.

Lorsque vous activez le déclencheur, ElevenLabs crée un webhook dans votre compte Zendesk et l'ajoute comme action au déclencheur que vous avez indiqué. Désactiver le déclencheur supprime le webhook et l'action.

#### (Facultatif) Vérifier votre déclencheur dans Zendesk

Dans le Centre d'administration Zendesk, accédez à **Objets et règles > Règles métier > Déclencheurs** et consultez le déclencheur que vous avez créé précédemment. Vous devriez voir une nouvelle action ajoutée.

Si vous aviez créé une autre action auparavant, vous pouvez maintenant la supprimer.

### Mode observation

Activez le mode observation sur un déclencheur Zendesk pour permettre à l'agent d'observer et de rédiger des réponses sans répondre directement aux clients. Lorsque le mode observation est actif, l'agent rédige ses réponses sous forme de **commentaires internes** sur le ticket, plutôt que de réponses publiques. Seuls les agents et administrateurs Zendesk peuvent voir les commentaires internes, l'utilisateur final n'est pas notifié.

> **Warning**
>
> Le mode observation affecte uniquement la manière dont l'agent publie ses réponses. Si l'agent utilise des outils qui modifient
> le ticket, par exemple en changeant son statut, en ajoutant des balises ou en l'attribuant, ces modifications restent
> appliquées. Pour éviter des modifications non souhaitées, utilisez une branche distincte de l'agent dont les appels d'outils
> de modification ont été supprimés.

Le mode observation est utile pour évaluer la qualité de l'agent avant sa mise en ligne. Consultez les commentaires internes avec les réponses d'assistance réelles pour comparer la précision et le ton, puis faites passer l'agent en mode actif lorsque vous êtes satisfait de ses résultats.

### Éviter les boucles

Lorsque l'agent répond à un commentaire de ticket via l'API Zendesk, cette réponse constitue elle-même un nouveau commentaire, ce qui peut réactiver l'agent et créer une boucle infinie. Ajoutez l'une des conditions suivantes à votre déclencheur Zendesk pour l'éviter.

**Exclure le compte de service du déclencheur.** Créez un utilisateur Zendesk distinct pour l'intégration, par exemple `ai-agent@yourcompany.com`, et utilisez les identifiants de ce compte lors de la connexion dans ElevenLabs. Ajoutez ensuite cette condition à votre déclencheur Zendesk :

* **Utilisateur actuel**, **N'est pas**, **\<votre compte de service>**

**Exclure les mises à jour d'API du déclencheur.** Cette option filtre toutes les mises à jour effectuées via l'API Zendesk, quel que soit l'utilisateur qui les a réalisées :

* **Ticket > Mis à jour via**, **N'est pas**, **Service Web (API)**

## Liens utiles

* [Documentation de l'API Zendesk](https://developer.zendesk.com/api-reference/)
* [Gérer les jetons API](https://support.zendesk.com/hc/en-us/articles/4408889192858-Managing-API-token-access-to-the-Zendesk-API)
* [Guide des déclencheurs Zendesk](https://support.zendesk.com/hc/en-us/articles/203662246-About-triggers-and-how-they-work)