> 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

## Overzicht

Koppel je ElevenLabs AI-agenten aan [Zendesk](https://www.zendesk.com/) om supporttickets, gebruikers en organisaties te beheren. Met deze integratie kunnen je agenten tickets maken en bijwerken, bestaande records zoeken, gebruikers beheren en reageren op inkomende ticketopmerkingen.

## Mogelijkheden

| Mogelijkheid              | Ondersteuning                                                                                                                                                                                                                                |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Zero retention mode (ZRM) | Niet ondersteund                                                                                                                                                                                                                             |
| Bijlagen in triggers      | Afbeeldingen (PNG, JPEG, GIF, WebP) en PDF-bestanden bij inkomende ticketopmerkingen, wanneer **Bestandsbijlagen toestaan** is ingeschakeld in de agentinstellingen en de LLM van de agent invoer van afbeeldingen of documenten ondersteunt |
| Bijlagen in tools         | Niet ondersteund — tools zoals `zendesk_show_ticket` en `zendesk_list_ticket_comments` retourneren tekstvelden en downloaden geen bijlagen                                                                                                   |

## Instellen

Deze integratie ondersteunt drie authenticatiemethoden: de ElevenLabs OAuth-app, je eigen OAuth-client en een API-token.

> **Note**
>
> Zendesk is bezig met het [uitfaseren van API-tokens](https://support.zendesk.com/hc/en-us/articles/10851263566234)
> als authenticatiemethode en stapt over op toegang uitsluitend via OAuth. Bestaande Zendesk-
> integraties op basis van API-tokens blijven werken tot en met 30 april 2027. ElevenLabs werkt aan ondersteuning voor deze
> migratie en neemt proactief contact op met betrokken klanten om te helpen bij de overstap naar OAuth vóór
> die tijd. Je kunt op elk moment overstappen op de onderstaande methode **Aangepaste OAuth-client**.

#### OAuth

#### Je subdomein zoeken

Je Zendesk-subdomein is het eerste deel van je Zendesk-URL (bijv. `mycompany` van `mycompany.zendesk.com`).

#### Verbinden in ElevenLabs

Selecteer in de integratie-instellingen van ElevenLabs de inloggegevens **OAuth2**, voer je **subdomain** in en klik op **Verbinden**.

#### De verbinding autoriseren

Zendesk toont een autorisatiepagina met de toegang die de ElevenLabs-app aanvraagt: leestoegang voor je hele account, plus schrijftoegang voor tickets, gebruikers, webhooks en triggers. Log in als een gebruiker met de rechten die je agent nodig heeft en klik op **Toestaan**. Zendesk stuurt je terug naar ElevenLabs en de verbinding wordt gemaakt.

Autoriseer als beheerder als je Zendesk-triggers wilt gebruiken — alleen Zendesk-beheerders kunnen webhooks maken en triggers bewerken.

#### API-token

#### Toegang via API-token inschakelen

Ga in het [Zendesk Admin Center](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Admin-Center) naar **Apps and integrations > APIs > Zendesk API** en schakel **Token Access** in.

#### Een API-token genereren

Ga naar **Apps and integrations > APIs > API tokens** en klik op **Add API token**. Kopieer het token direct — het wordt na het sluiten van het dialoogvenster niet opnieuw weergegeven.

#### Je subdomein zoeken

Je Zendesk-subdomein is het eerste deel van je Zendesk-URL (bijv. `mycompany` van `mycompany.zendesk.com`).

#### Verbinden in ElevenLabs

Voer in de integratie-instellingen van ElevenLabs je **email**, **API token** en **subdomain** in.

#### Aangepaste OAuth-client

#### De redirect-URL kopiëren

Kopieer in de instellingen voor de Zendesk-integratie van ElevenLabs de **redirect URL**.

#### Een OAuth-client maken in Zendesk

Ga in het [Zendesk Admin Center](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Admin-Center) naar **Apps and integrations > APIs > OAuth clients** en klik op **Add Client**. Voer een **name** en een unieke **identifier** in.

#### De redirect-URL toevoegen

Plak de vanuit ElevenLabs gekopieerde **redirect URL** in de configuratie van de OAuth-client.

#### Het secret opslaan

Sla de OAuth-client op. Zendesk toont een **secret** — kopieer en bewaar dit veilig. Na het sluiten van het dialoogvenster wordt het niet opnieuw weergegeven.

#### Verbinden in ElevenLabs

Voer in de integratie-instellingen van ElevenLabs de **identifier** in als client-ID en geef het **secret** op. Zendesk stuurt je door om de verbinding te autoriseren.

## OAuth-scopes

Verbinden met de inloggegevens **OAuth2** geeft ElevenLabs de volgende [Zendesk OAuth-scopes](https://developer.zendesk.com/api-reference/ticketing/oauth/grant_type_tokens/). Leestoegang wordt accountbreed verleend, terwijl schrijftoegang per resource wordt aangevraagd, zodat het token geen resources kan wijzigen die de integratie niet gebruikt.

| Scope            | Doel                                                                                                                                                                                                                                                                                                                           |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `read`           | Leestoegang tot GET-endpoints. Wordt gebruikt om tickets, ticketopmerkingen en bijlagen daarvan, gebruikers, organisaties, problem tickets en zoekresultaten op te halen, en — wanneer een trigger is gekoppeld — om de Zendesk-trigger op te zoeken en het ondertekeningssecret te lezen van de webhook die ElevenLabs maakt. |
| `tickets:write`  | Tickets maken, bijwerken, verwijderen en samenvoegen, openbare en interne opmerkingen plaatsen, en tags toevoegen of verwijderen. Wordt gebruikt door de tickettools en om het antwoord van de agent te plaatsen wanneer een Zendesk-trigger wordt geactiveerd.                                                                |
| `users:write`    | Gebruikers maken, bijwerken en verwijderen, inclusief in bulk maken of bijwerken. Wordt gebruikt door de tools voor gebruikersbeheer.                                                                                                                                                                                          |
| `webhooks:write` | De webhook maken die ticketgebeurtenissen naar je agent stuurt wanneer je een Zendesk-trigger activeert, en die webhook verwijderen wanneer je de trigger deactiveert.                                                                                                                                                         |
| `triggers:write` | De webhookactie van ElevenLabs toevoegen aan de Zendesk-trigger die je opgeeft, en die actie verwijderen wanneer je de trigger deactiveert.                                                                                                                                                                                    |

Een token gaat nooit verder dan de rechten van de gebruiker die het heeft geautoriseerd — de effectieve toegang is de doorsnede van deze scopes en de Zendesk-rol van die gebruiker.

Deze scopes gelden niet voor de andere twee authenticatiemethoden: een aangepaste OAuth-client vraagt `read` en `write` aan (volledige lees- en schrijftoegang), en een API-token heeft alle rechten van de Zendesk-gebruiker waartoe het behoort.

## Gegevensverwerking

De onderstaande tabel bevat elk veld waartoe de integratie toegang heeft in je Zendesk-account, of ElevenLabs het opslaat en wanneer en waarom het wordt gebruikt. **Lezen** betekent dat de waarde tijdens de verwerking wordt gebruikt, maar niet wordt opgeslagen. **Lezen en opslaan** betekent dat deze wordt opgeslagen in het gespreksrecord van ElevenLabs. **Schrijven** betekent dat de integratie deze naar Zendesk stuurt.

| Gegevens                                                   | Toegang          | Reden                                                                                                                                                                                                                                                        |
| ---------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Ticket-ID                                                  | Lezen en opslaan | Komt binnen via de payload van de triggerwebhook — de enige ticketgegevens die Zendesk naar ElevenLabs stuurt. Opgeslagen als de externe ID van het gesprek, als de dynamische variabele `integration__zendesk_ticket_id` en als link terug naar het ticket. |
| Ticketonderwerp                                            | Lezen en opslaan | Wordt uit het ticket gelezen wanneer een trigger wordt geactiveerd. Opgeslagen als de dynamische variabele `integration__zendesk_ticket_subject`, zodat de systeemprompt en tools kunnen verwijzen naar waar het ticket over gaat.                           |
| Tijdstempel van ticketaanmaak                              | Lezen en opslaan | Wordt samen met het ticket gelezen. Opgeslagen als de dynamische variabele `integration__zendesk_ticket_created_at` voor gebruik in de prompt, bijvoorbeeld om de leeftijd van het ticket te beoordelen.                                                     |
| ID van aanvrager                                           | Lezen en opslaan | Wordt samen met het ticket gelezen. Opgeslagen als de dynamische variabele `integration__zendesk_ticket_requester_id` en gebruikt om opmerkingen toe te wijzen — een aanvrager die ook een medewerker is, wordt nog steeds als klant behandeld.              |
| Tickettags                                                 | Lezen            | Wordt bij elke uitvoering van de trigger gelezen om een tag `agent-rating-<score>` en een tag `force-agent` te detecteren. Alleen de resulterende beoordeling wordt opgeslagen bij het gesprek; de taglijst zelf wordt niet opgeslagen.                      |
| Teksten van openbare en interne opmerkingen                | Lezen en opslaan | Worden bij elke uitvoering van de trigger uit de opmerkingen van het ticket gelezen. Opgeslagen als het gesprekstranscript en naar de LLM van de agent gestuurd — dit is het gesprek waarop de agent reageert.                                               |
| ID's van opmerkingen                                       | Lezen en opslaan | Worden samen met de opmerkingen gelezen. De meest recente ID wordt opgeslagen als markering voor het laatst verwerkt, zodat de volgende uitvoering van de trigger opmerkingen overslaat die de agent al heeft beantwoord.                                    |
| ID van auteur van opmerking                                | Lezen en opslaan | Wordt samen met de opmerkingen gelezen en gebruikt om de auteur op te zoeken. Opgeslagen als gebruikers-ID van het transcriptbericht wanneer de auteur geen e-mailadres heeft.                                                                               |
| Rol van auteur van opmerking                               | Lezen            | Wordt per auteur van een opmerking gelezen om te bepalen of een opmerking in het transcript een klantbericht of medewerkersbericht wordt. De rol zelf wordt niet opgeslagen, alleen de resulterende toewijzing van elk bericht.                              |
| E-mailadres van auteur van opmerking                       | Lezen en opslaan | Wordt per auteur van een opmerking gelezen. Opgeslagen als gebruikers-ID bij transcriptberichten die aan de klant zijn toegewezen, zodat gesprekken over tickets heen aan een persoon kunnen worden gekoppeld.                                               |
| E-mailadres van aanvrager                                  | Lezen en opslaan | Wordt samen met het gebruikersrecord van de aanvrager gelezen. Opgeslagen als de dynamische variabele `integration__zendesk_ticket_requester_email`, zodat de prompt en tools de klant kunnen aanspreken of opzoeken.                                        |
| Metagegevens van bijlage: bestandsnaam, MIME-type, grootte | Lezen en opslaan | Worden samen met de opmerkingen gelezen om te controleren of een bijlage een ondersteund type heeft en binnen de groottelimieten valt. Opgeslagen bij het transcriptbericht waartoe de bijlage behoort.                                                      |
| Bestandsinhoud van bijlage                                 | Lezen en opslaan | Wordt alleen gedownload wanneer **Bestandsbijlagen toestaan** is ingeschakeld voor de agent en de LLM ervan het bestandstype ondersteunt. Opgeslagen als gespreksbestanden, zodat de agent kan lezen wat de klant heeft gestuurd.                            |
| Zendesk-subdomein                                          | Lezen en opslaan | Door jou opgegeven bij het verbinden. Opgeslagen in de verbindingsinstellingen van de integratie, omdat het de basis-URL van de API vormt.                                                                                                                   |
| Zendesk-account-e-mail, alleen authenticatie met API-token | Lezen en opslaan | Door jou opgegeven bij het verbinden. Opgeslagen in de verbindingsinstellingen, omdat verificatie met een API-token de account-e-mail samen met het token verstuurt.                                                                                         |
| API-token, OAuth-toegangs- en vernieuwingstokens           | Lezen en opslaan | Versleuteld opgeslagen en alleen gebruikt om API-calls te verifiëren. Nooit beschikbaar voor de agent, de prompt of de API.                                                                                                                                  |
| Ondertekeningsgeheim van webhook                           | Lezen en opslaan | Wordt eenmaal gelezen wanneer je een trigger activeert. Versleuteld opgeslagen en gebruikt om te verifiëren dat inkomende webhooks daadwerkelijk van je Zendesk-account afkomstig zijn.                                                                      |
| Triggertitel, voorwaarden en acties                        | Lezen            | Wordt gelezen wanneer je een trigger activeert, om de trigger op naam te vinden en bestaande acties te behouden wanneer de webhookactie van ElevenLabs wordt toegevoegd. Wordt niet opgeslagen.                                                              |
| Reactie van agent                                          | Schrijven        | Geplaatst als openbare opmerking bij het ticket, of als interne opmerking wanneer de schaduwmodus is ingeschakeld. Dit is het doel van de integratie.                                                                                                        |
| Gesprekslink                                               | Schrijven        | Eenmaal per ticket geplaatst als interne opmerking, zodat medewerkers het gesprek in ElevenLabs kunnen openen.                                                                                                                                               |
| Melding van bijlagefout                                    | Schrijven        | Geplaatst als interne opmerking wanneer een bijlage is overgeslagen omdat het type niet wordt ondersteund, de bijlage te groot is of het downloaden is mislukt, zodat medewerkers weten dat de agent deze niet heeft gezien.                                 |
| Webhookregistratie van ElevenLabs                          | Schrijven        | Wordt gemaakt wanneer je een Zendesk-trigger activeert en verwijderd wanneer je deze deactiveert. Dit is het endpoint dat Zendesk aanroept bij ticketgebeurtenissen.                                                                                         |
| Webhookactie voor je trigger                               | Schrijven        | Wordt toegevoegd aan de trigger die je opgeeft wanneer je deze activeert en verwijderd wanneer je deze deactiveert. Bestaande acties op de trigger blijven behouden.                                                                                         |
| Tickets, opmerkingen, tags, gebruikers en organisaties     | Schrijven        | Worden alleen gewijzigd door de Zendesk-tools die je voor de agent inschakelt, met de parameters die de agent tijdens een gesprek opgeeft. Er vinden geen wijzigingen plaats buiten een toolcall of een triggerreactie.                                      |

De integratie roept de Zendesk-API alleen aan wanneer een verbonden trigger wordt geactiveerd of wanneer een agent een Zendesk-tool aanroept. De integratie pollt je Zendesk-account niet en exporteert geen gegevens in bulk.

Records die door Zendesk-tools worden geretourneerd, worden als onderdeel van het resultaat van de toolcall opgeslagen in het gesprekstranscript. Een tool die een record leest, slaat dit dus ook op. De bewaartermijn van opgeslagen gegevens volgt de privacyinstellingen van de agent die het ticket heeft afgehandeld, inclusief het verwijderen van transcript en PII.

## Zendesk-tools

Voeg Zendesk-tools toe aan je agent om tijdens gesprekken tickets, gebruikers en organisaties te beheren. Zodra de integratie is verbonden, kun je afzonderlijke tools inschakelen op de configuratiepagina van je agent.

### Beschikbare tools

De integratie biedt meer dan 30 tools, verdeeld over de volgende categorieën:

* **Tickets** — tickets maken, bijwerken, verwijderen, weergeven en zoeken. Ook bulkbewerkingen (veel maken, veel bijwerken, veel verwijderen) zijn beschikbaar.
* **Opmerkingen en tags** — openbare of interne opmerkingen aan tickets toevoegen en tags toevoegen of verwijderen.
* **Gebruikers** — gebruikers opzoeken, maken, bijwerken en verwijderen. Maken-of-bijwerken in bulk wordt ondersteund voor het synchroniseren van gebruikersgegevens.
* **Organisaties** — organisatiedetails ophalen en tickets van een organisatie weergeven.
* **Zoeken** — Zendesk-zoekopdrachten uitvoeren voor tickets, gebruikers en organisaties (bijv. `type:ticket status:open`).

### Voorbeeldtools

#### zendesk\_create\_ticket

Maakt een nieuw supportticket. De agent verzamelt gegevens van de beller en opent namens hen een ticket.

| Parameter                | Type    | Beschrijving                                            |
| ------------------------ | ------- | ------------------------------------------------------- |
| `ticket.subject`         | string  | Korte onderwerpregel voor het ticket                    |
| `ticket.comment.body`    | string  | Gedetailleerde beschrijving van het probleem            |
| `ticket.requester.email` | string  | E-mailadres van de aanvrager                            |
| `ticket.requester.name`  | string  | Volledige naam van de aanvrager                         |
| `ticket.priority`        | string  | `urgent`, `high`, `normal` of `low`                     |
| `ticket.status`          | string  | `new`, `open`, `pending`, `hold`, `solved` of `closed`  |
| `ticket.assignee_id`     | integer | Agent-ID waaraan het ticket wordt toegewezen            |
| `ticket.group_id`        | integer | Groep-ID waarnaar het ticket wordt doorgestuurd         |
| `ticket.custom_fields`   | array   | Array met objecten `{id, value}` voor aangepaste velden |

#### zendesk\_search

Zoekt in Zendesk naar tickets, gebruikers of organisaties met behulp van de syntaxis voor Zendesk-zoekopdrachten.

| Parameter | Type   | Beschrijving                                                                         |
| --------- | ------ | ------------------------------------------------------------------------------------ |
| `query`   | string | Zoekopdracht (bijv. `type:ticket status:open` of `type:user email:user@example.com`) |

#### zendesk\_add\_comment

Voegt een openbare of interne opmerking toe aan een bestaand ticket — handig voor het plaatsen van gespreksamenvattingen of vervolgnotities.

| Parameter                  | Type    | Beschrijving                                   |
| -------------------------- | ------- | ---------------------------------------------- |
| `ticket_id`                | integer | Het ticket waarop je een opmerking plaatst     |
| `ticket.comment.body`      | string  | Tekst van de opmerking in platte tekst         |
| `ticket.comment.html_body` | string  | HTML-versie van de opmerking (optioneel)       |
| `ticket.comment.public`    | boolean | Of de opmerking zichtbaar is voor de aanvrager |

#### zendesk\_get\_user

Haalt het profiel van een gebruiker op, zodat de agent bellers bij naam kan begroeten of hun identiteit kan verifiëren.

| Parameter | Type    | Beschrijving                             |
| --------- | ------- | ---------------------------------------- |
| `user_id` | integer | De Zendesk-gebruikers-ID om op te zoeken |

### Tools configureren

#### Een integratietool toevoegen

Klik op de configuratiepagina van je agent op **Tool toevoegen** en selecteer **Integratietool toevoegen**.

![Integratietool toevoegen](/docs/_fern-img/ef3a82e0747f1b1da18fb6b4755812abe161d436582312e47836e621a44d83c7.webp)

#### Zendesk-tools selecteren

Kies je Zendesk-verbinding en schakel de tools in die je wilt dat de agent gebruikt. Je kunt er zoveel of zo weinig inschakelen als nodig is — een triageagent met alleen-lezenrechten heeft bijvoorbeeld mogelijk alleen zoek- en lijsttools nodig, terwijl een agent met volledige service ook tickets kan maken en bijwerken.

![Zendesk-tools selecteren](/docs/_fern-img/9161ae75a4c514d477174622bd4857d6faf62a11825bc7d4d191176e52a72f91.webp)

#### (Optioneel) Parameters opgeven

De agent vult de parameters van elke tool tijdens het gesprek in op basis van wat de beller zegt. Je hoeft parameterwaarden niet hard te coderen. Je kunt echter optioneel specifieke parameters vooraf invullen of beperken — bijvoorbeeld door een standaardwaarde voor `priority` of `group_id` in te stellen — om het gedrag van de agent te sturen.

#### Verouderde webhookconfiguratie

> **Note**
>
> Als je de native Zendesk-integratie gebruikt, worden tools automatisch geconfigureerd. De onderstaande stappen
> gelden alleen voor handmatige webhookconfiguratie.

De verouderde integratie gebruikt drie webhooktools om de supportagent te maken. Bekijk de configuratie van elke tool in de onderstaande tabbladen.

#### zendesk\_get\_ticket\_comments

**Naam:** zendesk\_get\_ticket\_comments
**Beschrijving:** Haalt de opmerkingen van een ticket op.
**Methode:** GET
**URL:** `https://acmecorp.zendesk.com/api/v2/tickets/{ticket_id}/comments.json`

**Headers:**

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

**Padparameters:**

* **ticket\_id:** Extraheer de waarde uit het veld `id` in de resultaten van get\_resolved\_tickets.

**Tool-JSON:**

```json
{
  "type": "webhook",
  "name": "zendesk_get_ticket_comments",
  "description": "Retrieves the comments of a ticket.",
  "api_schema": {
    "url": "https://acmecorp.zendesk.com/api/v2/tickets/{ticket_id}/comments.json",
    "method": "GET",
    "path_params_schema": [
      {
        "id": "ticket_id",
        "type": "string",
        "description": "Extract the value from the id field in the get_resolved_tickets results.",
        "dynamic_variable": "",
        "constant_value": "",
        "required": false,
        "value_type": "llm_prompt"
      }
    ],
    "query_params_schema": [],
    "request_body_schema": null,
    "request_headers": [
      {
        "type": "secret",
        "name": "Authorization",
        "secret_id": "zendesk_api_token"
      },
      {
        "type": "value",
        "name": "Content-Type",
        "value": "application/json"
      }
    ]
  },
  "response_timeout_secs": 20,
  "dynamic_variables": {
    "dynamic_variable_placeholders": {}
  }
}
```

#### zendesk\_get\_resolved\_tickets

**Naam:** zendesk\_get\_resolved\_tickets
**Beschrijving:** Haalt alle opgeloste supporttickets op uit Zendesk.
**Methode:** GET
**URL:** `https://acmecorp.zendesk.com/api/v2/search.json?query=type:ticket+status:solved`

**Headers:**

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

**Tool-JSON:**

```json
{
  "type": "webhook",
  "name": "zendesk_get_resolved_tickets",
  "description": "Retrieves all resolved support tickets from Zendesk.",
  "api_schema": {
    "url": "https://acmecorp.zendesk.com/api/v2/search.json?query=type:ticket+status:solved",
    "method": "GET",
    "path_params_schema": [],
    "query_params_schema": [],
    "request_body_schema": null,
    "request_headers": [
      {
        "type": "secret",
        "name": "Authorization",
        "secret_id": "zendesk_api_token"
      },
      {
        "type": "value",
        "name": "Content-Type",
        "value": "application/json"
      }
    ]
  },
  "response_timeout_secs": 20,
  "dynamic_variables": {
    "dynamic_variable_placeholders": {}
  }
}
```

#### zendesk\_open\_ticket

**Naam:** zendesk\_open\_ticket
**Beschrijving:** Opent een nieuw supportticket.
**Methode:** POST
**URL:** `https://acmecorp.zendesk.com/api/v2/tickets.json`

**Headers:**

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

**Bodyparameters:**

* **ticket:** Een object met:
  * **comment:**
    * **body:** Gedetailleerde beschrijving van het supportprobleem.
  * **subject:** Een korte onderwerpregel.
  * **requester:**
    * **name:** De volledige naam van de aanvrager.
    * **email:** Een geldig e-mailadres.

**Tool-JSON:**

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

> **Warning**
>
> Zorg dat je het Zendesk-secret van je workspace toevoegt aan de secrets van de agent.

## Zendesk-triggers

Configureer Zendesk-triggers zodat je agent inkomende ticketopmerkingen kan monitoren en erop kan reageren, en eerstelijnssupport biedt.

### Instellen

#### Een trigger maken in Zendesk

Ga in het Zendesk Admin Center naar **Objects and rules > Business rules > Triggers** en klik op **Add trigger**. Configureer de voorwaarden die bepalen op welke ticketgebeurtenissen de agent moet reageren (bijv. nieuwe tickets in een specifieke groep, ticketopmerkingen met een bepaalde tag). Noteer de triggernaam — die heb je in de volgende stap nodig.

Als je de trigger niet kunt opslaan omdat er een actie ontbreekt, voeg dan een eenvoudige actie toe, zoals het toevoegen van een tag "agent is processing" aan het ticket.

#### De trigger verbinden in ElevenLabs

Voeg op de configuratiepagina van je agent een nieuwe trigger toe en selecteer **Zendesk-trigger**. Configureer de velden:

* **Agent**: de agent die inkomende gesprekken afhandelt.
* **Naam van triggerregel**: de naam van de Zendesk-trigger die je in de vorige stap hebt gemaakt.
* **Dagelijkse ticketlimiet** (optioneel): het maximumaantal tickets dat de agent per dag afhandelt. Laat leeg voor onbeperkt.

Wanneer je de trigger activeert, maakt ElevenLabs een webhook in je Zendesk-account en voegt deze toe als actie aan de trigger die je hebt opgegeven. Als je de trigger deactiveert, worden de webhook en actie verwijderd.

#### (Optioneel) Je trigger controleren in Zendesk

Ga in het Zendesk Admin Center naar **Objects and rules > Business rules > Triggers** en bekijk je eerder gemaakte trigger. Je zou een nieuwe actie moeten zien die eraan is toegevoegd.

Als je eerder een andere actie hebt gemaakt, kun je die nu weer verwijderen.

### Schaduwmodus

Schakel schaduwmodus in voor een Zendesk-trigger om de agent reacties te laten observeren en opstellen zonder klanten rechtstreeks te antwoorden. Wanneer schaduwmodus actief is, schrijft de agent zijn reacties als **interne opmerkingen** bij het ticket in plaats van als openbare antwoorden. Alleen Zendesk-agenten en -beheerders kunnen interne opmerkingen zien — de eindgebruiker krijgt geen melding.

> **Warning**
>
> Schaduwmodus beïnvloedt alleen hoe de agent zijn reacties plaatst. Als de agent tools gebruikt die
> het ticket wijzigen (bijv. de status wijzigen, tags toevoegen of het ticket toewijzen), worden die wijzigingen nog steeds
> toegepast. Gebruik een aparte vertakking van de agent zonder wijzigende toolcalls om onbedoelde wijzigingen te voorkomen.

Schaduwmodus is handig om de kwaliteit van de agent te beoordelen voordat je live gaat. Bekijk de interne opmerkingen naast de daadwerkelijke supportreacties om nauwkeurigheid en toon te vergelijken. Zet de agent vervolgens in de actieve modus zodra je vertrouwen hebt in de output.

### Loops voorkomen

Wanneer de agent via de Zendesk-API reageert op een ticketopmerking, is die reactie zelf een nieuwe opmerking — waardoor de agent opnieuw kan worden geactiveerd en een oneindige loop kan ontstaan. Voeg een van de volgende voorwaarden toe aan je Zendesk-trigger om dit te voorkomen.

**Sluit het serviceaccount uit van de trigger.** Maak een aparte Zendesk-gebruiker voor de integratie (bijv. `ai-agent@yourcompany.com`) en gebruik de gegevens van dit account wanneer je verbinding maakt in ElevenLabs. Voeg daarna deze voorwaarde toe aan je Zendesk-trigger:

* **Current User**, **Is Not**, **\<je serviceaccount>**

**Sluit API-updates uit van de trigger.** Hiermee worden alle updates gefilterd die via de Zendesk-API zijn gemaakt, ongeacht welke gebruiker ze heeft gemaakt:

* **Ticket > Update Via**, **Is Not**, **Web Service (API)**

## Handige links

* [Zendesk-API-documentatie](https://developer.zendesk.com/api-reference/)
* [API-tokens beheren](https://support.zendesk.com/hc/en-us/articles/4408889192858-Managing-API-token-access-to-the-Zendesk-API)
* [Handleiding voor Zendesk-triggers](https://support.zendesk.com/hc/en-us/articles/203662246-About-triggers-and-how-they-work)