> 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

## Panoramica

Collega i tuoi agenti IA di ElevenLabs a [Zendesk](https://www.zendesk.com/) per gestire ticket di assistenza, utenti e organizzazioni. Questa integrazione consente ai tuoi agenti di creare e aggiornare ticket, cercare record esistenti, gestire utenti e rispondere ai commenti in arrivo sui ticket.

## Funzionalità

| Funzionalità                       | Supporto                                                                                                                                                                                                              |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Modalità senza conservazione (ZRM) | Non supportata                                                                                                                                                                                                        |
| Allegati nei trigger               | Immagini (PNG, JPEG, GIF, WebP) e file PDF nei commenti in arrivo sui ticket, quando **Consenti allegati file** è abilitato nelle impostazioni dell'agente e l'LLM dell'agente supporta input di immagini o documenti |
| Allegati negli strumenti           | Non supportati — strumenti come `zendesk_show_ticket` e `zendesk_list_ticket_comments` restituiscono campi di testo e non scaricano allegati                                                                          |

## Configurazione

Questa integrazione supporta tre metodi di autenticazione: l'app OAuth di ElevenLabs, il tuo client OAuth e un token API.

> **Note**
>
> Zendesk sta [eliminando gradualmente i token API](https://support.zendesk.com/hc/en-us/articles/10851263566234)
> come metodo di autenticazione e sta passando a un accesso esclusivamente OAuth. Le integrazioni Zendesk esistenti basate su token API continueranno a funzionare fino al 30 aprile 2027. ElevenLabs sta lavorando per supportare questa migrazione e contatterà proattivamente i clienti interessati per aiutarli a passare a OAuth prima di tale data. Puoi passare in qualsiasi momento al metodo **Client OAuth personalizzato** qui sotto.

#### OAuth

#### Trova il tuo sottodominio

Il tuo sottodominio Zendesk è la prima parte del tuo URL Zendesk (ad esempio, `mycompany` in `mycompany.zendesk.com`).

#### Connetti in ElevenLabs

Nella configurazione dell'integrazione di ElevenLabs, seleziona la credenziale **OAuth2**, inserisci il tuo **sottodominio** e fai clic su **Connetti**.

#### Autorizza la connessione

Zendesk mostra una pagina di autorizzazione che elenca gli accessi richiesti dall'app ElevenLabs: accesso in lettura per tutto il tuo account, oltre all'accesso in scrittura a ticket, utenti, webhook e trigger. Accedi come utente con le autorizzazioni necessarie al tuo agente e fai clic su **Consenti**. Zendesk ti reindirizza a ElevenLabs e viene creata la connessione.

Autorizza come amministratore se prevedi di usare trigger Zendesk: la creazione di webhook e la modifica dei trigger sono limitate agli amministratori Zendesk.

#### Token API

#### Abilita l'accesso con token API

In [Zendesk Admin Center](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Admin-Center), vai a **App e integrazioni > API > API Zendesk** e abilita **Accesso ai token**.

#### Genera un token API

Vai a **App e integrazioni > API > Token API** e fai clic su **Aggiungi token API**. Copia subito il token: non verrà più mostrato dopo la chiusura della finestra di dialogo.

#### Trova il tuo sottodominio

Il tuo sottodominio Zendesk è la prima parte del tuo URL Zendesk (ad esempio, `mycompany` in `mycompany.zendesk.com`).

#### Connetti in ElevenLabs

Nella configurazione dell'integrazione di ElevenLabs, inserisci la tua **email**, il **token API** e il **sottodominio**.

#### Client OAuth personalizzato

#### Copia l'URL di reindirizzamento

Nella configurazione dell'integrazione Zendesk di ElevenLabs, copia l'**URL di reindirizzamento**.

#### Crea un client OAuth in Zendesk

In [Zendesk Admin Center](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Admin-Center), vai a **App e integrazioni > API > Client OAuth** e fai clic su **Aggiungi client**. Inserisci un **nome** e un **identificatore** univoco.

#### Aggiungi l'URL di reindirizzamento

Incolla l'**URL di reindirizzamento** copiato da ElevenLabs nella configurazione del client OAuth.

#### Salva il segreto

Salva il client OAuth. Zendesk mostra un **segreto**: copialo e conservalo in modo sicuro. Non verrà più mostrato dopo la chiusura della finestra di dialogo.

#### Connetti in ElevenLabs

Nella configurazione dell'integrazione di ElevenLabs, inserisci l'**identificatore** come ID client e fornisci il **segreto**. Zendesk ti reindirizza per autorizzare la connessione.

## Ambiti OAuth

La connessione con la credenziale **OAuth2** concede a ElevenLabs i seguenti [ambiti OAuth di Zendesk](https://developer.zendesk.com/api-reference/ticketing/oauth/grant_type_tokens/). L'accesso in lettura viene concesso a livello di account, mentre l'accesso in scrittura viene richiesto per singola risorsa, quindi il token non può modificare risorse che l'integrazione non usa.

| Ambito           | Scopo                                                                                                                                                                                                                                                                                                                        |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `read`           | Accesso in lettura agli endpoint GET. Viene usato per recuperare ticket, commenti dei ticket e relativi allegati, utenti, organizzazioni, ticket problematici e risultati di ricerca, nonché — quando è connesso un trigger — per cercare il trigger Zendesk e leggere il segreto di firma del webhook creato da ElevenLabs. |
| `tickets:write`  | Crea, aggiorna, elimina e unisce ticket, pubblica commenti pubblici e interni e aggiunge o rimuove tag. Viene usato dagli strumenti per i ticket e per pubblicare la risposta dell'agente quando viene attivato un trigger Zendesk.                                                                                          |
| `users:write`    | Crea, aggiorna ed elimina utenti, inclusa la creazione o l'aggiornamento in blocco. Viene usato dagli strumenti di gestione degli utenti.                                                                                                                                                                                    |
| `webhooks:write` | Crea il webhook che invia gli eventi dei ticket al tuo agente quando attivi un trigger Zendesk ed elimina quel webhook quando disattivi il trigger.                                                                                                                                                                          |
| `triggers:write` | Aggiunge l'azione webhook di ElevenLabs al trigger Zendesk da te indicato e rimuove tale azione quando disattivi il trigger.                                                                                                                                                                                                 |

Un token non supera mai le autorizzazioni dell'utente che lo ha autorizzato: l'accesso effettivo è l'intersezione tra questi ambiti e il ruolo Zendesk di quell'utente.

Questi ambiti non si applicano agli altri due metodi di autenticazione: un client OAuth personalizzato richiede `read` e `write` (accesso completo in lettura e scrittura), mentre un token API dispone di tutte le autorizzazioni dell'utente Zendesk a cui appartiene.

## Divulgazione dei dati

La tabella seguente elenca ogni campo a cui l'integrazione accede nel tuo account Zendesk, se ElevenLabs lo archivia e quando e perché vi accede. **Letto** significa che il valore viene usato durante l'elaborazione ma non viene conservato. **Letto e archiviato** significa che viene conservato nel record della conversazione di ElevenLabs. **Scritto** significa che l'integrazione lo invia a Zendesk.

| Dati                                                              | Accesso            | Motivo                                                                                                                                                                                                                                       |
| ----------------------------------------------------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ID del ticket                                                     | Letto e archiviato | Arriva nel payload del webhook trigger: sono gli unici dati del ticket che Zendesk invia a ElevenLabs. Viene archiviato come ID esterno della conversazione, come variabile dinamica `integration__zendesk_ticket_id` e come link al ticket. |
| Oggetto del ticket                                                | Letto e archiviato | Viene letto dal ticket quando si attiva un trigger. Viene archiviato come variabile dinamica `integration__zendesk_ticket_subject`, affinché il system prompt e gli strumenti possano fare riferimento all'argomento del ticket.             |
| Timestamp di creazione del ticket                                 | Letto e archiviato | Viene letto insieme al ticket. Viene archiviato come variabile dinamica `integration__zendesk_ticket_created_at` da usare nel prompt, ad esempio per valutare l'età del ticket.                                                              |
| ID del richiedente                                                | Letto e archiviato | Viene letto insieme al ticket. Viene archiviato come variabile dinamica `integration__zendesk_ticket_requester_id` e usato per attribuire i commenti: un richiedente che è anche membro del personale viene comunque trattato come cliente.  |
| Tag del ticket                                                    | Letto              | Vengono letti a ogni esecuzione del trigger per rilevare un tag `agent-rating-<score>` e un tag `force-agent`. Nella conversazione viene archiviata solo la valutazione risultante; l'elenco dei tag non viene conservato.                   |
| Corpi dei commenti, pubblici e interni                            | Letto e archiviato | Vengono letti dai commenti del ticket a ogni esecuzione del trigger. Vengono archiviati come trascrizione della conversazione e inviati all'LLM dell'agente: è questa la conversazione a cui l'agente risponde.                              |
| ID dei commenti                                                   | Letto e archiviato | Vengono letti insieme ai commenti. L'ID più recente viene archiviato come indicatore dell'ultima elaborazione, così la successiva esecuzione del trigger salta i commenti a cui l'agente ha già risposto.                                    |
| ID dell'autore del commento                                       | Letto e archiviato | Viene letto insieme ai commenti e usato per cercare l'autore. Viene archiviato come identificatore utente del messaggio nella trascrizione quando l'autore non ha un indirizzo email.                                                        |
| Ruolo dell'autore del commento                                    | Letto              | Viene letto per ogni autore di commento per decidere se il commento diventa un messaggio del cliente o del personale nella trascrizione. Il ruolo stesso non viene conservato, ma solo l'attribuzione risultante per ogni messaggio.         |
| Indirizzo email dell'autore del commento                          | Letto e archiviato | Viene letto per ogni autore di commento. Viene archiviato come identificatore utente nei messaggi della trascrizione attribuiti al cliente, così le conversazioni possono essere associate a una persona tra ticket diversi.                 |
| Indirizzo email del richiedente                                   | Letto e archiviato | Viene letto dal record utente del richiedente. Viene archiviato come variabile dinamica `integration__zendesk_ticket_requester_email`, affinché il prompt e gli strumenti possano rivolgersi al cliente o cercarlo.                          |
| Metadati dell'allegato: nome file, tipo MIME, dimensione          | Letto e archiviato | Vengono letti insieme ai commenti per verificare che un allegato sia di un tipo supportato e rientri nei limiti di dimensione. Vengono archiviati nel messaggio della trascrizione a cui appartiene l'allegato.                              |
| Contenuto del file allegato                                       | Letto e archiviato | Viene scaricato solo quando **Consenti allegati di file** è abilitato sull'agente e il suo LLM supporta il tipo di file. Viene archiviato come file della conversazione affinché l'agente possa leggere ciò che il cliente ha inviato.       |
| Sottodominio Zendesk                                              | Letto e archiviato | Viene fornito da te al momento della connessione. Viene archiviato nelle impostazioni di connessione dell'integrazione perché costituisce l'URL di base dell'API.                                                                            |
| Email dell'account Zendesk, solo autenticazione tramite token API | Letto e archiviato | Viene fornita da te al momento della connessione. Viene archiviata nelle impostazioni di connessione perché l'autenticazione tramite token API invia l'email dell'account insieme al token.                                                  |
| Token API, token di accesso e aggiornamento OAuth                 | Letto e archiviato | Vengono archiviati crittografati e usati solo per autenticare le chiamate API. Non vengono mai esposti all'agente, al prompt o all'API.                                                                                                      |
| Segreto di firma del webhook                                      | Letto e archiviato | Viene letto una volta quando attivi un trigger. Viene archiviato crittografato e usato per verificare che i webhook in entrata provengano effettivamente dal tuo account Zendesk.                                                            |
| Titolo, condizioni e azioni del trigger                           | Letto              | Vengono letti quando attivi un trigger, per trovarlo per nome e preservarne le azioni esistenti quando viene aggiunta l'azione webhook di ElevenLabs. Non vengono conservati.                                                                |
| Risposta dell'agente                                              | Scritto            | Viene pubblicata come commento pubblico sul ticket o come commento interno quando la modalità shadow è attiva. Questo è lo scopo dell'integrazione.                                                                                          |
| Link alla conversazione                                           | Scritto            | Viene pubblicato una volta per ticket come commento interno, così il personale può aprire la conversazione in ElevenLabs.                                                                                                                    |
| Avviso di errore dell'allegato                                    | Scritto            | Viene pubblicato come commento interno quando un allegato viene saltato perché è di un tipo non supportato, troppo grande o non è stato possibile scaricarlo, così il personale sa che l'agente non l'ha visualizzato.                       |
| Registrazione del webhook ElevenLabs                              | Scritto            | Viene creata quando attivi un trigger Zendesk ed eliminata quando lo disattivi. È l'endpoint che Zendesk chiama in caso di eventi relativi ai ticket.                                                                                        |
| Azione webhook sul tuo trigger                                    | Scritto            | Viene aggiunta al trigger che indichi quando lo attivi e rimossa quando lo disattivi. Le azioni esistenti sul trigger vengono preservate.                                                                                                    |
| Ticket, commenti, tag, utenti e organizzazioni                    | Scritto            | Vengono scritti solo dagli strumenti Zendesk che abiliti sull'agente, con i parametri forniti dall'agente durante una conversazione. Non avvengono scritture al di fuori di una chiamata di strumento o di una risposta a un trigger.        |

L'integrazione chiama l'API Zendesk solo quando si attiva un trigger connesso o quando un agente richiama uno strumento Zendesk. Non esegue il polling del tuo account Zendesk e non esporta dati in blocco.

I record restituiti dagli strumenti Zendesk vengono archiviati nella trascrizione della conversazione come parte del risultato della chiamata dello strumento, quindi uno strumento che legge un record lo archivia anche. La conservazione dei dati archiviati segue le impostazioni sulla privacy dell'agente che ha gestito il ticket, inclusa l'eliminazione della trascrizione e dei dati personali.

## Strumenti Zendesk

Aggiungi strumenti Zendesk al tuo agente per gestire ticket, utenti e organizzazioni durante le conversazioni. Una volta connessa l'integrazione, puoi abilitare singoli strumenti nella pagina di configurazione dell'agente.

### Strumenti disponibili

L'integrazione offre oltre 30 strumenti organizzati nelle seguenti categorie:

* **Ticket** — crea, aggiorna, elimina, elenca e cerca ticket. Sono disponibili anche operazioni in blocco (creazione, aggiornamento ed eliminazione di più elementi).
* **Commenti e tag** — aggiungi commenti pubblici o interni ai ticket e aggiungi o rimuovi tag.
* **Utenti** — cerca, crea, aggiorna ed elimina utenti. La creazione o l'aggiornamento in blocco è supportato per sincronizzare i dati utente.
* **Organizzazioni** — recupera i dettagli dell'organizzazione ed elenca i ticket di un'organizzazione.
* **Ricerca** — esegui query di ricerca Zendesk su ticket, utenti e organizzazioni (ad esempio, `type:ticket status:open`).

### Esempi di strumenti

#### zendesk\_create\_ticket

Crea un nuovo ticket di assistenza. L'agente raccoglie i dettagli dal chiamante e apre un ticket per suo conto.

| Parametro                | Tipo    | Descrizione                                               |
| ------------------------ | ------- | --------------------------------------------------------- |
| `ticket.subject`         | string  | Breve oggetto del ticket                                  |
| `ticket.comment.body`    | string  | Descrizione dettagliata del problema                      |
| `ticket.requester.email` | string  | Indirizzo email del richiedente                           |
| `ticket.requester.name`  | string  | Nome completo del richiedente                             |
| `ticket.priority`        | string  | `urgent`, `high`, `normal` o `low`                        |
| `ticket.status`          | string  | `new`, `open`, `pending`, `hold`, `solved` o `closed`     |
| `ticket.assignee_id`     | integer | ID dell'agente a cui assegnare il ticket                  |
| `ticket.group_id`        | integer | ID del gruppo a cui instradare il ticket                  |
| `ticket.custom_fields`   | array   | Array di oggetti `{id, value}` per i campi personalizzati |

#### zendesk\_search

Cerca ticket, utenti o organizzazioni in Zendesk usando la sintassi delle query di ricerca Zendesk.

| Parametro | Tipo   | Descrizione                                                                                   |
| --------- | ------ | --------------------------------------------------------------------------------------------- |
| `query`   | string | Query di ricerca (ad esempio, `type:ticket status:open` o `type:user email:user@example.com`) |

#### zendesk\_add\_comment

Aggiunge un commento pubblico o interno a un ticket esistente, utile per pubblicare riepiloghi delle chiamate o note di follow-up.

| Parametro                  | Tipo    | Descrizione                              |
| -------------------------- | ------- | ---------------------------------------- |
| `ticket_id`                | integer | Il ticket su cui aggiungere un commento  |
| `ticket.comment.body`      | string  | Testo del commento in testo normale      |
| `ticket.comment.html_body` | string  | Versione HTML del commento (facoltativa) |
| `ticket.comment.public`    | boolean | Se il commento è visibile al richiedente |

#### zendesk\_get\_user

Recupera il profilo di un utente affinché l'agente possa salutare i chiamanti per nome o verificarne l'identità.

| Parametro | Tipo    | Descrizione                    |
| --------- | ------- | ------------------------------ |
| `user_id` | integer | L'ID utente Zendesk da cercare |

### Configurare gli strumenti

#### Aggiungi uno strumento di integrazione

Nella pagina di configurazione dell'agente, fai clic su **Aggiungi strumento** e seleziona **Aggiungi strumento di integrazione**.

![Aggiungi strumento di integrazione](/docs/_fern-img/ef3a82e0747f1b1da18fb6b4755812abe161d436582312e47836e621a44d83c7.webp)

#### Seleziona gli strumenti Zendesk

Scegli la connessione Zendesk e attiva gli strumenti che vuoi far usare all'agente. Puoi abilitarne quanti ne servono: ad esempio, un agente di triage in sola lettura potrebbe aver bisogno solo degli strumenti di ricerca ed elenco, mentre un agente con servizio completo potrebbe anche creare e aggiornare ticket.

![Seleziona gli strumenti Zendesk](/docs/_fern-img/9161ae75a4c514d477174622bd4857d6faf62a11825bc7d4d191176e52a72f91.webp)

#### (Facoltativo) Fornisci parametri

I parametri di ogni strumento vengono compilati dall'agente durante la conversazione in base a ciò che dice il chiamante. Non devi inserire valori dei parametri direttamente nel codice. Tuttavia, puoi facoltativamente precompilare o vincolare parametri specifici, ad esempio impostando un valore predefinito per `priority` o `group_id`, per orientare il comportamento dell'agente.

#### Configurazione webhook legacy

> **Note**
>
> Se usi l'integrazione Zendesk nativa, gli strumenti vengono configurati automaticamente. I passaggi seguenti
> si applicano solo alla configurazione manuale del webhook.

L'integrazione legacy usa tre strumenti webhook per creare l'agente di assistenza. Esamina la configurazione di ogni strumento nelle schede seguenti.

#### zendesk\_get\_ticket\_comments

**Nome:** zendesk\_get\_ticket\_comments
**Descrizione:** Recupera i commenti di un ticket.
**Metodo:** GET
**URL:** `https://acmecorp.zendesk.com/api/v2/tickets/{ticket_id}/comments.json`

**Header:**

* **Content-Type:** `application/json`
* **Autorizzazione:** *(Segreto: `zendesk_key`)*

**Parametri path:**

* **ticket\_id:** Estrai il valore dal campo `id` nei risultati di get\_resolved\_tickets.

**JSON dello strumento:**

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

**Nome:** zendesk\_get\_resolved\_tickets
**Descrizione:** Recupera tutti i ticket di assistenza risolti da Zendesk.
**Metodo:** GET
**URL:** `https://acmecorp.zendesk.com/api/v2/search.json?query=type:ticket+status:solved`

**Header:**

* **Content-Type:** `application/json`
* **Autorizzazione:** *(Segreto: `zendesk_key`)*

**JSON dello strumento:**

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

**Nome:** zendesk\_open\_ticket
**Descrizione:** Apre un nuovo ticket di assistenza.
**Metodo:** POST
**URL:** `https://acmecorp.zendesk.com/api/v2/tickets.json`

**Header:**

* **Content-Type:** `application/json`
* **Autorizzazione:** *(Segreto: `zendesk_key`)*

**Parametri body:**

* **ticket:** Un oggetto contenente:
  * **comment:**
    * **body:** Descrizione dettagliata del problema di assistenza.
  * **subject:** Un breve oggetto.
  * **requester:**
    * **name:** Il nome completo del richiedente.
    * **email:** Un indirizzo email valido.

**JSON dello strumento:**

```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**
>
> Assicurati di aggiungere il segreto Zendesk del tuo workspace ai segreti dell'agente.

## Trigger Zendesk

Configura i trigger Zendesk per consentire al tuo agente di monitorare e reagire ai commenti in arrivo sui ticket, fornendo assistenza di primo livello.

### Configurazione

#### Crea un trigger in Zendesk

In Zendesk Admin Center, vai a **Oggetti e regole > Regole aziendali > Trigger** e fai clic su **Aggiungi trigger**. Configura le condizioni che determinano a quali eventi del ticket deve rispondere l'agente, ad esempio nuovi ticket in un gruppo specifico o commenti del ticket con un determinato tag. Prendi nota del nome del trigger: ti servirà nel passaggio successivo.

Se non riesci a salvare il trigger perché manca un'azione, aggiungi una semplice azione come l'aggiunta di un tag "l'agente sta elaborando" al ticket.

#### Connetti il trigger in ElevenLabs

Nella pagina di configurazione dell'agente, aggiungi un nuovo trigger e seleziona **Trigger Zendesk**. Configura i campi:

* **Agente**: l'agente che gestisce le conversazioni in arrivo.
* **Nome della regola trigger**: il nome del trigger Zendesk creato nel passaggio precedente.
* **Limite giornaliero di ticket** (facoltativo): numero massimo di ticket gestiti dall'agente al giorno. Lascia vuoto per nessun limite.

Quando attivi il trigger, ElevenLabs crea un webhook nel tuo account Zendesk e lo aggiunge come azione al trigger specificato. Disattivando il trigger vengono rimossi il webhook e l'azione.

#### (Facoltativo) Verifica il trigger in Zendesk

In Zendesk Admin Center, vai a **Oggetti e regole > Regole aziendali > Trigger** e visualizza il trigger creato in precedenza. Dovresti vedere una nuova azione aggiunta.

Se avevi creato un'altra azione in precedenza, ora puoi rimuoverla.

### Modalità shadow

Abilita la modalità shadow su un trigger Zendesk per permettere all'agente di osservare e preparare risposte senza rispondere direttamente ai clienti. Quando la modalità shadow è attiva, l'agente scrive le risposte come **commenti interni** sul ticket anziché come risposte pubbliche. Solo gli agenti e gli amministratori Zendesk possono vedere i commenti interni: l'utente finale non riceve notifiche.

> **Warning**
>
> La modalità shadow influisce solo sul modo in cui l'agente pubblica le proprie risposte. Se l'agente usa strumenti che modificano
> il ticket, ad esempio cambiando lo stato, aggiungendo tag o assegnando il ticket, tali modifiche vengono comunque
> applicate. Per evitare modifiche involontarie, usa un ramo separato dell'agente senza chiamate di strumenti
> di modifica.

La modalità shadow è utile per valutare la qualità dell'agente prima della messa in produzione. Esamina i commenti interni insieme alle risposte effettive dell'assistenza per confrontarne accuratezza e tono, quindi passa l'agente alla modalità attiva quando sei sicuro del suo output.

### Evitare i loop

Quando l'agente risponde a un commento di un ticket tramite l'API Zendesk, quella risposta è a sua volta un nuovo commento, che può riattivare l'agente e creare un loop infinito. Aggiungi una delle seguenti condizioni al trigger Zendesk per evitarlo.

**Escludi l'account di servizio dal trigger.** Crea un utente Zendesk separato per l'integrazione, ad esempio `ai-agent@yourcompany.com`, e usa le credenziali di questo account durante la connessione in ElevenLabs. Quindi aggiungi questa condizione al trigger Zendesk:

* **Utente corrente**, **Non è**, **\<il tuo account di servizio>**

**Escludi gli aggiornamenti API dal trigger.** Questo filtra tutti gli aggiornamenti eseguiti tramite l'API Zendesk, indipendentemente dall'utente che li ha eseguiti:

* **Ticket > Aggiornamento tramite**, **Non è**, **Servizio Web (API)**

## Link utili

* [Documentazione dell'API Zendesk](https://developer.zendesk.com/api-reference/)
* [Gestire i token API](https://support.zendesk.com/hc/en-us/articles/4408889192858-Managing-API-token-access-to-the-Zendesk-API)
* [Guida ai trigger Zendesk](https://support.zendesk.com/hc/en-us/articles/203662246-About-triggers-and-how-they-work)