> 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

## Resumen

Conecta tus agentes de IA de ElevenLabs con [Zendesk](https://www.zendesk.com/) para gestionar tickets de soporte, usuarios y organizaciones. Esta integración permite a tus agentes crear y actualizar tickets, buscar registros existentes, gestionar usuarios y responder a comentarios entrantes en tickets.

## Capacidades

| Capacidad                         | Compatible                                                                                                                                                                                                                      |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Modo de retención cero (ZRM)      | No compatible                                                                                                                                                                                                                   |
| Archivos adjuntos en activadores  | Imágenes (PNG, JPEG, GIF, WebP) y archivos PDF en comentarios entrantes de tickets, cuando **Allow file attachments** está activado en la configuración del agente y el LLM del agente admite entradas de imágenes o documentos |
| Archivos adjuntos en herramientas | No compatible — herramientas como `zendesk_show_ticket` y `zendesk_list_ticket_comments` devuelven campos de texto y no descargan archivos adjuntos                                                                             |

## Configuración

Esta integración admite tres métodos de autenticación: la aplicación OAuth de ElevenLabs, tu propio cliente OAuth y un token de API.

> **Note**
>
> Zendesk está [dejando de usar los tokens de API](https://support.zendesk.com/hc/en-us/articles/10851263566234) como método de autenticación y pasando al acceso exclusivo mediante OAuth. Las integraciones de Zendesk existentes basadas en tokens de API seguirán funcionando hasta el 30 de abril de 2027. ElevenLabs está trabajando para facilitar esta migración y contactará proactivamente con clientes afectados para ayudarles a pasarse a OAuth antes de esa fecha. Puedes cambiar al método **Custom OAuth client** que aparece abajo en cualquier momento.

#### OAuth

#### Busca tu subdominio

Tu subdominio de Zendesk es la primera parte de tu URL de Zendesk (por ejemplo, `mycompany` en `mycompany.zendesk.com`).

#### Conéctalo en ElevenLabs

En la configuración de la integración de ElevenLabs, selecciona la credencial **OAuth2**, introduce tu **subdomain** y haz clic en **Connect**.

#### Autoriza la conexión

Zendesk muestra una página de autorización con los accesos que solicita la aplicación de ElevenLabs: acceso de lectura en toda tu cuenta y acceso de escritura a tickets, usuarios, webhooks y activadores. Inicia sesión como un usuario que tenga los permisos que necesita tu agente y haz clic en **Allow**. Zendesk te redirige de vuelta a ElevenLabs y se crea la conexión.

Autoriza como administrador si planeas usar activadores de Zendesk: crear webhooks y editar activadores está restringido a administradores de Zendesk.

#### Token de API

#### Activa el acceso mediante token de API

En [Zendesk Admin Center](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Admin-Center), ve a **Apps and integrations > APIs > Zendesk API** y activa **Token Access**.

#### Genera un token de API

Ve a **Apps and integrations > APIs > API tokens** y haz clic en **Add API token**. Copia el token inmediatamente; no volverá a mostrarse después de cerrar el diálogo.

#### Busca tu subdominio

Tu subdominio de Zendesk es la primera parte de tu URL de Zendesk (por ejemplo, `mycompany` en `mycompany.zendesk.com`).

#### Conéctalo en ElevenLabs

En la configuración de la integración de ElevenLabs, introduce tu **email**, **API token** y **subdomain**.

#### Cliente OAuth personalizado

#### Copia la URL de redirección

En la configuración de la integración de Zendesk de ElevenLabs, copia la **redirect URL**.

#### Crea un cliente OAuth en Zendesk

En [Zendesk Admin Center](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Admin-Center), ve a **Apps and integrations > APIs > OAuth clients** y haz clic en **Add Client**. Introduce un **name** y un **identifier** único.

#### Añade la URL de redirección

Pega la **redirect URL** que copiaste de ElevenLabs en la configuración del cliente OAuth.

#### Guarda el secreto

Guarda el cliente OAuth. Zendesk muestra un **secret**; cópialo y guárdalo de forma segura. No volverá a mostrarse después de cerrar el diálogo.

#### Conéctalo en ElevenLabs

En la configuración de la integración de ElevenLabs, introduce el **identifier** como ID de cliente y proporciona el **secret**. Zendesk te redirige para autorizar la conexión.

## Ámbitos de OAuth

La conexión con la credencial **OAuth2** otorga a ElevenLabs los siguientes [ámbitos de OAuth de Zendesk](https://developer.zendesk.com/api-reference/ticketing/oauth/grant_type_tokens/). El acceso de lectura se concede para toda la cuenta, mientras que el acceso de escritura se solicita por recurso para que el token no pueda modificar recursos que la integración no utiliza.

| Ámbito           | Finalidad                                                                                                                                                                                                                                                                                                                         |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `read`           | Acceso de lectura a rutas GET. Se utiliza para obtener tickets, comentarios de tickets y sus archivos adjuntos, usuarios, organizaciones, tickets de problemas y resultados de búsqueda; y, cuando hay un activador conectado, para consultar el activador de Zendesk y leer el secreto de firma del webhook que crea ElevenLabs. |
| `tickets:write`  | Crea, actualiza, elimina y fusiona tickets, publica comentarios públicos e internos, y añade o elimina etiquetas. Lo utilizan las herramientas de tickets y para publicar la respuesta del agente cuando se activa un activador de Zendesk.                                                                                       |
| `users:write`    | Crea, actualiza y elimina usuarios, incluida la creación o actualización masiva. Lo utilizan las herramientas de gestión de usuarios.                                                                                                                                                                                             |
| `webhooks:write` | Crea el webhook que entrega eventos de tickets a tu agente cuando activas un activador de Zendesk y elimina ese webhook cuando desactivas el activador.                                                                                                                                                                           |
| `triggers:write` | Añade la acción de webhook de ElevenLabs al activador de Zendesk que indiques y elimina esa acción cuando desactivas el activador.                                                                                                                                                                                                |

Un token nunca supera los permisos del usuario que lo autorizó: el acceso efectivo es la intersección entre estos ámbitos y el rol de Zendesk de ese usuario.

Estos ámbitos no se aplican a los otros dos métodos de autenticación: un cliente OAuth personalizado solicita `read` y `write` (acceso completo de lectura y escritura), y un token de API incluye todos los permisos del usuario de Zendesk al que pertenece.

## Divulgación de datos

La tabla siguiente enumera todos los campos a los que accede la integración en tu cuenta de Zendesk, si ElevenLabs los almacena y cuándo y por qué accede a ellos. **Leído** significa que el valor se utiliza durante el procesamiento, pero no se conserva. **Leído y almacenado** significa que se conserva en el registro de conversación de ElevenLabs. **Escrito** significa que la integración lo envía a Zendesk.

| Datos                                                                           | Acceso             | Motivo                                                                                                                                                                                                                                                                |
| ------------------------------------------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ID del ticket                                                                   | Leído y almacenado | Llega en la carga útil del webhook de activación: son los únicos datos del ticket que Zendesk envía a ElevenLabs. Se almacena como el ID externo de la conversación, como la variable dinámica `integration__zendesk_ticket_id` y como enlace al ticket.              |
| Asunto del ticket                                                               | Leído y almacenado | Se lee del ticket cuando se activa un desencadenante. Se almacena como la variable dinámica `integration__zendesk_ticket_subject` para que el prompt del sistema y las herramientas puedan consultar de qué trata el ticket.                                          |
| Marca de tiempo de creación del ticket                                          | Leído y almacenado | Se lee con el ticket. Se almacena como la variable dinámica `integration__zendesk_ticket_created_at` para usarla en el prompt, por ejemplo, para razonar sobre la antigüedad del ticket.                                                                              |
| ID del solicitante                                                              | Leído y almacenado | Se lee con el ticket. Se almacena como la variable dinámica `integration__zendesk_ticket_requester_id` y se utiliza para atribuir comentarios: un solicitante que también sea miembro del personal sigue tratándose como cliente.                                     |
| Etiquetas del ticket                                                            | Leído              | Se leen en cada ejecución del desencadenante para detectar una etiqueta `agent-rating-<score>` y una etiqueta `force-agent`. Solo se almacena la valoración resultante en la conversación; la lista de etiquetas no se conserva.                                      |
| Cuerpos de los comentarios, públicos e internos                                 | Leído y almacenado | Se leen de los comentarios del ticket en cada ejecución del desencadenante. Se almacenan como la transcripción de la conversación y se envían al LLM del agente: esta es la conversación a la que responde el agente.                                                 |
| ID de los comentarios                                                           | Leído y almacenado | Se leen con los comentarios. El ID más reciente se almacena como marcador del último procesamiento para que la siguiente ejecución del desencadenante omita los comentarios que el agente ya ha respondido.                                                           |
| ID del autor del comentario                                                     | Leído y almacenado | Se lee con los comentarios y se utiliza para buscar al autor. Se almacena como identificador de usuario del mensaje de la transcripción cuando el autor no tiene dirección de correo electrónico.                                                                     |
| Rol del autor del comentario                                                    | Leído              | Se lee para cada autor de comentario para decidir si un comentario se convierte en un mensaje de cliente o de personal en la transcripción. El rol en sí no se conserva, solo la atribución resultante de cada mensaje.                                               |
| Dirección de correo electrónico del autor del comentario                        | Leído y almacenado | Se lee para cada autor de comentario. Se almacena como identificador de usuario en los mensajes de la transcripción atribuidos al cliente, para poder vincular conversaciones a una persona entre distintos tickets.                                                  |
| Dirección de correo electrónico del solicitante                                 | Leído y almacenado | Se lee con el registro de usuario del solicitante. Se almacena como la variable dinámica `integration__zendesk_ticket_requester_email` para que el prompt y las herramientas puedan dirigirse al cliente o buscarlo.                                                  |
| Metadatos de adjuntos: nombre de archivo, tipo MIME y tamaño                    | Leído y almacenado | Se leen con los comentarios para comprobar que un adjunto sea de un tipo compatible y esté dentro de los límites de tamaño. Se almacenan en el mensaje de la transcripción al que pertenece el adjunto.                                                               |
| Contenido de archivos adjuntos                                                  | Leído y almacenado | Se descarga solo cuando **Permitir archivos adjuntos** está activado en el agente y su LLM admite el tipo de archivo. Se almacena como archivos de conversación para que el agente pueda leer lo que ha enviado el cliente.                                           |
| Subdominio de Zendesk                                                           | Leído y almacenado | Lo proporcionas al conectarte. Se almacena en la configuración de conexión de la integración porque constituye la URL base de la API.                                                                                                                                 |
| Correo electrónico de la cuenta de Zendesk, solo autenticación con token de API | Leído y almacenado | Lo proporcionas al conectarte. Se almacena en la configuración de conexión porque la autenticación con token de API envía el correo electrónico de la cuenta junto con el token.                                                                                      |
| Token de API, tokens de acceso y actualización OAuth                            | Leído y almacenado | Se almacenan cifrados en reposo y solo se utilizan para autenticar llamadas a la API. Nunca se exponen al agente, al prompt ni a la API.                                                                                                                              |
| Secreto de firma del webhook                                                    | Leído y almacenado | Se lee una vez al activar un desencadenante. Se almacena cifrado y se utiliza para verificar que los webhooks entrantes proceden realmente de tu cuenta de Zendesk.                                                                                                   |
| Título, condiciones y acciones del desencadenante                               | Leído              | Se leen al activar un desencadenante para encontrarlo por nombre y conservar sus acciones existentes al añadir la acción de webhook de ElevenLabs. No se conservan.                                                                                                   |
| Respuesta del agente                                                            | Escrito            | Se publica como comentario público en el ticket o como comentario interno cuando está activado el modo sombra. Este es el propósito de la integración.                                                                                                                |
| Enlace de la conversación                                                       | Escrito            | Se publica una vez por ticket como comentario interno para que el personal pueda abrir la conversación en ElevenLabs.                                                                                                                                                 |
| Aviso de error de adjunto                                                       | Escrito            | Se publica como comentario interno cuando se omite un adjunto porque es de un tipo no compatible, es demasiado grande o no se pudo descargar, para que el personal sepa que el agente no lo ha visto.                                                                 |
| Registro de webhook de ElevenLabs                                               | Escrito            | Se crea al activar un desencadenante de Zendesk y se elimina al desactivarlo. Esta es la ruta a la que Zendesk llama cuando ocurren eventos del ticket.                                                                                                               |
| Acción de webhook en tu desencadenante                                          | Escrito            | Se añade al desencadenante que indiques al activarlo y se elimina al desactivarlo. Se conservan las acciones existentes en el desencadenante.                                                                                                                         |
| Tickets, comentarios, etiquetas, usuarios y organizaciones                      | Escrito            | Se escriben únicamente mediante las herramientas de Zendesk que actives en el agente, con los parámetros que el agente proporciona durante una conversación. No se realizan escrituras fuera de una llamada a una herramienta o de una respuesta a un desencadenante. |

La integración llama a la API de Zendesk solo cuando se activa un desencadenante conectado o cuando un agente invoca una herramienta de Zendesk. No consulta periódicamente tu cuenta de Zendesk ni exporta datos de forma masiva.

Los registros devueltos por las herramientas de Zendesk se almacenan en la transcripción de la conversación como parte del resultado de la llamada a la herramienta, por lo que una herramienta que lee un registro también lo almacena. La conservación de los datos almacenados sigue la configuración de privacidad del agente que gestionó el ticket, incluida la eliminación de transcripciones y de información de identificación personal.

## Herramientas de Zendesk

Añade herramientas de Zendesk a tu agente para gestionar tickets, usuarios y organizaciones durante las conversaciones. Cuando conectes la integración, podrás activar herramientas individuales en la página de configuración del agente.

### Herramientas disponibles

La integración ofrece más de 30 herramientas organizadas en las siguientes categorías:

* **Tickets** — crea, actualiza, elimina, enumera y busca tickets. También están disponibles operaciones masivas (crear varios, actualizar varios y eliminar varios).
* **Comentarios y etiquetas** — añade comentarios públicos o internos a los tickets, y añade o elimina etiquetas.
* **Usuarios** — busca, crea, actualiza y elimina usuarios. Se permite crear o actualizar en bloque para sincronizar datos de usuarios.
* **Organizaciones** — consulta los detalles de una organización y enumera sus tickets.
* **Búsqueda** — ejecuta consultas de búsqueda de Zendesk en tickets, usuarios y organizaciones (p. ej., `type:ticket status:open`).

### Ejemplos de herramientas

#### zendesk_create_ticket

Crea un nuevo ticket de soporte. El agente recopila los datos de la persona que llama y abre un ticket en su nombre.

| Parámetro                | Tipo   | Descripción                                                |
| ------------------------ | ------ | ---------------------------------------------------------- |
| `ticket.subject`         | cadena | Línea de asunto breve para el ticket                       |
| `ticket.comment.body`    | cadena | Descripción detallada del problema                         |
| `ticket.requester.email` | cadena | Dirección de correo electrónico del solicitante            |
| `ticket.requester.name`  | cadena | Nombre completo del solicitante                            |
| `ticket.priority`        | cadena | `urgent`, `high`, `normal` o `low`                         |
| `ticket.status`          | cadena | `new`, `open`, `pending`, `hold`, `solved` o `closed`      |
| `ticket.assignee_id`     | entero | ID del agente al que asignar el ticket                     |
| `ticket.group_id`        | entero | ID del grupo al que dirigir el ticket                      |
| `ticket.custom_fields`   | matriz | Matriz de objetos `{id, value}` para campos personalizados |

#### zendesk_search

Busca tickets, usuarios u organizaciones en Zendesk mediante la sintaxis de consultas de búsqueda de Zendesk.

| Parámetro | Tipo   | Descripción                                                                                   |
| --------- | ------ | --------------------------------------------------------------------------------------------- |
| `query`   | cadena | Consulta de búsqueda (p. ej., `type:ticket status:open` o `type:user email:user@example.com`) |

#### zendesk_add_comment

Añade un comentario público o interno a un ticket existente; resulta útil para publicar resúmenes de llamadas o notas de seguimiento.

| Parámetro                  | Tipo     | Descripción                                            |
| -------------------------- | -------- | ------------------------------------------------------ |
| `ticket_id`                | entero   | Ticket en el que añadir el comentario                  |
| `ticket.comment.body`      | cadena   | Texto sin formato del comentario                       |
| `ticket.comment.html_body` | cadena   | Versión HTML del comentario (opcional)                 |
| `ticket.comment.public`    | booleano | Indica si el comentario es visible para el solicitante |

#### zendesk_get_user

Recupera el perfil de un usuario para que el agente pueda saludar a quienes llaman por su nombre o verificar su identidad.

| Parámetro | Tipo   | Descripción                                  |
| --------- | ------ | -------------------------------------------- |
| `user_id` | entero | ID del usuario de Zendesk que se debe buscar |

### Configurar herramientas

#### Añade una herramienta de integración

En la página de configuración del agente, haz clic en **Añadir herramienta** y selecciona **Añadir herramienta de integración**.

![Añadir herramienta de integración](/docs/_fern-img/ef3a82e0747f1b1da18fb6b4755812abe161d436582312e47836e621a44d83c7.webp)

#### Selecciona las herramientas de Zendesk

Elige tu conexión de Zendesk y activa las herramientas que quieres que use el agente. Puedes activar tantas o tan pocas como necesites; por ejemplo, un agente de clasificación de solo lectura quizá solo necesite herramientas de búsqueda y listado, mientras que un agente de servicio completo también podría crear y actualizar tickets.

![Seleccionar herramientas de Zendesk](/docs/_fern-img/9161ae75a4c514d477174622bd4857d6faf62a11825bc7d4d191176e52a72f91.webp)

#### (Opcional) Proporciona parámetros

El agente completa los parámetros de cada herramienta durante la conversación según lo que diga la persona que llama. No necesitas codificar valores de parámetros de forma fija. Sin embargo, puedes rellenar previamente o restringir parámetros específicos de forma opcional; por ejemplo, establecer un `priority` o `group_id` predeterminado para guiar el comportamiento del agente.

#### Configuración heredada mediante webhook

> **Note**
>
> Si usas la integración nativa de Zendesk, las herramientas se configuran automáticamente. Los pasos siguientes
> solo se aplican a la configuración manual mediante webhook.

La integración heredada usa tres herramientas de webhook para crear el agente de soporte. Revisa la configuración de cada herramienta en las pestañas siguientes.

#### zendesk_get_ticket_comments

**Nombre:** zendesk_get_ticket_comments
**Descripción:** Recupera los comentarios de un ticket.
**Método:** GET
**URL:** `https://acmecorp.zendesk.com/api/v2/tickets/{ticket_id}/comments.json`

**Cabeceras:**

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

**Parámetros de ruta:**

* **ticket_id:** Extrae el valor del campo `id` en los resultados de get_resolved_tickets.

**JSON de la herramienta:**

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

**Nombre:** zendesk_get_resolved_tickets
**Descripción:** Recupera todos los tickets de soporte resueltos de Zendesk.
**Método:** GET
**URL:** `https://acmecorp.zendesk.com/api/v2/search.json?query=type:ticket+status:solved`

**Cabeceras:**

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

**JSON de la herramienta:**

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

**Nombre:** zendesk_open_ticket
**Descripción:** Abre un nuevo ticket de soporte.
**Método:** POST
**URL:** `https://acmecorp.zendesk.com/api/v2/tickets.json`

**Cabeceras:**

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

**Parámetros del cuerpo:**

* **ticket:** Un objeto que contiene:
  * **comment:**
    * **body:** Descripción detallada del problema de soporte.
  * **subject:** Una línea de asunto breve.
  * **requester:**
    * **name:** El nombre completo del solicitante.
    * **email:** Una dirección de correo electrónico válida.

**JSON de la herramienta:**

```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**
>
> Asegúrate de añadir el secreto de Zendesk de tu espacio de trabajo a los secretos del agente.

## Activadores de Zendesk

Configura activadores de Zendesk para que tu agente supervise y responda a los comentarios entrantes de tickets, proporcionando soporte de primera línea.

### Configuración

#### Crea un activador en Zendesk

En el Centro de administración de Zendesk, ve a **Objetos y reglas > Reglas de negocio > Activadores** y haz clic en **Añadir activador**. Configura las condiciones que determinan a qué eventos de tickets debe responder el agente (p. ej., nuevos tickets de un grupo específico o comentarios de tickets con una determinada etiqueta). Anota el nombre del activador: lo necesitarás en el siguiente paso.

Si no puedes guardar el activador porque falta una acción, añade una acción sencilla, como añadir al ticket una etiqueta de «el agente está procesando».

#### Conecta el activador en ElevenLabs

En la página de configuración del agente, añade un activador nuevo y selecciona **Activador de Zendesk**. Configura los campos:

* **Agente**: el agente que gestiona las conversaciones entrantes.
* **Nombre de la regla del activador**: el nombre del activador de Zendesk que creaste en el paso anterior.
* **Límite diario de tickets** (opcional): número máximo de tickets que el agente gestiona al día. Déjalo vacío para no establecer ningún límite.

Al activar el activador, ElevenLabs crea un webhook en tu cuenta de Zendesk y lo añade como acción al activador que especificaste. Al desactivar el activador, se eliminan el webhook y la acción.

#### (Opcional) Comprueba tu activador en Zendesk

En el Centro de administración de Zendesk, ve a **Objetos y reglas > Reglas de negocio > Activadores** y consulta el activador que creaste anteriormente. Deberías ver una nueva acción añadida.

Si creaste otra acción anteriormente, ahora puedes eliminarla.

### Modo sombra

Activa el modo sombra en un activador de Zendesk para que el agente observe y redacte respuestas sin responder directamente a clientes. Cuando el modo sombra está activo, el agente escribe sus respuestas como **comentarios internos** en el ticket en lugar de como respuestas públicas. Solo agentes y administradores de Zendesk pueden ver los comentarios internos; el usuario final no recibe ninguna notificación.

> **Warning**
>
> El modo sombra solo afecta a cómo el agente publica sus respuestas. Si el agente usa herramientas que modifican
> el ticket (p. ej., cambiar el estado, añadir etiquetas o asignar el ticket), esos cambios se siguen
> aplicando. Para evitar modificaciones no deseadas, usa una rama independiente del agente sin llamadas a
> herramientas que modifiquen datos.

El modo sombra es útil para evaluar la calidad del agente antes de ponerlo en marcha. Revisa los comentarios internos junto con las respuestas reales de soporte para comparar la precisión y el tono; después, cambia el agente al modo activo cuando confíes en sus resultados.

### Evitar bucles

Cuando el agente responde a un comentario de ticket mediante la API de Zendesk, esa respuesta es a su vez un comentario nuevo, lo que puede volver a activar el agente y crear un bucle infinito. Añade una de las siguientes condiciones a tu activador de Zendesk para evitarlo.

**Excluye la cuenta de servicio del activador.** Crea un usuario de Zendesk independiente para la integración (p. ej., `ai-agent@yourcompany.com`) y usa las credenciales de esta cuenta al conectarte en ElevenLabs. Después, añade esta condición a tu activador de Zendesk:

* **Usuario actual**, **No es**, **\<tu cuenta de servicio>**

**Excluye las actualizaciones de la API del activador.** Esto filtra todas las actualizaciones realizadas mediante la API de Zendesk, independientemente del usuario que las haya realizado:

* **Ticket > Actualizar mediante**, **No es**, **Servicio web (API)**

## Enlaces útiles

* [Documentación de la API de Zendesk](https://developer.zendesk.com/api-reference/)
* [Gestionar tokens de API](https://support.zendesk.com/hc/en-us/articles/4408889192858-Managing-API-token-access-to-the-Zendesk-API)
* [Guía de activadores de Zendesk](https://support.zendesk.com/hc/en-us/articles/203662246-About-triggers-and-how-they-work)