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

# Procedures

## Overzicht

Een procedure bevat instructies voor één specifieke taak. Elke procedure heeft een trigger die beschrijft wanneer deze van toepassing is en inhoud die beschrijft wat er moet gebeuren. Wanneer een gesprek overeenkomt met de trigger, laadt de agent de procedure.

Gebruik procedures wanneer je agent veel verschillende taken moet afhandelen. Een voorbeeld is een klantenserviceagent, waarbij elke procedure één type verzoek afdekt: terugbetalingen, identiteitsverificatie, accountherstel of het oplossen van verbindingsproblemen.

![Tabblad Procedures in het agentdashboard](/docs/_fern-img/38b190b7a08cb9e628da309a86c5e4b315eabccf238a41d5d3a6c2646aba11af.webp)

## Proceduretypen

Er zijn twee soorten procedures:

* **[Free-form procedures](/docs/nl/eleven-agents/customization/procedures/free-form-procedures)** worden geschreven als instructies in natuurlijke taal die de agent interpreteert en aanpast aan de situatie.
* **[Structured procedures](/docs/nl/eleven-agents/customization/procedures/structured-procedures)** zijn een geordende lijst met getypeerde stappen die de agent elke keer op dezelfde manier uitvoert.

Je kunt beide soorten voor dezelfde agent gebruiken. De agent kiest op basis van de trigger de relevante procedure, ongeacht het type.

> **Tip**
>
> Procedures kunnen elkaar aanroepen. Een free-form procedure roept een andere procedure aan met een [inlineverwijzing](/docs/nl/eleven-agents/customization/procedures/free-form-procedures#inline-references),
> en een structured procedure roept een andere structured procedure aan met een
> [Sub-procedure](/docs/nl/eleven-agents/customization/procedures/structured-procedures#sub-procedure)-
> stap. Een veelvoorkomend patroon is om open afhandeling in een free-form procedure te houden en de
> onderdelen die elke keer op dezelfde manier moeten worden uitgevoerd door te geven aan een structured procedure.

Een agent kan procedures, een [workflow](/docs/nl/eleven-agents/customization/agent-workflows) of beide hebben. Wanneer beide aanwezig zijn, is elke procedure beschikbaar vanuit elk punt in de workflow; een procedure kan niet worden beperkt tot specifieke workflownodes. De meeste agents zijn opgebouwd rond de ene of de andere aanpak, maar je kunt de twee combineren.

## Wanneer procedures gebruiken

Elke agent heeft een [system prompt](/docs/nl/eleven-agents/best-practices/prompting-guide). Procedures en [workflows](/docs/nl/eleven-agents/customization/agent-workflows) zijn twee manieren om daar structuur aan toe te voegen, en een agent kan beide gebruiken. Kies een startpunt op basis van hoeveel het gesprek kan variëren.

| Vereiste                                                                      | Gebruik                                                                                       | Waarom                                                                                                                                                                            |
| ----------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Eenvoudige proof-of-conceptagent                                              | Alleen system prompt                                                                          | Het snelst om in te stellen en op te itereren, maar één prompt wordt onoverzichtelijk naarmate de agent meer taken krijgt.                                                        |
| Taak waarbij de agent formulering en volgorde kan aanpassen                   | [Free-form procedure](/docs/nl/eleven-agents/customization/procedures/free-form-procedures)   | Houdt het hele gesprek in de context van één LLM, zodat de agent formulering en volgorde kan aanpassen en onverwachte wendingen kan volgen. Gebruikt meer van het contextvenster. |
| Taak waarvan de stappen elke keer op dezelfde manier moeten worden uitgevoerd | [Structured procedure](/docs/nl/eleven-agents/customization/procedures/structured-procedures) | Elke stap wordt uitgevoerd in de volgorde die je instelt, elke keer op dezelfde manier, en je schrijft deze als een korte lijst met stappen.                                      |
| Volledige controle over complexe vertakkingen en uitzonderingsgevallen        | [Workflow](/docs/nl/eleven-agents/customization/agent-workflows)                              | Wordt uitgevoerd als een grafiek van subagents die je zelf ontwerpt en verbindt, met volledige controle over vertakkingen en het model dat elke stap gebruikt.                    |

Free-form procedures zijn de standaardkeuze. Ze zijn het snelst te schrijven, lezen als een document zodat niet-technische teams ze kunnen beheren, en de agent kan herstellen wanneer een gesprek afwijkt van het script. Kies een structured procedure wanneer de gevolgen van een overgeslagen of anders geordende stap groot zijn, zoals bij authenticatie, escalatie of een financiële transactie. Kies een workflow wanneer je routeringslogica of controle over het model per stap nodig hebt die geen van beide proceduretypen biedt.

## Procedures beheren

Het dashboard is de aanbevolen manier om procedures te schrijven. Gebruik de CLI of de API om procedures programmatisch te beheren of ze in implementatietooling te integreren.

#### Bouwen via het dashboard

Open je agent in het [dashboard](https://elevenlabs.io/app/agents) en selecteer vervolgens **Procedures**.
Gebruik **+** om een free-form of structured procedure te maken. Je kunt procedures vanuit hetzelfde menu
in mappen groeperen. Zie
[Free-form procedures](/docs/nl/eleven-agents/customization/procedures/free-form-procedures)
en
[Structured procedures](/docs/nl/eleven-agents/customization/procedures/structured-procedures)
voor richtlijnen voor het schrijven.

#### Beheren via de CLI

De [ElevenLabs CLI](/docs/nl/eleven-agents/operate/cli) beheert procedures met de
commandogroep `elevenlabs agents procedures`. Stel eerst `ELEVENLABS_API_KEY` in je omgeving in.

```bash
# List the procedures on a branch
elevenlabs agents procedures list \
  --agent-id agent_7101k5zvyjhmfg983brhmhkd98n6 \
  --branch-id agtbranch_0901k4aafjxxfxt93gd841r7tv5t

# Create a procedure
elevenlabs agents procedures create \
  --agent-id agent_7101k5zvyjhmfg983brhmhkd98n6 \
  --branch-id agtbranch_0901k4aafjxxfxt93gd841r7tv5t \
  --json '{"name": "Refund request", "type": "free_form", "trigger": "When the user asks to refund an order", "content": "Ask for the order ID."}'

# Publish every changed procedure draft on the branch
elevenlabs agents update \
  --agent-id agent_7101k5zvyjhmfg983brhmhkd98n6 \
  --branch-id agtbranch_0901k4aafjxxfxt93gd841r7tv5t \
  --json '{"version_description": "Publish refund procedure"}'
```

Gebruik `elevenlabs agents procedures drafts` om een concept te lezen, bij te werken of te verwijderen, en
`elevenlabs agents procedures remove` om een verwijdering klaar te zetten. Voeg `--schema` toe aan een willekeurige opdracht om
het input- en outputcontract te bekijken.

#### Beheren via de API

Procedureconcepten volgen de [levenscyclus voor agentversies](/docs/nl/eleven-agents/operate/versioning#drafts). Ze zijn per gebruiker en per branch, zodat elk
teamlid afzonderlijke concepten heeft op elke branch. Publiceren slaat je procedurewijzigingen op in een nieuwe
onveranderlijke agentversie op die branch. Concepten van andere gebruikers blijven ongewijzigd.

Antwoorden met agentconfiguraties bevatten proceduremetadata zoals ID's, namen, typen en
triggers, maar geen procedure-inhoud of concepten. Gebruik de procedure-endpoints om de
volledige inhoud te lezen en te bewerken. Alle procedure-endpoints zijn genest onder
`/v1/convai/agents/{agent_id}/branches/{branch_id}`.

### Een concept maken of bijwerken

Maak een procedure met `POST /procedures`. Werk deze bij met
`PATCH /procedures/{procedure_id}/draft`, met `name`, `content`, `type` en `trigger`
in elk request. Het `type` moet overeenkomen met het bestaande type van de procedure.

Gebruik `GET /procedures/{procedure_id}/draft` om ongepubliceerde wijzigingen te lezen. Als je geen concept hebt,
retourneert het endpoint de gepubliceerde versie.

### De wijzigingen publiceren

Publiceer de concepten door een nieuwe agentversie te maken met
[Agent bijwerken](/docs/nl/api-reference/agents/update). Eén request publiceert elk gewijzigd
procedureconcept op de branch, voor beide proceduretypen. Het omzetten van de stappen van een structured procedure
naar de vorm die de agent uitvoert, heet compileren. Het platform compileert elke
structured procedure wanneer het agentconcept wordt opgeslagen of de agent wordt gepubliceerd; auteurs
compileren zelf nooit iets. Beide bewerkingen valideren elke structured procedure en retourneren
eventuele fouten. Als de validatie slaagt, wordt de agentconfiguratie opgeslagen of gepubliceerd.

Volg de typespecifieke instructies voor
[free-form procedures](/docs/nl/eleven-agents/customization/procedures/free-form-procedures#manage-a-free-form-procedure)
of
[structured procedures](/docs/nl/eleven-agents/customization/procedures/structured-procedures#manage-a-structured-procedure).

### Een procedure verwijderen of intrekken

`DELETE /procedures/{procedure_id}/draft` verwijdert ongepubliceerde bewerkingen en herstelt de
gepubliceerde versie. Als de procedure nog nooit is gepubliceerd, wordt deze verwijderd.

`DELETE /procedures/{procedure_id}` zet de verwijdering van een gepubliceerde procedure klaar. Publiceer de
wijziging via dezelfde flow.

Zie de [API-referentie voor Procedures](/docs/nl/api-reference/agents/procedures/) voor volledige endpointschema's.

## Beperkingen

* De inhoud van een procedure is beperkt tot 50.000 tekens.
* De agent houdt de vijf meest recent gestarte procedures in de context. Wanneer er in één gesprek meer zijn gestart, verdwijnen de inhoud, inline tools en kennisbankdocumenten van de oudste free-form procedures uit de prompt. Houd procedures gericht en gebruik subprocedures, zodat er weinig tegelijk actief zijn.
* Je kunt het type van een procedure na het maken niet wijzigen. Maak een nieuwe procedure om tussen free-form en structured te converteren en werk alle verwijzingen ernaar bij.
* Procedures behoren tot één agent. Ze kunnen niet tussen agents worden gedeeld of als resources op workspaceniveau worden opgeslagen.
* Bij het dupliceren van een agent worden de procedures gekopieerd in plaats van gedeeld. De kopieën krijgen nieuwe procedure-ID's, dus verwijzingen in de gedupliceerde agent moeten die nieuwe ID's gebruiken.
* Procedures kunnen niet worden beperkt tot specifieke workflownodes. Wanneer een agent beide heeft, is elke procedure beschikbaar vanuit elke node.
* Structured procedures kunnen niet verwijzen naar kennisbankdocumenten.