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

# Verouderd: procedures compileren

POST https://api.elevenlabs.io/v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/compile

Verouderd. Niet gebruiken. Het opslaan van een agentconcept (`POST /v1/convai/agents/{agent_id}/drafts`) en het publiceren van een agent (`PATCH /v1/convai/agents/{agent_id}`) compileert gestructureerde procedures naar workflow-nodes en -randen, slaat de gecompileerde workflow op met het concept of de versie en retourneert validatiefouten. Daardoor is een afzonderlijke compile-aanroep niet meer nodig. Dit endpoint blijft voorlopig beschikbaar zodat bestaande aanroepers niet stukgaan, als een dry-run die de huidige procedureconcepten compileert naar een workflow zonder iets op te slaan. Het wordt uiteindelijk verouderd.

Reference: https://elevenlabs.io/docs/api-reference/agents/procedures/compile

## Servers

- `https://api.elevenlabs.io` (Production, default)
- `https://api.us.elevenlabs.io` (Production US)
- `https://api.eu.residency.elevenlabs.io` (Production EU)
- `https://api.in.residency.elevenlabs.io` (Production India)
- `https://api.sg.residency.elevenlabs.io` (Production Singapore)

## Request

### Path parameters

- `agent_id` (string, required) — Agent-ID waaruit je het procedureconcept ophaalt
- `branch_id` (string, required) — Branch-ID waaruit het procedureconcept moet worden opgehaald

## Response

### 200

Geslaagde response

- `workflow` (AgentWorkflowResponseModel, required) — Gegenereerde workflow uit compilatie

## Errors

### 400 Bad Request Error

Validatie van de gestructureerde procedure is mislukt.

- `errors` (map from string to list of ProcedureValidationError, required) — Validatiefouten, ingedeeld op procedure-ID.

### 422 Unprocessable Entity Error

Validatiefout

- `detail` (list of ValidationError, optional)

## Types

### AgentWorkflowResponseModel

- `edges` (map from string to WorkflowEdgeModel-Output, required)
- `nodes` (map from string to AgentWorkflowResponseModelNodes, required)
- `prevent_subagent_loops` (boolean, required, default: false) — Of loops in de uitvoering van de workflow moeten worden voorkomen.

### ProcedureValidationError

- `path` (string, required) — JSON-pad naar de fout, bijvoorbeeld 'trigger', 'steps[0].instruction'
- `message` (string, required) — Voor mensen leesbare foutmelding

### ValidationError

- `loc` (list of ValidationErrorLocItems, required)
- `msg` (string, required)
- `type` (string, required)

### WorkflowEdgeModel-Output

- `source` (string, required) — ID van het bronknooppunt.
- `target` (string, required) — ID van het doelknooppunt.
- `forward_condition` (WorkflowEdgeModelOutputForwardCondition, required, nullable) — Voorwaarde waaraan moet worden voldaan om de rand in voorwaartse richting te doorlopen (bron naar doel).
- `backward_condition` (WorkflowEdgeModelOutputBackwardCondition, required, nullable) — Voorwaarde waaraan moet worden voldaan om de rand in achterwaartse richting te doorlopen (doel naar bron).

### AgentWorkflowResponseModelNodes

- `type`: `end` (WorkflowEndNodeModel)
  - `edge_order` (list of string, required) — De ID's van uitgaande verbindingen in de volgorde waarin ze moeten worden geëvalueerd.
  - `outcome` (enum, required, default: success) — Of het bereiken van dit End-knooppunt het gesprek als succes of mislukking beëindigt.
    - Allowed values: `success`, `failure`
  - `position` (Position-Output, required) — Positie van de node in de workflow.
- `type`: `override_agent` (WorkflowOverrideAgentNodeModel)
  - `additional_knowledge_base` (list of KnowledgeBaseLocator, required) — Aanvullende kennisbankdocumenten waartoe de subagent toegang heeft. Deze worden gebruikt naast de documenten van de hoofdagent.
  - `additional_prompt` (string, required) — Specifiek doel voor deze subagent. Dit wordt toegevoegd aan de system prompt en kan worden gebruikt om het gedrag van de agent in deze specifieke context verder te verfijnen.
  - `additional_tool_ids` (list of string, required) — ID's van aanvullende tools waartoe de subagent toegang heeft. Deze worden naast de tools van de hoofdagent gebruikt.
  - `conversation_config` (ConversationalConfigAPIModelWorkflowOverride-Output, required) — Configuratie-overschrijvingen die worden toegepast terwijl de subagent het gesprek voert.
  - `edge_order` (list of string, required) — De ID's van uitgaande verbindingen in de volgorde waarin ze moeten worden geëvalueerd.
  - `entry_behavior` (enum, required, default: auto) — Bepaalt of dit knooppunt bij binnenkomst direct een antwoord moet genereren of op gebruikersinvoer moet wachten. Wanneer ingesteld op "auto", wordt het gedrag bepaald op basis van het type voorgaande knooppunt: "wait_for_user" na de knooppunten "say" en "start", en anders "generate_immediately".
    - Allowed values: `generate_immediately`, `wait_for_user`, `auto`
  - `label` (string, required) — Voor mensen leesbaar label voor het knooppunt dat in de hele UI wordt gebruikt.
  - `position` (Position-Output, required) — Positie van de node in de workflow.
- `type`: `phone_number` (WorkflowPhoneNumberNodeModel)
  - `custom_sip_headers` (list of WorkflowPhoneNumberNodeModelOutputCustomSipHeadersItems, required) — Aangepaste SIP-headers die moeten worden opgenomen bij het doorverbinden van het gesprek. Elke header kan een statische waarde of een verwijzing naar een dynamische variabele zijn.
  - `edge_order` (list of string, required) — De ID's van uitgaande verbindingen in de volgorde waarin ze moeten worden geëvalueerd.
  - `position` (Position-Output, required) — Positie van de node in de workflow.
  - `post_dial_digits` (WorkflowPhoneNumberNodeModelOutputPostDialDigits, required, nullable) — DTMF-cijfers die moeten worden verzonden nadat de oproep is verbonden (bijvoorbeeld 'ww1234' voor een doorkiesnummer). Kan een statische waarde of een verwijzing naar een dynamische variabele zijn. Gebruik 'w' voor een pauze van 0,5 s. Alleen ondersteund voor Twilio-transfers.
  - `sip_refer_play_dialtone` (boolean, required, default: true) — Wanneer True, wordt op het oorspronkelijke gesprekstraject een beltoon afgespeeld terwijl een SIP REFER-transfer wordt voltooid. De toon wordt via RTP doorgegeven aan de SIP-peer die de REFER uitvoert, dus schakel dit uit als het ontvangende systeem (bijvoorbeeld een SBC of contactcenter) deze niet mag horen. Wanneer dit is uitgeschakeld, hoort de beller stilte totdat de transfer is voltooid. Alleen voor SIP REFER-transfers.
  - `transfer_destination` (WorkflowPhoneNumberNodeModelOutputTransferDestination, required)
  - `transfer_type` (enum, required, default: conference)
    - Allowed values: `blind`, `conference`, `sip_refer`
  - `uui` (UUITransferConfig, required, nullable) — User-to-User Information (RFC 7433) om aan SIP REFER-transfers toe te voegen. Draagt oproepcontext, zoals CRM-identificatiecodes of de reden voor escalatie, over de transfergrens heen.
- `type`: `standalone_agent` (WorkflowStandaloneAgentNodeModel)
  - `agent_id` (string, required, nullable) — De ID van de agent waarnaar het gesprek moet worden overgedragen. None betekent overdracht binnen de huidige agent.
  - `branch_id` (string, required, nullable) — Optionele branch-ID voor de doelagent. None volgt de traffic deployment van de doelagent, of gebruikt de hoofdbranch als node_id is ingesteld.
  - `delay_ms` (integer, required, default: 0) — Kunstmatige vertraging in milliseconden die wordt toegepast voordat het gesprek wordt doorgeschakeld.
  - `edge_order` (list of string, required) — De ID's van uitgaande verbindingen in de volgorde waarin ze moeten worden geëvalueerd.
  - `enable_transferred_agent_first_message` (boolean, required, default: false) — Of de overgedragen agent na de overdracht het ingestelde eerste bericht mag verzenden.
  - `node_id` (string, required, nullable) — Optionele doelnode-ID in de workflow van de bestemmingsagent. Wanneer deze is ingesteld, begint de overdracht bij deze node in plaats van bij de standaardinvoernode.
  - `position` (Position-Output, required) — Positie van de node in de workflow.
  - `preserve_client_tts_overrides` (boolean, required, default: false) — Definieert of TTS-clientoverschrijvingen moeten worden overgedragen naar de doorverbonden agent.
  - `preserve_voice_settings` (boolean, required, default: false) — Definieert of de basisstem, het TTS-model en de steminstellingen moeten worden overgedragen naar de doorverbonden agent.
  - `transfer_message` (string, required, nullable) — Optioneel bericht dat naar de gebruiker wordt verzonden voordat de overdracht wordt gestart.
- `type`: `start` (WorkflowStartNodeModel)
  - `edge_order` (list of string, required) — De ID's van uitgaande verbindingen in de volgorde waarin ze moeten worden geëvalueerd.
  - `position` (Position-Output, required) — Positie van de node in de workflow.
- `type`: `tool` (WorkflowToolNodeModel)
  - `edge_order` (list of string, required) — De ID's van uitgaande verbindingen in de volgorde waarin ze moeten worden geëvalueerd.
  - `position` (Position-Output, required) — Positie van de node in de workflow.
  - `tools` (list of WorkflowToolLocator, required) — Lijst met tools die parallel moeten worden uitgevoerd. Het volledige knooppunt wordt als geslaagd beschouwd als alle tools succesvol zijn uitgevoerd.
- `type`: `say` (WorkflowSayNodeModel)
  - `additional_knowledge_base` (list of KnowledgeBaseLocator, required) — Kennisbankdocumenten die beschikbaar zijn voor de LLM terwijl deze node zijn bericht genereert, naast de documenten van de agent.
  - `additional_prompt` (string, required) — Geaccepteerd voor consistentie met subagentnodes, maar niet gebruikt. Beschrijf het bericht in `message.prompt`, of vervang de systeemprompt door `conversation_config.agent.prompt.prompt`.
  - `additional_tool_ids` (list of string, required) — Geaccepteerd voor consistentie met subagentnodes, maar niet gebruikt. Een say-node kan geen tools aanroepen.
  - `conversation_config` (ConversationalConfigAPIModelWorkflowOverride-Output, required) — Configuratie-overschrijvingen die worden toegepast terwijl dit knooppunt spreekt, zoals de stem of, voor promptberichten, de LLM en systeemprompt.
  - `edge_order` (list of string, required) — De ID's van uitgaande verbindingen in de volgorde waarin ze moeten worden geëvalueerd.
  - `label` (string, required) — Voor mensen leesbaar label voor het knooppunt dat in de hele UI wordt gebruikt.
  - `message` (WorkflowSayNodeModelOutputMessage, required) — Bericht dat door deze node wordt uitgesproken. Gebruik `literal` voor exacte tekst of `prompt` om de LLM het bericht op basis van een beschrijving te laten genereren.
  - `position` (Position-Output, required) — Positie van de node in de workflow.
  - `wait_for_speech_completion` (boolean, required, default: false) — Wanneer true, gaat de workflow pas naar de volgende node nadat het bericht volledig is uitgesproken.
  - `wait_for_user_response` (boolean, required, default: false) — Wanneer true, spreekt de node zijn bericht uit en wacht vervolgens op antwoord van de gebruiker voordat uitgaande edges worden geëvalueerd, zodat edges kunnen vertakken op basis van het antwoord. Als de gebruiker stil blijft, gaat de workflow verder na de turn timeout.
- `type`: `update_state` (WorkflowUpdateStateNodeModel)
  - `edge_order` (list of string, required) — De ID's van uitgaande verbindingen in de volgorde waarin ze moeten worden geëvalueerd.
  - `label` (string, required) — Voor mensen leesbaar label voor het knooppunt dat in de hele UI wordt gebruikt.
  - `position` (Position-Output, required) — Positie van de node in de workflow.
  - `updates` (list of WorkflowStateUpdate-Output, required) — Statusupdates die worden toegepast wanneer de workflow dit knooppunt bereikt. Een knooppunt accepteert maximaal 50 updates.

### ValidationErrorLocItems

### WorkflowEdgeModelOutputForwardCondition

Voorwaarde waaraan moet worden voldaan om de rand in voorwaartse richting te doorlopen (bron naar doel).

- `type`: `expression` (WorkflowExpressionConditionModel)
  - `expression` (ASTNode-Output, required) — Te evalueren expressie.
  - `label` (string, required, nullable) — Optioneel leesbaar label voor de voorwaarde, dat in de hele UI wordt gebruikt.
- `type`: `llm` (WorkflowLLMConditionModel)
  - `condition` (string, required) — Te evalueren voorwaarde
  - `label` (string, required, nullable) — Optioneel leesbaar label voor de voorwaarde, dat in de hele UI wordt gebruikt.
- `type`: `result` (WorkflowResultConditionModel)
  - `label` (string, required, nullable) — Optioneel leesbaar label voor de voorwaarde, dat in de hele UI wordt gebruikt.
  - `successful` (boolean, required) — Of alle tools in de eerder uitgevoerde toolnode zijn uitgevoerd.
- `type`: `unconditional` (WorkflowUnconditionalModel)
  - `label` (string, required, nullable) — Optioneel leesbaar label voor de voorwaarde, dat in de hele UI wordt gebruikt.

### WorkflowEdgeModelOutputBackwardCondition

Voorwaarde waaraan moet worden voldaan om de rand in achterwaartse richting te doorlopen (doel naar bron).

- `type`: `expression` (WorkflowExpressionConditionModel)
  - `expression` (ASTNode-Output, required) — Te evalueren expressie.
  - `label` (string, required, nullable) — Optioneel leesbaar label voor de voorwaarde, dat in de hele UI wordt gebruikt.
- `type`: `llm` (WorkflowLLMConditionModel)
  - `condition` (string, required) — Te evalueren voorwaarde
  - `label` (string, required, nullable) — Optioneel leesbaar label voor de voorwaarde, dat in de hele UI wordt gebruikt.
- `type`: `result` (WorkflowResultConditionModel)
  - `label` (string, required, nullable) — Optioneel leesbaar label voor de voorwaarde, dat in de hele UI wordt gebruikt.
  - `successful` (boolean, required) — Of alle tools in de eerder uitgevoerde toolnode zijn uitgevoerd.
- `type`: `unconditional` (WorkflowUnconditionalModel)
  - `label` (string, required, nullable) — Optioneel leesbaar label voor de voorwaarde, dat in de hele UI wordt gebruikt.

### Position-Output

- `x` (double, required, default: 0)
- `y` (double, required, default: 0)

### KnowledgeBaseLocator

- `type` (enum, required) — Het type kennisbank
  - Allowed values: `file`, `url`, `text`, `folder`
- `name` (string, required) — De naam van de kennisbank
- `id` (string, required) — De ID van de kennisbank
- `usage_mode` (enum, optional, default: auto) — De gebruiksmodus van de kennisbank
  - Allowed values: `prompt`, `auto`

### ConversationalConfigAPIModelWorkflowOverride-Output

- `asr` (ASRConversationalConfigWorkflowOverride, optional, nullable) — Configuratie voor conversationele transcriptie
- `turn` (TurnConfigWorkflowOverride, optional, nullable) — Configuratie voor beurtdetectie
- `tts` (TTSConversationalConfigWorkflowOverride-Output, optional, nullable) — Configuratie voor conversationele Text to Speech
- `conversation` (ConversationConfigWorkflowOverride-Output, optional, nullable) — Configuratie voor gespreksgebeurtenissen
- `language_presets` (map from string to LanguagePreset-Output, optional, nullable) — Taalvoorinstellingen voor gesprekken
- `vad` (VADConfigWorkflowOverride, optional, nullable) — Configuratie voor stemactiviteitsdetectie
- `agent` (AgentConfigAPIModelWorkflowOverride-Output, optional, nullable) — Agentspecifieke configuratie

### WorkflowPhoneNumberNodeModelOutputCustomSipHeadersItems

- `type`: `dynamic` (CustomSIPHeaderWithDynamicVariable)
  - `key` (string, required) — De naam van de SIP-header (bijvoorbeeld 'X-Customer-ID')
  - `value` (string, required) — De naam van de dynamische variabele die moet worden opgelost
- `type`: `static` (CustomSIPHeader)
  - `key` (string, required) — De naam van de SIP-header (bijvoorbeeld 'X-Customer-ID')
  - `value` (string, required) — De headerwaarde

### WorkflowPhoneNumberNodeModelOutputPostDialDigits

DTMF-cijfers die moeten worden verzonden nadat de oproep is verbonden (bijvoorbeeld 'ww1234' voor een doorkiesnummer). Kan een statische waarde of een verwijzing naar een dynamische variabele zijn. Gebruik 'w' voor een pauze van 0,5 s. Alleen ondersteund voor Twilio-transfers.

- `type`: `dynamic` (PostDialDigitsDynamicVariable)
  - `value` (string, required) — De naam van de dynamische variabele die moet worden opgelost
- `type`: `static` (PostDialDigitsStatic)
  - `value` (string, required) — DTMF-cijfers die moeten worden verzonden nadat de oproep is verbonden (bijvoorbeeld 'ww1234' voor een doorkiesnummer)

### WorkflowPhoneNumberNodeModelOutputTransferDestination

- `type`: `phone` (PhoneNumberTransferDestination)
  - `phone_number` (string, required)
- `type`: `phone_dynamic_variable` (PhoneNumberDynamicVariableTransferDestination)
  - `phone_number` (string, required)
- `type`: `sip_uri` (SIPUriTransferDestination)
  - `sip_uri` (string, required)
- `type`: `sip_uri_dynamic_variable` (SIPUriDynamicVariableTransferDestination)
  - `sip_uri` (string, required)

### UUITransferConfig

User-to-User Information-envelop voor SIP REFER-transfers (RFC 7433). Uitgaande payloads zijn hex-gecodeerd (de enige codering die RFC 7433 definieert). Met de protocol-discriminatoras kunnen formaten per platform (Talkdesk, Genesys, ...) via configuratie worden uitgedrukt in plaats van via verspreide transferflags. Verdere assen (ASCII-codering, headernaam, doel-/inhoudsparameters) kunnen hier worden toegevoegd zonder het transfermodel aan te passen.

- `data` (string, required) — UUI-payload om te versturen bij SIP REFER-transfers. Ondersteunt inline dynamische variabelen en wordt tijdens de transfer hex-gecodeerd.
- `protocol_discriminator` (string, optional, nullable) — Optionele protocolonderscheider van één octet (twee hexadecimale cijfers, bijv. '00'). Vereist door platforms zoals Genesys Cloud, die anders het eerste octet van de payload verwijderen. Laat niet ingesteld voor platforms zoals Talkdesk die een kale hexadecimale payload verwachten.
- `protocol_discriminator_mode` (enum, optional, default: prefix) — Hoe protocol\_discriminator moet worden toegevoegd. 'prefix' plaatst het octet vóór de hex-payload (User-to-User=XX\<hex>;encoding=hex). 'pd\_parameter' verstuurt het als afzonderlijke parameter (User-to-User=\<hex>;pd=XX;encoding=hex). Wordt genegeerd wanneer protocol\_discriminator niet is ingesteld.
  - Allowed values: `prefix`, `pd_parameter`

### WorkflowToolLocator

- `tool_id` (string, required)
- `schema_overrides` (map from string to WorkflowToolLocatorSchemaOverrides, optional, nullable) — Parameteroverschrijvingen per node, toegepast boven op de eigen configuratie van de tool. Sleutels zijn parameterpaden met punten (webhooktools laten sleutels voorafgaan door path_params./query_params./request_body.). Deze hebben voorrang op overschrijvingen die al in de tool zelf zijn gedefinieerd.

### WorkflowSayNodeModelOutputMessage

Bericht dat door deze node wordt uitgesproken. Gebruik `literal` voor exacte tekst of `prompt` om de LLM het bericht op basis van een beschrijving te laten genereren.

- `type`: `literal` (SayNodeLiteralMessage)
  - `text` (string, required) — Exacte tekst die door de agent wordt uitgesproken. Ondersteunt placeholders voor dynamische variabelen: `{{variable_name}}`.
  - `text_translations` (map from string to TranslatedString, required) — Vertalingen van `text`, ingedeeld op taalcode. Wanneer de gesprekstaal een invoer heeft, wordt de waarde daarvan uitgesproken in plaats van `text`.
- `type`: `prompt` (SayNodePromptMessage)
  - `prompt` (string, required) — Beschrijving van het bericht dat de LLM moet genereren. Dit wordt toegevoegd aan de systeemprompt van de agent zolang dit knooppunt actief is.

### WorkflowStateUpdate-Output

- `type` ("dynamic_variable", required)
- `variable_name` (string, required) — Naam van de dynamische variabele die moet worden toegewezen.
- `expression` (ASTNode-Output, required) — Expressie waarvan het resultaat aan de variabele wordt toegewezen. Deze kan constanten, andere dynamische variabelen, door een LLM geëxtraheerde waarden en operators combineren.
- `required` (boolean, required, default: true) — Wanneer false, kan de LLM de waarden weglaten waarop deze update is gebaseerd. De update wordt dan overgeslagen en de variabele behoudt de huidige waarde.

### ASTNode-Output

- `type`: `add_operator` (ASTAdditionOperatorNode)
  - `left` (ASTNode-Output, required) — Linkeroperand van de binaire operator.
  - `right` (ASTNode-Output, required) — Rechteroperand van de binaire operator.
- `type`: `and_operator` (ASTAndOperatorNode)
  - `children` (list of ASTNode-Output, required) — Onderliggende knooppunten van de logische operator.
- `type`: `boolean_literal` (ASTBooleanNode)
  - `value` (boolean, required) — Waarde van dit literal.
- `type`: `conditional_operator` (ASTConditionalOperatorNode)
  - `condition` (ASTNode-Output, required) — Voorwaarde die bepaalt welke expressie moet worden geselecteerd.
  - `falseExpression` (ASTNode-Output, required) — Expressie die wordt geselecteerd als de voorwaarde onwaar is.
  - `trueExpression` (ASTNode-Output, required) — Expressie die wordt geselecteerd als de voorwaarde waar is.
- `type`: `div_operator` (ASTDivisionOperatorNode)
  - `left` (ASTNode-Output, required) — Linkeroperand van de binaire operator.
  - `right` (ASTNode-Output, required) — Rechteroperand van de binaire operator.
- `type`: `dynamic_variable` (ASTDynamicVariableNode)
  - `name` (string, required) — De naam van de dynamische variabele.
- `type`: `eq_operator` (ASTEqualsOperatorNode)
  - `left` (ASTNode-Output, required) — Linkeroperand van de binaire operator.
  - `right` (ASTNode-Output, required) — Rechteroperand van de binaire operator.
- `type`: `gt_operator` (ASTGreaterThanOperatorNode)
  - `left` (ASTNode-Output, required) — Linkeroperand van de binaire operator.
  - `right` (ASTNode-Output, required) — Rechteroperand van de binaire operator.
- `type`: `gte_operator` (ASTGreaterThanOrEqualsOperatorNode)
  - `left` (ASTNode-Output, required) — Linkeroperand van de binaire operator.
  - `right` (ASTNode-Output, required) — Rechteroperand van de binaire operator.
- `type`: `llm` (ASTLLMNode)
  - `value_schema` (LLMLiteralJsonSchemaProperty, required) — JSON-schema dat de waarde beschrijft die de LLM moet extraheren.
  - `prompt` (string, required, deprecated) — De prompt die moet worden geëvalueerd tot een booleaanse waarde. Verouderd. Gebruik in plaats daarvan een booleaans schema.
- `type`: `lt_operator` (ASTLessThanOperatorNode)
  - `left` (ASTNode-Output, required) — Linkeroperand van de binaire operator.
  - `right` (ASTNode-Output, required) — Rechteroperand van de binaire operator.
- `type`: `lte_operator` (ASTLessThanOrEqualsOperatorNode)
  - `left` (ASTNode-Output, required) — Linkeroperand van de binaire operator.
  - `right` (ASTNode-Output, required) — Rechteroperand van de binaire operator.
- `type`: `mul_operator` (ASTMultiplicationOperatorNode)
  - `left` (ASTNode-Output, required) — Linkeroperand van de binaire operator.
  - `right` (ASTNode-Output, required) — Rechteroperand van de binaire operator.
- `type`: `neq_operator` (ASTNotEqualsOperatorNode)
  - `left` (ASTNode-Output, required) — Linkeroperand van de binaire operator.
  - `right` (ASTNode-Output, required) — Rechteroperand van de binaire operator.
- `type`: `null_literal` (ASTNullNode)
- `type`: `number_literal` (ASTNumberNode)
  - `value` (AstNumberNodeOutputValue, required) — Waarde van dit literal.
- `type`: `or_operator` (ASTOrOperatorNode)
  - `children` (list of ASTNode-Output, required) — Onderliggende knooppunten van de logische operator.
- `type`: `string_literal` (ASTStringNode)
  - `value` (string, required) — Waarde van dit literal.
- `type`: `sub_operator` (ASTSubtractionOperatorNode)
  - `left` (ASTNode-Output, required) — Linkeroperand van de binaire operator.
  - `right` (ASTNode-Output, required) — Rechteroperand van de binaire operator.

### ASRConversationalConfigWorkflowOverride

- `quality` (enum, optional, nullable, default: high) — De kwaliteit van de transcriptie
  - Allowed values: `high`
- `provider` (enum, optional, nullable, default: scribe_realtime) — De provider van de transcriptieservice
  - Allowed values: `elevenlabs`, `scribe_realtime`, `scribe_v2_turbo`
- `user_input_audio_format` (enum, optional, nullable, default: pcm_16000) — Het formaat van de audio die moet worden getranscribeerd
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `keywords` (list of string, optional, nullable) — Trefwoorden waarvoor de voorspellingskans moet worden verhoogd

### TurnConfigWorkflowOverride

- `turn_timeout` (double, optional, nullable) — Maximale wachttijd op het antwoord van de gebruiker voordat opnieuw contact wordt opgenomen
- `initial_wait_time` (double, optional, nullable) — Hoe lang de agent wacht tot de gebruiker het gesprek start als het eerste bericht leeg is. Als dit niet is ingesteld, wordt de gewone turn_timeout gebruikt.
- `silence_end_call_timeout` (double, optional, nullable) — Maximale tijd sinds de gebruiker voor het laatst sprak voordat het gesprek wordt beëindigd
- `turn_eagerness` (enum, optional, nullable, default: normal) — Bepaalt hoe snel de agent reageert. Laag = minder snel (wacht langer), Standaard = standaardreactiesnelheid, Hoog = sneller (reageert eerder)
  - Allowed values: `patient`, `normal`, `eager`
- `spelling_patience` (enum, optional, nullable, default: auto) — Bepaalt of de agent geduldiger moet zijn wanneer de gebruiker getallen en benoemde entiteiten spelt. Auto = gebaseerd op het model, Uit = nooit extra wachten
  - Allowed values: `auto`, `off`
- `speculative_turn` (boolean, optional, nullable) — Wanneer dit is ingeschakeld, begint het tijdens stilte met het genereren van LLM-antwoorden voordat de volledige turn confidence is bereikt, waardoor de waargenomen vertraging afneemt. Dit kan de LLM-kosten verhogen.
- `retranscribe_on_turn_timeout` (boolean, optional, nullable) — Wanneer dit is ingeschakeld en VAD geen spraak detecteert, wordt geprobeerd de verzamelde audio opnieuw te transcriberen bij de turn timeout. Schakelt facturering met stiltekorting uit zolang dit is ingeschakeld voor de actieve agent of workflownode.
- `turn_model` (enum, optional, nullable, default: turn_v3) — Versie van het te gebruiken beurtwisselingsdetectiemodel.
  - Allowed values: `turn_v2`, `turn_v3`
- `interruption_ignore_terms` (list of string, optional, nullable) — Lijst met termen die geen onderbreking mogen veroorzaken wanneer de gebruiker ze uitspreekt (bijv. 'gotcha', 'understood'). Gebruikt exacte overeenkomst zonder hoofdlettergevoeligheid.
- `interruption_ignore_term_languages` (list of string, optional, nullable) — Taalcodes waarvoor vooraf ingestelde categorieën voor te negeren termen zijn geactiveerd. Expliciet opgeslagen, zodat de weergave niet wordt afgeleid uit overlappende termen.
- `merge_with_default_ignore_terms` (boolean, optional, nullable) — Wanneer dit is ingeschakeld, worden naast interruption_ignore_terms ook de samengestelde standaardtermen voor interruption_ignore_term_languages gebruikt.
- `transcribe_on_disabled_interruptions` (boolean, optional, nullable) — Transcribeer ook wanneer onderbrekingen zijn uitgeschakeld wat de gebruiker zegt, zodat dit kan worden meegenomen naar de volgende beurt. Wanneer dit is uitgeschakeld, wordt spraak van de gebruiker tijdens een niet-onderbreekbare beurt genegeerd en wordt geen beurt gestart.
- `soft_timeout_config` (SoftTimeoutConfigWorkflowOverride, optional, nullable) — Configuratie voor soft-time-outfunctionaliteit. Geeft direct feedback tijdens langere LLM-responses.

### TTSConversationalConfigWorkflowOverride-Output

- `model_id` (enum, optional, nullable, default: eleven_v4_turbo) — Het model dat voor TTS moet worden gebruikt
  - Allowed values: `eleven_turbo_v2`, `eleven_turbo_v2_5`, `eleven_flash_v2`, `eleven_flash_v2_5`, `eleven_multilingual_v2`, `eleven_v3_conversational`, `eleven_v4`, `eleven_v4_turbo`
- `voice_id` (string, optional, nullable) — De stem-ID die voor TTS moet worden gebruikt
- `supported_voices` (list of SupportedVoice, optional, nullable) — Aanvullende ondersteunde stemmen voor de agent
- `expressive_mode` (boolean, optional, nullable) — Wanneer dit is ingeschakeld, wordt de prompt voor expressieve audiotags toegepast. Automatisch uitgeschakeld voor niet-v3-modellen.
- `suggested_audio_tags` (list of SuggestedAudioTag, optional, nullable) — Voorgestelde audiotags om expressieve spraak te versterken (voor modellen eleven_v3 en eleven_v3_conversational). De agent kan nog steeds andere, hier niet vermelde tags gebruiken.
- `agent_output_audio_format` (enum, optional, nullable, default: pcm_16000) — De audio-indeling die je voor TTS wilt gebruiken
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `optimize_streaming_latency` (enum, optional, nullable) — Verouderd: dit veld heeft geen effect en wordt genegeerd.
  - Allowed values: `0`, `1`, `2`, `3`, `4`
- `stability` (double, optional, nullable) — De stabiliteit van gegenereerde spraak
- `speed` (double, optional, nullable) — De snelheid van gegenereerde spraak
- `similarity_boost` (double, optional, nullable) — De similariteitsboost voor gegenereerde spraak
- `text_normalisation_type` (enum, optional, nullable, default: system_prompt) — Methode om getallen naar woorden om te zetten voordat tekst naar spraak wordt omgezet. Als dit is ingesteld op SYSTEM_PROMPT, wordt de systeemprompt bijgewerkt met normalisatie-instructies. Als dit is ingesteld op ELEVENLABS, wordt de tekst na het genereren genormaliseerd, wat voor een kleine extra vertraging zorgt.
  - Allowed values: `system_prompt`, `elevenlabs`
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional, nullable) — De locators voor het uitspraakwoordenboek
- `enable_phoneme_tags` (boolean, optional, nullable) — Meld je aan voor verwerking van SSML-foneemtags voor V3-modellen. Indien ingeschakeld, worden foneemtags (inline en uit uitspraakwoordenboeken) geparseerd naar inline IPA voordat ze naar het model worden verzonden.
- `audio_effects` (EffectsSpec-Output, optional, nullable) — Optionele specificatie voor TTS-effecten: filterpreset, afstand (proximity-EQ) en omgeving (convolution reverb).

### ConversationConfigWorkflowOverride-Output

- `text_only` (boolean, optional, nullable) — Als dit is ingeschakeld, wordt audio niet verwerkt en wordt alleen tekst gebruikt. Gebruik dit om audiokosten te vermijden.
- `max_duration_seconds` (integer, optional, nullable) — De maximale duur van een conversatie in seconden
- `client_events` (list of enum, optional, nullable) — De gebeurtenissen die naar de client worden verzonden
  - Allowed values: `conversation_initiation_metadata`, `asr_initiation_metadata`, `ping`, `audio`, `interruption`, `user_transcript`, `tentative_user_transcript`, `agent_response`, `agent_response_correction`, `client_tool_call`, `mcp_tool_call`, `mcp_connection_status`, `agent_tool_request`, `agent_tool_response`, `agent_tool_response_full_payload`, `agent_response_metadata`, `vad_score`, `agent_chat_response_part`, `client_error`, `guardrail_triggered`, `dtmf_request`, `agent_response_complete`, `context_usage`, `internal_turn_probability`, `internal_tentative_agent_response`
- `file_input` (FileInputConfigWorkflowOverride, optional, nullable) — Configuratie voor bestandsinvoer (uploads van afbeeldingen/PDF's) tijdens gesprekken.
- `monitoring_enabled` (boolean, optional, nullable) — Schakel realtime monitoring van gesprekken via WebSocket in
- `monitoring_events` (list of enum, optional, nullable) — De gebeurtenissen die naar monitoringverbindingen worden verzonden.
  - Allowed values: `conversation_initiation_metadata`, `asr_initiation_metadata`, `ping`, `audio`, `interruption`, `user_transcript`, `tentative_user_transcript`, `agent_response`, `agent_response_correction`, `client_tool_call`, `mcp_tool_call`, `mcp_connection_status`, `agent_tool_request`, `agent_tool_response`, `agent_tool_response_full_payload`, `agent_response_metadata`, `vad_score`, `agent_chat_response_part`, `client_error`, `guardrail_triggered`, `dtmf_request`, `agent_response_complete`, `context_usage`, `internal_turn_probability`, `internal_tentative_agent_response`
- `dtmf_input_settings` (DTMFInputConfig, optional, nullable) — Configureer het verzamelen van DTMF-invoer (toetsenblok) tijdens telefoongesprekken
- `background_sound` (BackgroundSoundConfigWorkflowOverride, optional, nullable) — Configuratie voor achtergrondgeluid tijdens gesprekken.
- `source_attribution` (boolean, optional, nullable) — Wanneer dit is ingeschakeld en er inhoud in de kennisbank aanwezig is, krijgt de LLM de instructie om te vermelden welke bronnen zijn gebruikt.

### LanguagePreset-Output

- `overrides` (ConversationConfigClientOverride-Output, required) — De overschrijvingen voor de taalpreset
- `first_message_translation` (LanguagePresetTranslation, optional, nullable) — De vertaling van het eerste bericht
- `soft_timeout_translation` (LanguagePresetTranslation, optional, nullable) — De vertaling van het bericht voor de zachte time-out

### VADConfigWorkflowOverride

### AgentConfigAPIModelWorkflowOverride-Output

- `first_message` (string, optional, nullable) — Als dit niet leeg is, het eerste bericht dat de agent uitspreekt. Als het leeg is, wacht de agent tot de gebruiker het gesprek start.
- `language` (string, optional, nullable) — Taal van de agent - gebruikt voor ASR en TTS
- `hinglish_mode` (boolean, optional, nullable) — Wanneer dit is ingeschakeld, voegt de agent Engelse woorden en zinnen toe aan antwoorden in het Hindi, Malayalam, Telugu of Kannada.
- `dynamic_variables` (DynamicVariablesConfigWorkflowOverride, optional, nullable) — Configuratie voor dynamische variabelen
- `disable_first_message_interruptions` (boolean, optional, nullable) — Als true, kan de gebruiker de agent niet onderbreken terwijl het eerste bericht wordt geleverd.
- `max_conversation_duration_message` (string, optional, nullable) — Als dit niet leeg is, het bericht dat de agent verstuurt wanneer de maximale gespreksduur is bereikt.
- `text_behavior_overrides` (map from string to BehaviorOverride, optional, nullable) — Overschrijvingen van antwoordgedrag per kanaal voor tekstgesprekken. Als deze niet zijn ingesteld, gelden de ingebouwde standaardwaarden van het kanaal.
- `prompt` (PromptAgentAPIModelWorkflowOverride-Output, optional, nullable) — De prompt voor de agent

### WorkflowToolLocatorSchemaOverrides

- `source`: `constant` (ConstantSchemaOverride)
  - `constant_value` (WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue, required, nullable) — De constante waarde die je wilt gebruiken
- `source`: `dynamic_variable` (DynamicVariableSchemaOverride)
  - `dynamic_variable` (string, required) — De naam van de te gebruiken dynamische variabele
- `source`: `llm` (LLMSchemaOverride)
  - `prompt` (string, optional, nullable) — Promptoverschrijving voor de LLM. Als deze niet is opgegeven, wordt de oorspronkelijke schemabeschrijving gebruikt.
- `source`: `omit` (OmitSchemaOverride)

### TranslatedString

- `value` (string, required)

### LLMLiteralJsonSchemaProperty

- `type` (LlmLiteralJsonSchemaPropertyType, required)
- `description` (string, required)
- `enum` (list of string, optional, nullable) — List of allowed string values for string type parameters

### AstNumberNodeOutputValue

Waarde van dit literal.

### SoftTimeoutConfigWorkflowOverride

- `timeout_seconds` (double, optional, nullable) — Tijd in seconden voordat het vooraf gedefinieerde bericht wordt getoond tijdens het wachten op een LLM-reactie. Stel in op -1 om uit te schakelen.
- `message` (string, optional, nullable) — Bericht dat wordt weergegeven wanneer de eerste zachte time-out wordt bereikt tijdens het wachten op een reactie van de LLM. Ondersteunt dynamische variabelen (bijv. \{\{system\_\_time}}, \{\{custom\_variable}}).
- `additional_soft_timeout_messages` (list of string, optional, nullable) — Extra statische opvulberichten voor volgende soft time-outs in dezelfde LLM-generatie. De eerste time-out gebruikt `message`. Als er minder berichten zijn geconfigureerd dan `max_soft_timeouts_per_generation`, wordt het laatst geconfigureerde bericht herhaald; anders wordt een ingebouwd opvulbericht gebruikt.
- `use_llm_generated_message` (boolean, optional, nullable) — Als dit is ingeschakeld, wordt het soft-timeoutbericht dynamisch gegenereerd in plaats van het statische bericht te gebruiken.
- `randomize_fillers` (boolean, optional, nullable) — Als dit is ingeschakeld, wordt de volgorde van statische soft-timeoutberichten eenmaal aan het begin van elke beurt geschud. Geldt alleen wanneer use_llm_generated_message false is.
- `max_soft_timeouts_per_generation` (integer, optional, nullable) — Maximumaantal opvulberichten tijdens het wachten op één LLM-respons. Wordt elke timeout_seconds geactiveerd totdat het LLM content streamt of deze limiet is bereikt.
- `llm_generated_message_prompt_override` (string, optional, nullable) — Aangepaste prompt voor het genereren van het opvulbericht bij een zachte time-out wanneer use\_llm\_generated\_message is ingeschakeld. Recente conversatiecontext wordt als afzonderlijk gebruikersbericht verstrekt. Als dit niet is ingesteld, wordt de standaardprompt gebruikt. Ondersteunt dynamische variabelen (bijv. \{\{system\_\_time}}, \{\{custom\_variable}}).
- `disable_until_first_user_message` (boolean, optional, nullable) — Wanneer true, worden fillers bij een soft timeout onderdrukt totdat het gesprek minstens één echt gebruikersbericht bevat. Dit voorkomt fillers tijdens de openingsbeurt van de agent (bijvoorbeeld workflow generate-immediately / tool calls voordat de gebruiker spreekt).

### SupportedVoice

- `label` (string, required)
- `voice_id` (string, required)
- `description` (string, optional, nullable)
- `language` (string, optional, nullable)
- `model_family` (enum, optional, nullable)
  - Allowed values: `turbo`, `flash`, `multilingual`, `v3_conversational`, `v4`, `v4_turbo`
- `optimize_streaming_latency` (enum, optional, nullable)
  - Allowed values: `0`, `1`, `2`, `3`, `4`
- `stability` (double, optional, nullable)
- `speed` (double, optional, nullable)
- `similarity_boost` (double, optional, nullable)

### SuggestedAudioTag

- `tag` (string, required) — Te gebruiken audiotag (voor de beste prestaties 1-2 woorden, bijvoorbeeld 'happy', 'excited')
- `description` (string, optional, nullable) — Optionele beschrijving van wanneer je deze tag gebruikt

### PydanticPronunciationDictionaryVersionLocator

Een locator waarmee andere documenten naar een specifiek woordenboek en de bijbehorende versie kunnen verwijzen. Dit is een pydantic-versie van PronunciationDictionaryVersionLocatorDBModel. Vereist om compatibiliteit met de overige datamodellen van de agent te waarborgen.

- `pronunciation_dictionary_id` (string, required) — De ID van het uitspraakwoordenboek
- `version_id` (string, required, nullable) — De ID van de versie van het uitspraakwoordenboek

### EffectsSpec-Output

Audio-effecten die worden toegepast op gegenereerde spraak: een filterpreset, waargenomen afstand, een galm- omgeving, achtergrondruis en stereopanning. Laat elk veld op de standaardwaarde staan om onbewerkte audio te krijgen.

- `filter_preset_id` (string, required, nullable) — ID van een filterpreset die de stem kleurt, zoals `phone` of `old_radio`. Geef geldige ID's weer met `GET /v1/audio-effects/catalog`.
- `distance` (double, required, default: 0) — Hoe ver de spreker van de microfoon lijkt te staan, van 0 (dichtbij, ongewijzigd) tot 1 (ver weg). Hogere waarden dempen lage en hoge frequenties en verschuiven, wanneer een omgeving is ingesteld, de balans van de droge stem naar de galm.
- `environment_id` (string, required, nullable) — ID van een reverbomgeving die de stem in een ruimte plaatst, zoals `small_room` of `hall`. Geef geldige ID's weer met `GET /v1/audio-effects/catalog`. Reverb wordt in stereo gerenderd en voegt een galmstaart van maximaal enkele seconden toe nadat de spraak eindigt.
- `background_noise_id` (string, required, nullable) — ID van een achtergrondgeluidsbed dat onder de stem wordt geloopt, zoals `cafe` of `keyboard`. Geef geldige ID's weer met `GET /v1/audio-effects/catalog`.
- `send_level` (double, required, default: 1) — Hoeveel van de stem naar de reverb gaat, van 0 (geen) tot 1 (volledig). Geldt alleen wanneer `environment_id` is ingesteld; 0 schakelt de reverb uit.
- `pan` (double, required, default: 0) — Stereopositie van de stem, van -1 (volledig links) via 0 (midden) tot 1 (volledig rechts). Alleen de stem wordt gepand; galm en achtergrondruis blijven in het midden.
- `seed` (integer, required, nullable, deprecated) — Heeft geen effect.

### FileInputConfigWorkflowOverride

- `enabled` (boolean, optional, nullable) — Wanneer dit is ingeschakeld, kunnen gebruikers afbeeldingen, pdf's of tekstbestanden toevoegen in de chat wanneer de LLM multimodale invoer ondersteunt.
- `max_files_in_memory` (integer, optional, nullable) — Aantal meest recente bestanden dat tijdens een gesprek in het geheugen wordt bewaard. Oudere bestanden worden samengevat en hun bytes worden vrijgegeven.
- `max_files_per_conversation` (integer, optional, nullable) — Totaal aantal bestanden dat een gebruiker in één gesprek kan uploaden. Uploads worden per bestand gefactureerd. Gebruik -1 voor geen limiet, of een waarde >= max_files_in_memory.

### DTMFInputConfig

Configuratie voor het verzamelen van DTMF-invoer (toetsenblok) tijdens telefoongesprekken.

- `dtmf_input_timeout` (double, optional, default: 2) — Time-out in seconden om te wachten op aanvullende DTMF-cijfers
- `hash_terminator` (boolean, optional, default: true) — Als true, voltooit het indrukken van # de DTMF-invoer direct
- `redact_input` (boolean, optional, default: false) — Als true, vervang je de DTMF-invoer (toetsenbord) van de beller door een afschermingsmarkering in het transcript, het gesprekslogboek en de analyse. Cijfers die de agent herhaalt of aan een tool doorgeeft, worden niet beïnvloed.

### BackgroundSoundConfigWorkflowOverride

- `source_type` (enum, optional, nullable) — Het type bron voor achtergrondgeluid.
  - Allowed values: `preset`
- `source_id` (enum, optional, nullable) — ID voor de geluidsbron.
  - Allowed values: `office2`, `office1`, `restaurant`, `city`, `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `volume` (double, optional, nullable) — Volumeniveau voor achtergrondgeluid (0.01 tot 1.0).
- `crossfade_loop` (boolean, optional, nullable) — Pas een crossfade toe bij de loopgrens om hoorbare tikken te voorkomen wanneer het geluid wordt herhaald.

### ConversationConfigClientOverride-Output

- `asr` (ASRConversationalConfigOverride, optional, nullable) — Configuratie voor conversationele transcriptie
- `turn` (TurnConfigOverride, optional, nullable) — Configuratie voor beurtdetectie
- `tts` (TTSConversationalConfigOverride, optional, nullable) — Configuratie voor conversationele Text to Speech
- `conversation` (ConversationConfigOverride, optional, nullable) — Configuratie voor gespreksgebeurtenissen
- `agent` (AgentConfigOverride-Output, optional, nullable) — Agentspecifieke configuratie

### LanguagePresetTranslation

- `source_hash` (string, required)
- `text` (string, required)

### DynamicVariablesConfigWorkflowOverride

- `dynamic_variable_placeholders` (map from string to any, optional, nullable) — Een woordenboek met tijdelijke aanduidingen voor dynamische variabelen en hun waarden

### BehaviorOverride

- `verbosity` (enum, optional, nullable) — Overschrijving voor uitgebreidheid. De onderliggende standaardwaarde geldt wanneer deze niet is ingesteld.
  - Allowed values: `auto`, `concise`, `thorough`
- `output_format` (enum, optional, nullable) — Overschrijving van het uitvoerformaat. Als deze niet is ingesteld, geldt de onderliggende standaardwaarde.
  - Allowed values: `mp3_22050_32`, `mp3_44100_32`, `mp3_44100_64`, `mp3_44100_96`, `mp3_44100_128`, `mp3_44100_192`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `ulaw_8000`
- `interaction_budget` (enum, optional, nullable) — Overschrijving van het interactiebudget. Als dit niet is ingesteld, geldt de onderliggende standaardwaarde.
  - Allowed values: `realtime`, `5_minutes`, `10_minutes`, `1_hour`

### PromptAgentAPIModelWorkflowOverride-Output

- `prompt` (string, optional, nullable) — De prompt voor de agent
- `llm` (enum, optional, nullable) — De LLM die met de prompt en de chatgeschiedenis moet worden bevraagd. Bij gebruik van dataresidency moet de LLM worden ondersteund in de dataresidencyomgeving.
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `reasoning_effort` (enum, optional, nullable) — Redeneerinspanning van het model. Alleen beschikbaar voor sommige modellen.
  - Allowed values: `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`
- `thinking_budget` (integer, optional, nullable) — Maximumaantal tokens dat voor redeneren wordt gebruikt. Gebruik 0 om dit uit te schakelen als het model dit ondersteunt.
- `enable_reasoning_summary` (boolean, optional, nullable) — Schakel samenvattingen van de modelredenering in. Als deze optie is uitgeschakeld, vragen we de provider waar mogelijk niet om samenvattingen voor een snellere TTFB. Niet compatibel met ZRM.
- `temperature` (double, optional, nullable) — De temperatuur voor de LLM. Standaard is dit 0. Stel in op null om de parameter volledig uit het LLM-request weg te laten (handig voor aangepaste LLM's die het temperatuurveld afwijzen).
- `max_tokens` (integer, optional, nullable) — Als de waarde groter is dan 0, het maximale aantal tokens dat het LLM kan voorspellen
- `tool_ids` (list of string, optional, nullable) — Een lijst met ID's van tools die door de agent worden gebruikt
- `tool_ids_strict` (boolean, optional, nullable) — Alleen van toepassing als overschrijving voor een gesprek en toegestaan wanneer tool_ids mag worden overschreven. Wanneer true is, bevat de overschreven tool_ids de volledige lijst met tools die in het gesprek zijn toegestaan, inclusief tools op workflownodes. Genegeerd wanneer ingesteld op de agent.
- `built_in_tools` (BuiltInToolsWorkflowOverride-Output, optional, nullable) — Ingebouwde systeemtools die de agent kan gebruiken
- `enable_parallel_tool_calls` (boolean, optional, nullable) — Schakel parallel tool calling in. Wanneer dit is ingeschakeld, kan de agent meerdere tools parallel uitvoeren binnen één beurt. Niet door alle modellen ondersteund.
- `mcp_server_ids` (list of string, optional, nullable) — Een lijst met MCP-server-id's die door de agent moeten worden gebruikt
- `native_mcp_server_ids` (list of string, optional, nullable) — Een lijst met Native MCP-server-id's die door de agent moeten worden gebruikt
- `knowledge_base` (list of KnowledgeBaseLocator, optional, nullable) — Een lijst met kennisbanken die door de agent moeten worden gebruikt
- `custom_llm` (CustomLLM, optional, nullable) — Definitie voor een aangepaste LLM als het LLM-veld is ingesteld op 'CUSTOM_LLM'
- `ignore_default_personality` (boolean, optional, nullable) — Of de standaard persoonlijkheidsregels uit de systeemprompt moeten worden verwijderd
- `rag` (RagConfigWorkflowOverride-Output, optional, nullable) — Configuratie voor RAG
- `timezone` (string, optional, nullable) — Tijdzone voor het weergeven van de huidige tijd in de systeemprompt. Indien ingesteld, wordt de huidige tijd met deze tijdzone opgenomen in de systeemprompt. Moet een geldige tijdzonenaam zijn (bijvoorbeeld 'America/New_York', 'Europe/London', 'UTC'). Aanbevolen voor nauwkeurige tijdsbewuste reacties; zonder deze instelling heeft de agent geen kennis van de huidige datum/tijd, tenzij je die via dynamische variabelen of tools opgeeft. Dit kan leiden tot onjuiste of gehallucineerde tijdsverwijzingen.
- `backup_llm_config` (PromptAgentApiModelWorkflowOverrideOutputBackupLlmConfig, optional, nullable) — Configuratie voor cascade van back-up-LLM's. Kan worden uitgeschakeld, systeemstandaarden gebruiken of een aangepaste volgorde opgeven.
- `cascade_timeout_seconds` (double, optional, nullable) — Tijd in seconden voordat wordt overgeschakeld naar de back-up-LLM. Moet tussen 2 en 15 seconden liggen.
- `tools` (list of PromptAgentApiModelWorkflowOverrideOutputToolsItems, optional, nullable) — Een lijst met tools die de agent tijdens het gesprek kan gebruiken; gebruik in plaats daarvan tool_ids

### WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue

De constante waarde die je wilt gebruiken

### LlmLiteralJsonSchemaPropertyType

### ASRConversationalConfigOverride

- `keywords` (list of string, optional, nullable) — Trefwoorden waarvoor de voorspellingskans moet worden verhoogd

### TurnConfigOverride

- `soft_timeout_config` (SoftTimeoutConfigOverride, optional, nullable) — Configuratie voor soft-time-outfunctionaliteit. Geeft direct feedback tijdens langere LLM-responses.

### TTSConversationalConfigOverride

- `model_id` (enum, optional, nullable, default: eleven_v4_turbo) — Het model dat voor TTS moet worden gebruikt
  - Allowed values: `eleven_turbo_v2`, `eleven_turbo_v2_5`, `eleven_flash_v2`, `eleven_flash_v2_5`, `eleven_multilingual_v2`, `eleven_v3_conversational`, `eleven_v4`, `eleven_v4_turbo`
- `voice_id` (string, optional, nullable) — De stem-ID die voor TTS moet worden gebruikt
- `supported_voices` (list of SupportedVoice, optional, nullable) — Aanvullende ondersteunde stemmen voor de agent
- `stability` (double, optional, nullable) — De stabiliteit van gegenereerde spraak
- `speed` (double, optional, nullable) — De snelheid van gegenereerde spraak
- `similarity_boost` (double, optional, nullable) — De similariteitsboost voor gegenereerde spraak
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional, nullable) — De locators voor het uitspraakwoordenboek

### ConversationConfigOverride

- `text_only` (boolean, optional, nullable) — Als dit is ingeschakeld, wordt audio niet verwerkt en wordt alleen tekst gebruikt. Gebruik dit om audiokosten te vermijden.
- `max_duration_seconds` (integer, optional, nullable) — De maximale duur van een conversatie in seconden

### AgentConfigOverride-Output

- `first_message` (string, optional, nullable) — Als dit niet leeg is, het eerste bericht dat de agent uitspreekt. Als het leeg is, wacht de agent tot de gebruiker het gesprek start.
- `language` (string, optional, nullable) — Taal van de agent - gebruikt voor ASR en TTS
- `max_conversation_duration_message` (string, optional, nullable) — Als dit niet leeg is, het bericht dat de agent verstuurt wanneer de maximale gespreksduur is bereikt.
- `prompt` (PromptAgentAPIModelOverride-Output, optional, nullable) — De prompt voor de agent

### BuiltInToolsWorkflowOverride-Output

- `transfer_to_agent` (SystemToolConfig, optional, nullable) — De tool voor doorverbinden met een agent
- `end_call` (SystemToolConfig, optional, nullable) — De tool voor het beëindigen van het gesprek
- `language_detection` (SystemToolConfig, optional, nullable) — De taalherkenningstool
- `transfer_to_number` (SystemToolConfig, optional, nullable) — De tool voor doorverbinden met een nummer
- `skip_turn` (SystemToolConfig, optional, nullable) — De tool om een beurt over te slaan
- `play_keypad_touch_tone` (SystemToolConfig, optional, nullable) — De play DTMF-tool
- `voicemail_detection` (SystemToolConfig, optional, nullable) — De tool voor voicemaildetectie

### CustomLLM

- `url` (string, required) — De URL van het endpoint dat compatibel is met Chat Completions
- `model_id` (string, optional, nullable) — De model-ID die moet worden gebruikt als de URL meerdere modellen aanbiedt
- `api_key` (CustomLlmApiKey, optional, nullable) — De API-sleutel voor authenticatie. Ofwel een verwijzing naar een workspacegeheim \{'secret\_id': '...'} of een verwijzing naar een omgevingsvariabele \{'env\_var\_label': '...'}.
- `auth_connection` (CustomLlmAuthConnection, optional, nullable) — Optionele workspace-authverbinding voor authenticatie. Alleen authverbindingen die een Authorization Bearer-token produceren, worden ondersteund; Basic-auth, mTLS, aangepaste headers en authverbindingen met een URL-secret worden niet ondersteund.
- `request_headers` (map from string to CustomLlmRequestHeaders, optional) — Headers die in de aanvraag moeten worden opgenomen
- `api_version` (string, optional, nullable) — De API-versie die je voor de request wilt gebruiken
- `api_type` (enum, optional, default: chat_completions) — Het te gebruiken API-type (chat_completions, responses of websocket)
  - Allowed values: `chat_completions`, `responses`, `websocket`

### RagConfigWorkflowOverride-Output

- `enabled` (boolean, optional, nullable)
- `embedding_model` (enum, optional, nullable, default: e5_mistral_7b_instruct)
  - Allowed values: `e5_mistral_7b_instruct`, `multilingual_e5_large_instruct`
- `max_vector_distance` (double, optional, nullable) — Maximale vectorafstand van opgehaalde chunks.
- `max_documents_length` (integer, optional, nullable) — Maximale totale lengte van documentchunks die uit RAG worden opgehaald.
- `max_retrieved_rag_chunks_count` (integer, optional, nullable) — Maximumaantal RAG-documentchunks dat aanvankelijk uit de vectorstore moet worden opgehaald. Deze worden vervolgens verder gefilterd op vectorafstand en totale lengte.
- `num_candidates` (integer, optional, nullable) — Aantal kandidaten dat wordt geëvalueerd bij ANN-vectorzoeken. Een hoger aantal betekent betere resultaten, maar ook hogere latentie. De minimaal aanbevolen waarde is 100. Als dit is uitgeschakeld, wordt de standaardwaarde gebruikt.
- `query_rewrite_prompt_override` (string, optional, nullable) — Aangepaste prompt om gebruikersquery's te herschrijven vóór RAG-ophaling. De conversatiegeschiedenis wordt automatisch aan het einde toegevoegd. Als dit niet is ingesteld, wordt de standaardprompt gebruikt.
- `knowledge_base_tool_info` (KnowledgeBaseToolInfo, optional, nullable) — Wanneer ingesteld, gebruikt de agent de tool knowledge_base in plaats van de verouderde tool knowledge_base_rag. None betekent dat de agent niet is aangemeld.

### PromptAgentApiModelWorkflowOverrideOutputBackupLlmConfig

Configuratie voor cascade van back-up-LLM's. Kan worden uitgeschakeld, systeemstandaarden gebruiken of een aangepaste volgorde opgeven.

### PromptAgentApiModelWorkflowOverrideOutputToolsItems

Het type tool

- `type`: `api_integration_webhook` (ApiIntegrationWebhookToolConfig)
  - `api_integration_connection_id` (string, required)
  - `api_integration_id` (string, required)
  - `api_schema_overrides` (ApiIntegrationWebhookOverrides, required, nullable) — Gebruikersoverschrijvingen die boven op de basis-api_schema worden toegepast
  - `assignments` (list of DynamicVariableAssignment, required) — Configuratie voor het extraheren van waarden uit toolresponses en deze toewijzen aan dynamische variabelen
  - `description` (string, required) — Beschrijving van wanneer de tool moet worden gebruikt en wat deze doet.
  - `dynamic_variables` (DynamicVariablesConfig, required) — Configuratie voor dynamische variabelen
  - `execution_mode` (enum, required, default: immediate) — Bepaalt wanneer en hoe de tool wordt uitgevoerd: 'immediate' voert de tool direct uit wanneer de LLM hierom vraagt, 'post_tool_speech' wacht tot de agent is uitgesproken voordat de tool wordt uitgevoerd en 'async' voert de tool op de achtergrond uit zonder te blokkeren - het beste voor langlopende bewerkingen.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `interruption_mode` (enum, required, default: allow) — Bepaalt of de gebruiker de agent tijdens deze toolaanroep kan onderbreken. 'allow' (standaard) staat de gebruiker toe om op elk moment te onderbreken, 'disable_during_tool' onderdrukt onderbrekingen alleen terwijl de tool actief is en 'disable_during_tool_and_turn' onderdrukt onderbrekingen terwijl de tool actief is en tijdens de daaropvolgende reactie van de agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `name` (string, required)
  - `pre_tool_speech` (enum, required, default: auto) — Bepaalt of de agent spreekt voordat deze tool wordt aangeroepen. 'auto' (standaard) beslist op basis van recente toollatency, 'force' laat de agent altijd spreken en 'off' schakelt dit volledig uit, ongeacht de latency.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, required, default: 20) — De maximale wachttijd in seconden tot de toolcall is voltooid. Moet tussen 5 en 300 seconden liggen (inclusief).
  - `tool_call_sound` (enum, required, nullable) — Vooraf gedefinieerd type tool-callgeluid dat tijdens het uitvoeren van een tool wordt afgespeeld. Als dit niet is opgegeven, wordt er geen tool-callgeluid afgespeeld.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, required, default: auto) — Bepaalt wanneer het geluid voor de toolaanroep moet worden afgespeeld. 'auto' speelt alleen af als er spraak vóór de tool is, 'always' speelt af bij elke toolaanroep.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, required, default: auto) — Bepaalt hoe toolfouten worden verwerkt voordat ze met de agent worden gedeeld. 'auto' bepaalt de afhandeling op basis van het tooltype (samengevat voor native integraties, verbergen voor andere), 'summarized' stuurt een door een LLM gegenereerde samenvatting, 'passthrough' stuurt de onbewerkte fout en 'hide' deelt de fout niet met de agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `tool_version` (string, required, default: 1.0.0) — De versie van de API-integratietool
  - `disable_interruptions` (boolean, required, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `interruption_mode`. Als dit true is, kan de gebruiker de agent niet onderbreken terwijl deze tool wordt uitgevoerd.
  - `force_pre_tool_speech` (boolean, required, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `pre_tool_speech`. Als dit waar is, spreekt de agent vóór de toolaanroep.
- `type`: `client` (ClientToolConfig)
  - `description` (string, required) — Beschrijving van wanneer de tool moet worden gebruikt en wat deze doet.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuratie voor het extraheren van waarden uit toolresponses en deze toewijzen aan dynamische variabelen
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuratie voor dynamische variabelen
  - `execution_mode` (enum, optional, default: immediate) — Bepaalt wanneer en hoe de tool wordt uitgevoerd: 'immediate' voert de tool direct uit wanneer de LLM hierom vraagt, 'post_tool_speech' wacht tot de agent is uitgesproken voordat de tool wordt uitgevoerd en 'async' voert de tool op de achtergrond uit zonder te blokkeren - het beste voor langlopende bewerkingen.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `expects_response` (boolean, optional, default: false) — Als true, moet het aanroepen van deze tool het gesprek blokkeren totdat de client reageert met een reactie die aan het LLM wordt doorgegeven. Als false, zetten we het gesprek voort zonder op een reactie van de client te wachten. Dit is nuttig om content aan een gebruiker te tonen zonder het gesprek te blokkeren.
  - `interruption_mode` (enum, optional, default: allow) — Bepaalt of de gebruiker de agent tijdens deze toolaanroep kan onderbreken. 'allow' (standaard) staat de gebruiker toe om op elk moment te onderbreken, 'disable_during_tool' onderdrukt onderbrekingen alleen terwijl de tool actief is en 'disable_during_tool_and_turn' onderdrukt onderbrekingen terwijl de tool actief is en tijdens de daaropvolgende reactie van de agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `parameters` (ObjectJsonSchemaProperty-Output, optional, nullable) — Schema voor alle parameters die aan de client moeten worden doorgegeven
  - `pre_tool_speech` (enum, optional, default: auto) — Bepaalt of de agent spreekt voordat deze tool wordt aangeroepen. 'auto' (standaard) beslist op basis van recente toollatency, 'force' laat de agent altijd spreken en 'off' schakelt dit volledig uit, ongeacht de latency.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — De maximale wachttijd in seconden tot de toolcall is voltooid. Moet tussen 1 en 120 seconden liggen (inclusief), of -1 om onbeperkt op de reactie van de client te wachten (vereist expects_response).
  - `tool_call_sound` (enum, optional, nullable) — Vooraf gedefinieerd type tool-callgeluid dat tijdens het uitvoeren van een tool wordt afgespeeld. Als dit niet is opgegeven, wordt er geen tool-callgeluid afgespeeld.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Bepaalt wanneer het geluid voor de toolaanroep moet worden afgespeeld. 'auto' speelt alleen af als er spraak vóór de tool is, 'always' speelt af bij elke toolaanroep.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Bepaalt hoe toolfouten worden verwerkt voordat ze met de agent worden gedeeld. 'auto' bepaalt de afhandeling op basis van het tooltype (samengevat voor native integraties, verbergen voor andere), 'summarized' stuurt een door een LLM gegenereerde samenvatting, 'passthrough' stuurt de onbewerkte fout en 'hide' deelt de fout niet met de agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `interruption_mode`. Als dit true is, kan de gebruiker de agent niet onderbreken terwijl deze tool wordt uitgevoerd.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `pre_tool_speech`. Als dit waar is, spreekt de agent vóór de toolaanroep.
- `type`: `mcp` (mcp)
- `type`: `smb` (smb)
- `type`: `system` (SystemToolConfig)
  - `name` (string, required)
  - `params` (ToolResponseModelToolConfigDiscriminatorMappingSystemParams, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuratie voor het extraheren van waarden uit toolresponses en deze toewijzen aan dynamische variabelen
  - `description` (string, optional, default: ) — Beschrijving van wanneer de tool moet worden gebruikt en wat deze doet. Laat leeg om de standaardbeschrijving te gebruiken, die is geoptimaliseerd voor het specifieke tooltype.
  - `interruption_mode` (enum, optional, default: allow) — Bepaalt of de gebruiker de agent tijdens deze toolaanroep kan onderbreken. 'allow' (standaard) staat de gebruiker toe om op elk moment te onderbreken, 'disable_during_tool' onderdrukt onderbrekingen alleen terwijl de tool actief is en 'disable_during_tool_and_turn' onderdrukt onderbrekingen terwijl de tool actief is en tijdens de daaropvolgende reactie van de agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Bepaalt of de agent spreekt voordat deze tool wordt aangeroepen. 'auto' (standaard) beslist op basis van recente toollatency, 'force' laat de agent altijd spreken en 'off' schakelt dit volledig uit, ongeacht de latency.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — De maximale wachttijd in seconden tot de toolcall is voltooid.
  - `tool_call_sound` (enum, optional, nullable) — Vooraf gedefinieerd type tool-callgeluid dat tijdens het uitvoeren van een tool wordt afgespeeld. Als dit niet is opgegeven, wordt er geen tool-callgeluid afgespeeld.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Bepaalt wanneer het geluid voor de toolaanroep moet worden afgespeeld. 'auto' speelt alleen af als er spraak vóór de tool is, 'always' speelt af bij elke toolaanroep.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Bepaalt hoe toolfouten worden verwerkt voordat ze met de agent worden gedeeld. 'auto' bepaalt de afhandeling op basis van het tooltype (samengevat voor native integraties, verbergen voor andere), 'summarized' stuurt een door een LLM gegenereerde samenvatting, 'passthrough' stuurt de onbewerkte fout en 'hide' deelt de fout niet met de agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `interruption_mode`. Als dit true is, kan de gebruiker de agent niet onderbreken terwijl deze tool wordt uitgevoerd.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `pre_tool_speech`. Als dit waar is, spreekt de agent vóór de toolaanroep.
- `type`: `webhook` (WebhookToolConfig)
  - `api_schema` (WebhookToolApiSchemaConfig-Output, required) — Het schema voor de uitgaande webhook, inclusief parameters en URL-specificatie
  - `description` (string, required) — Beschrijving van wanneer de tool moet worden gebruikt en wat deze doet.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuratie voor het extraheren van waarden uit toolresponses en deze toewijzen aan dynamische variabelen
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuratie voor dynamische variabelen
  - `execution_mode` (enum, optional, default: immediate) — Bepaalt wanneer en hoe de tool wordt uitgevoerd: 'immediate' voert de tool direct uit wanneer de LLM hierom vraagt, 'post_tool_speech' wacht tot de agent is uitgesproken voordat de tool wordt uitgevoerd en 'async' voert de tool op de achtergrond uit zonder te blokkeren - het beste voor langlopende bewerkingen.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `follow_redirects` (boolean, optional, default: false) — Of een redirect vanaf het endpoint moet worden gevolgd en de uiteindelijke response moet worden teruggestuurd. Er wordt één redirect gevolgd, als een GET zonder de requestbody; niets dat voor deze tool is geconfigureerd (headers, authenticatie, clientcertificaat) wordt naar het redirectdoel gestuurd. Zowel het endpoint als het redirectdoel moet HTTPS gebruiken. Niet ondersteund voor API-integratietools.
  - `follow_redirects_allowed_domains` (list of string, optional) — Domeinen waarnaar een redirect kan verwijzen, bijvoorbeeld 'test.example.com'. Vereist bij het volgen van redirects; een doel buiten de lijst wordt geweigerd.
  - `interruption_mode` (enum, optional, default: allow) — Bepaalt of de gebruiker de agent tijdens deze toolaanroep kan onderbreken. 'allow' (standaard) staat de gebruiker toe om op elk moment te onderbreken, 'disable_during_tool' onderdrukt onderbrekingen alleen terwijl de tool actief is en 'disable_during_tool_and_turn' onderdrukt onderbrekingen terwijl de tool actief is en tijdens de daaropvolgende reactie van de agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Bepaalt of de agent spreekt voordat deze tool wordt aangeroepen. 'auto' (standaard) beslist op basis van recente toollatency, 'force' laat de agent altijd spreken en 'off' schakelt dit volledig uit, ongeacht de latency.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — De maximale wachttijd in seconden tot de toolcall is voltooid. Moet tussen 5 en 300 seconden liggen (inclusief).
  - `tool_call_sound` (enum, optional, nullable) — Vooraf gedefinieerd type tool-callgeluid dat tijdens het uitvoeren van een tool wordt afgespeeld. Als dit niet is opgegeven, wordt er geen tool-callgeluid afgespeeld.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Bepaalt wanneer het geluid voor de toolaanroep moet worden afgespeeld. 'auto' speelt alleen af als er spraak vóór de tool is, 'always' speelt af bij elke toolaanroep.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Bepaalt hoe toolfouten worden verwerkt voordat ze met de agent worden gedeeld. 'auto' bepaalt de afhandeling op basis van het tooltype (samengevat voor native integraties, verbergen voor andere), 'summarized' stuurt een door een LLM gegenereerde samenvatting, 'passthrough' stuurt de onbewerkte fout en 'hide' deelt de fout niet met de agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `interruption_mode`. Als dit true is, kan de gebruiker de agent niet onderbreken terwijl deze tool wordt uitgevoerd.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `pre_tool_speech`. Als dit waar is, spreekt de agent vóór de toolaanroep.

### SoftTimeoutConfigOverride

- `message` (string, optional, nullable) — Bericht dat wordt weergegeven wanneer de eerste zachte time-out wordt bereikt tijdens het wachten op een reactie van de LLM. Ondersteunt dynamische variabelen (bijv. \{\{system\_\_time}}, \{\{custom\_variable}}).
- `additional_soft_timeout_messages` (list of string, optional, nullable) — Extra statische opvulberichten voor volgende soft time-outs in dezelfde LLM-generatie. De eerste time-out gebruikt `message`. Als er minder berichten zijn geconfigureerd dan `max_soft_timeouts_per_generation`, wordt het laatst geconfigureerde bericht herhaald; anders wordt een ingebouwd opvulbericht gebruikt.

### PromptAgentAPIModelOverride-Output

- `prompt` (string, optional, nullable) — De prompt voor de agent
- `llm` (enum, optional, nullable) — De LLM die met de prompt en de chatgeschiedenis moet worden bevraagd. Bij gebruik van dataresidency moet de LLM worden ondersteund in de dataresidencyomgeving.
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `tool_ids` (list of string, optional, nullable) — Een lijst met ID's van tools die door de agent worden gebruikt
- `tool_ids_strict` (boolean, optional, nullable) — Alleen van toepassing als overschrijving voor een gesprek en toegestaan wanneer tool_ids mag worden overschreven. Wanneer true is, bevat de overschreven tool_ids de volledige lijst met tools die in het gesprek zijn toegestaan, inclusief tools op workflownodes. Genegeerd wanneer ingesteld op de agent.
- `native_mcp_server_ids` (list of string, optional, nullable) — Een lijst met Native MCP-server-id's die door de agent moeten worden gebruikt
- `knowledge_base` (list of KnowledgeBaseLocator, optional, nullable) — Een lijst met kennisbanken die door de agent moeten worden gebruikt

### SystemToolConfig

Een systeemtool is een tool die wordt gebruikt om een systeemmethode op de server aan te roepen

- `name` (string, required)
- `params` (ToolResponseModelToolConfigDiscriminatorMappingSystemParams, required)
- `description` (string, optional, default: ) — Beschrijving van wanneer de tool moet worden gebruikt en wat deze doet. Laat leeg om de standaardbeschrijving te gebruiken, die is geoptimaliseerd voor het specifieke tooltype.
- `response_timeout_secs` (integer, optional, default: 20) — De maximale wachttijd in seconden tot de toolcall is voltooid.
- `interruption_mode` (enum, optional, default: allow) — Bepaalt of de gebruiker de agent tijdens deze toolaanroep kan onderbreken. 'allow' (standaard) staat de gebruiker toe om op elk moment te onderbreken, 'disable_during_tool' onderdrukt onderbrekingen alleen terwijl de tool actief is en 'disable_during_tool_and_turn' onderdrukt onderbrekingen terwijl de tool actief is en tijdens de daaropvolgende reactie van de agent.
  - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
- `pre_tool_speech` (enum, optional, default: auto) — Bepaalt of de agent spreekt voordat deze tool wordt aangeroepen. 'auto' (standaard) beslist op basis van recente toollatency, 'force' laat de agent altijd spreken en 'off' schakelt dit volledig uit, ongeacht de latency.
  - Allowed values: `auto`, `force`, `off`
- `assignments` (list of DynamicVariableAssignment, optional) — Configuratie voor het extraheren van waarden uit toolresponses en deze toewijzen aan dynamische variabelen
- `tool_call_sound` (enum, optional, nullable) — Vooraf gedefinieerd type tool-callgeluid dat tijdens het uitvoeren van een tool wordt afgespeeld. Als dit niet is opgegeven, wordt er geen tool-callgeluid afgespeeld.
  - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `tool_call_sound_behavior` (enum, optional, default: auto) — Bepaalt wanneer het geluid voor de toolaanroep moet worden afgespeeld. 'auto' speelt alleen af als er spraak vóór de tool is, 'always' speelt af bij elke toolaanroep.
  - Allowed values: `auto`, `always`
- `tool_error_handling_mode` (enum, optional, default: auto) — Bepaalt hoe toolfouten worden verwerkt voordat ze met de agent worden gedeeld. 'auto' bepaalt de afhandeling op basis van het tooltype (samengevat voor native integraties, verbergen voor andere), 'summarized' stuurt een door een LLM gegenereerde samenvatting, 'passthrough' stuurt de onbewerkte fout en 'hide' deelt de fout niet met de agent.
  - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
- `disable_interruptions` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `interruption_mode`. Als dit true is, kan de gebruiker de agent niet onderbreken terwijl deze tool wordt uitgevoerd.
- `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `pre_tool_speech`. Als dit waar is, spreekt de agent vóór de toolaanroep.

### CustomLlmApiKey

De API-sleutel voor authenticatie. Ofwel een verwijzing naar een workspacegeheim \{'secret\_id': '...'} of een verwijzing naar een omgevingsvariabele \{'env\_var\_label': '...'}.

### CustomLlmAuthConnection

Optionele workspace-authverbinding voor authenticatie. Alleen authverbindingen die een Authorization Bearer-token produceren, worden ondersteund; Basic-auth, mTLS, aangepaste headers en authverbindingen met een URL-secret worden niet ondersteund.

### CustomLlmRequestHeaders

### KnowledgeBaseToolInfo

- `enabled_strategies` (list of enum, optional) — Zoekstrategieën die beschikbaar zijn voor het model. Mag niet leeg zijn.
  - Allowed values: `cat`, `keyword`, `semantic`, `ls`

### BackupLLMDefault

### BackupLLMDisabled

### BackupLLMOverride

- `order` (list of enum, required)
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`

### ApiIntegrationWebhookOverrides

- `schema_overrides` (map from string to ApiIntegrationWebhookOverridesSchemaOverrides, optional, nullable)
- `response_filter_mode` (enum, optional, nullable, default: all) — Bepaalt hoe toolresponses worden gefilterd voordat ze zichtbaar zijn voor de agent.
  - Allowed values: `all`, `allow`, `hide_all`
- `response_filters` (list of string, optional, nullable)
- `request_headers` (map from string to ApiIntegrationWebhookOverridesRequestHeaders, optional, nullable)

### DynamicVariableAssignment

Configuratie voor het extraheren van waarden uit toolresponses en deze toewijzen aan dynamische variabelen.

- `dynamic_variable` (string, required) — De naam van de dynamische variabele waaraan de geëxtraheerde waarde wordt toegewezen
- `value_path` (string, required) — Pad in puntnotatie om de waarde uit de bron te extraheren (bijvoorbeeld 'user.name' of 'data.0.id')
- `source` ("response", optional, default: response) — De bron waaruit de waarde wordt geëxtraheerd. Momenteel wordt alleen 'response' ondersteund.
- `sanitize` (boolean, optional, default: false) — Als true, wordt de waarde van deze toewijzing uit de toolreactie verwijderd voordat deze naar het LLM en het transcript wordt verzonden, maar wordt deze nog wel verwerkt voor variabeletoewijzing.
- `preserve_native_type` (boolean, optional, default: false) — Als true, worden niet-scalaire waarden (lijsten, objecten) uit de toolreactie opgeslagen in hun oorspronkelijke type, in plaats van als JSON-string. Schakel dit in om geëxtraheerde arrays rechtstreeks als dynamische lijstvariabelen te gebruiken.

### DynamicVariablesConfig

- `dynamic_variable_placeholders` (map from string to any, optional) — Een woordenboek met tijdelijke aanduidingen voor dynamische variabelen en hun waarden

### ObjectJsonSchemaProperty-Output

- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — Wanneer ingesteld, wordt de volledige parameter tijdens runtime ingevuld vanuit deze dynamische variabele. Kan niet samen worden gebruikt met description (door de LLM aangeleverde waarde), constant_value en is_omitted.
- `constant_value` (map from string to any, optional, nullable) — Wanneer ingesteld, gebruikt het volledige object deze constante JSON-waarde tijdens runtime. Kan niet samen worden gebruikt met description (door de LLM aangeleverd object), dynamic_variable en is_omitted.
- `is_omitted` (boolean, optional, default: false) — Als true is, wordt deze parameter volledig uit de request weggelaten. Alleen geldig voor optionele parameters. Kan niet samen worden gebruikt met description, dynamic_variable en constant_value.
- `type` ("object", optional, default: object)
- `required` (list of string, optional)
- `properties` (map from string to ObjectJsonSchemaPropertyOutput, optional)
- `required_constraints` (RequiredConstraints, optional, nullable) — Wrapper voor anyOf/allOf-compositiebeperkingen die gelden voor verplichte velden.

### ToolResponseModelToolConfigDiscriminatorMappingSystemParams

- `system_tool_type`: `end_call` (EndCallToolConfig)
- `system_tool_type`: `end_procedure` (EndProcedureToolConfig)
  - `procedures` (map from string to ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingEndProcedureProcedures, optional)
- `system_tool_type`: `knowledge_base` (KnowledgeBaseToolConfig)
  - `enabled_strategies` (list of enum, optional)
    - Allowed values: `cat`, `keyword`, `semantic`, `ls`
- `system_tool_type`: `knowledge_base_rag` (KnowledgeBaseRagToolConfig)
- `system_tool_type`: `language_detection` (LanguageDetectionToolConfig)
  - `only_at_conversation_start` (boolean, optional, default: false) — Als er in de eerste 2 gebruikersbeurten geen taalwissel plaatsvindt, mislukken latere pogingen en blijft het gesprek in de huidige taal. Als de taal tijdens die beurten wisselt, blijft later wisselen mogelijk. Schakel dit in om de kans op onjuiste taalwisselingen te verkleinen.
- `system_tool_type`: `play_keypad_touch_tone` (PlayDTMFToolConfig)
  - `suppress_turn_after_dtmf` (boolean, optional, default: false) — Als true, genereert de agent geen verdere spraak nadat DTMF-tonen zijn afgespeeld. Dit voorkomt dat de spraak van de agent IVR-systemen verstoort.
  - `use_out_of_band_dtmf` (boolean, optional, default: true) — Verstuur DTMF-tonen als out-of-band RTP-events (RFC 4733) in plaats van als in-band audio. Alleen effectief voor nummers die via een SIP trunk zijn geïmporteerd.
- `system_tool_type`: `skip_turn` (SkipTurnToolConfig)
  - `wait_timeout_secs` (double, optional, default: -1) — Seconden om na skip_turn te wachten voordat de agent een contextuele check-in genereert. De timer "Gesprek beëindigen na stilte" wordt tijdens het wachten gepauzeerd. -1 schakelt het wachten uit: na skip_turn blijft de agent stil totdat de beller spreekt, terwijl die timer blijft lopen. Alleen van toepassing op spraakgesprekken.
- `system_tool_type`: `start_procedure` (StartProcedureToolConfig)
  - `procedures` (map from string to ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingStartProcedureProcedures, optional)
- `system_tool_type`: `transfer_to_agent` (TransferToAgentToolConfig)
  - `transfers` (list of AgentTransfer-Output, required)
- `system_tool_type`: `transfer_to_number` (TransferToNumberToolConfig)
  - `transfers` (list of PhoneNumberTransfer, required)
  - `enable_client_message` (boolean, optional, default: true) — Of er een bericht voor de klant moet worden afgespeeld terwijl die op overdracht wacht. Standaard is dit true voor achterwaartse compatibiliteit.
- `system_tool_type`: `voicemail_detection` (VoicemailDetectionToolConfig)
  - `voicemail_message` (string, optional, nullable) — Optioneel bericht om achter te laten op de voicemail wanneer deze wordt gedetecteerd. Als dit niet wordt opgegeven, wordt het gesprek onmiddellijk beëindigd wanneer voicemail wordt gedetecteerd. Ondersteunt dynamische variabelen (bijv. \{\{system\_\_time}}, \{\{system\_\_call\_duration\_secs}}, \{\{custom\_variable}}).

### WebhookToolApiSchemaConfig-Output

- `url` (string, required) — De URL waarnaar de webhook wordt verzonden. Kan path parameters bevatten, bijvoorbeeld [https://example.com/agents/\{agent\_id}](https://example.com/agents/\{agent_id})
- `request_headers` (map from string to WebhookToolApiSchemaConfigOutputRequestHeaders, optional) — Headers die in de aanvraag moeten worden opgenomen
- `method` (enum, optional, default: GET) — De HTTP-methode die voor de webhook moet worden gebruikt
  - Allowed values: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`
- `path_params_schema` (map from string to LiteralJsonSchemaProperty, optional) — Schema voor eventuele padparameters. De sleutels moeten overeenkomen met de placeholders in de URL.
- `query_params_schema` (QueryParamsJsonSchema-Output, optional, nullable) — Schema voor eventuele queryparameters. Deze worden als queryparameters aan het einde van de URL toegevoegd. Let op: eigenschappen in een queryparameter moeten allemaal letterlijke typen zijn
- `request_body_schema` (ObjectJsonSchemaProperty-Output, optional, nullable) — Schema voor eventuele bodyparameters. Wordt gebruikt voor POST/PATCH/PUT-requests. Het schema moet een object zijn dat als JSON-body wordt verzonden
- `response_body_schema` (ObjectJsonSchemaProperty-Output, optional, nullable) — Schema dat de verwachte structuur van de responsebody beschrijft. Alleen voor documentatie; niet beschikbaar voor de LLM.
- `response_filter` (ResponseFilter, optional, nullable) — Optioneel allowlistfilter dat op het antwoord wordt toegepast voordat de LLM het ziet, zodat grote antwoorden de context niet vervuilen. Standaard wordt het volledige antwoord gebruikt.
- `content_type` (enum, optional, default: application/json) — Contenttype voor de requestbody. Alleen van toepassing op POST/PUT/PATCH-requests.
  - Allowed values: `application/json`, `application/x-www-form-urlencoded`
- `auth_resolved_params` (list of string, optional) — URL-placeholders die worden opgelost vanuit de auth connection (bijvoorbeeld geheimen die via UrlSecretAuthConnection worden ingevoegd) in plaats van vanuit path_params_schema.
- `auth_connection` (WebhookToolApiSchemaConfigOutputAuthConnection, optional, nullable) — Optionele authverbinding voor authenticatie bij deze webhook

### ConvAISecretLocator

Gebruikt om naar een geheim uit de secret store van de agent te verwijzen.

- `secret_id` (string, required)

### ConvAIEnvVarLocator

Gebruikt om via een label naar een omgevingsvariabele te verwijzen.

- `env_var_label` (string, required)

### AuthConnectionLocator

Gebruikt om naar een auth connection uit de auth connection-store van de workspace te verwijzen.

- `auth_connection_id` (string, required)

### EnvironmentAuthConnectionLocator

Verwijst op label naar een omgevingsvariabele van het type 'auth_connection'. Tijdens runtime wordt deze omgezet naar de auth connection voor de huidige omgeving, met terugval op de standaardomgeving.

- `env_var_label` (string, required)

### ConvAIDynamicVariable

Gebruikt om naar een dynamische variabele te verwijzen.

- `variable_name` (string, required)

### ApiIntegrationWebhookOverridesSchemaOverrides

- `source`: `constant` (ConstantSchemaOverride)
  - `constant_value` (WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue, required, nullable) — De constante waarde die je wilt gebruiken
- `source`: `dynamic_variable` (DynamicVariableSchemaOverride)
  - `dynamic_variable` (string, required) — De naam van de te gebruiken dynamische variabele
- `source`: `llm` (LLMSchemaOverride)
  - `prompt` (string, optional, nullable) — Promptoverschrijving voor de LLM. Als deze niet is opgegeven, wordt de oorspronkelijke schemabeschrijving gebruikt.
- `source`: `omit` (OmitSchemaOverride)

### ApiIntegrationWebhookOverridesRequestHeaders

### ObjectJsonSchemaPropertyOutput

### RequiredConstraints

Wrapper voor anyOf/allOf-compositiebeperkingen die gelden voor verplichte velden.

- `any_of` (list of RequiredConstraint, optional)
- `all_of` (list of RequiredConstraint, optional)

### ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingEndProcedureProcedures

### ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingStartProcedureProcedures

### AgentTransfer-Output

- `condition` (string, required)
- `agent_id` (string, optional, nullable)
- `branch_id` (string, optional, nullable)
- `node_id` (string, optional, nullable)
- `delay_ms` (integer, optional, default: 0)
- `transfer_message` (string, optional, nullable)
- `enable_transferred_agent_first_message` (boolean, optional, default: false)
- `is_workflow_node_transfer` (boolean, optional, default: false)
- `preserve_client_tts_overrides` (boolean, optional, default: false) — Definieert of TTS-clientoverschrijvingen moeten worden overgedragen naar de doorverbonden agent.
- `preserve_voice_settings` (boolean, optional, default: false) — Definieert of de basisstem, het TTS-model en de steminstellingen moeten worden overgedragen naar de doorverbonden agent.

### PhoneNumberTransfer

- `transfer_destination` (PhoneNumberTransferTransferDestination, required)
- `condition` (string, required)
- `custom_sip_headers` (list of PhoneNumberTransferCustomSipHeadersItems, optional) — Aangepaste SIP-headers die moeten worden opgenomen bij het doorverbinden van het gesprek. Elke header kan een statische waarde of een verwijzing naar een dynamische variabele zijn.
- `transfer_type` (enum, optional, default: conference)
  - Allowed values: `blind`, `conference`, `sip_refer`
- `sip_refer_play_dialtone` (boolean, optional, default: true) — Wanneer True, wordt op het oorspronkelijke gesprekstraject een beltoon afgespeeld terwijl een SIP REFER-transfer wordt voltooid. De toon wordt via RTP doorgegeven aan de SIP-peer die de REFER uitvoert, dus schakel dit uit als het ontvangende systeem (bijvoorbeeld een SBC of contactcenter) deze niet mag horen. Wanneer dit is uitgeschakeld, hoort de beller stilte totdat de transfer is voltooid. Alleen voor SIP REFER-transfers.
- `uui` (UUITransferConfig, optional, nullable) — User-to-User Information (RFC 7433) om aan SIP REFER-transfers toe te voegen. Draagt oproepcontext, zoals CRM-identificatiecodes of de reden voor escalatie, over de transfergrens heen.
- `post_dial_digits` (PhoneNumberTransferPostDialDigits, optional, nullable) — DTMF-cijfers die moeten worden verzonden nadat de oproep is verbonden (bijvoorbeeld 'ww1234' voor een doorkiesnummer). Kan een statische waarde of een verwijzing naar een dynamische variabele zijn. Gebruik 'w' voor een pauze van 0,5 s. Alleen ondersteund voor Twilio-transfers.
- `phone_number` (string, optional, nullable, deprecated)

### WebhookToolApiSchemaConfigOutputRequestHeaders

### LiteralJsonSchemaProperty

Schema-eigenschap voor letterlijke JSON-typen. BELANGRIJK: slechts EEN van de volgende velden kan worden ingesteld: description (LLM levert waarde), dynamic_variable (waarde uit variabele), is_system_provided (systeem levert waarde), constant_value (vaste waarde) of is_omitted (parameter wordt weggelaten). Deze sluiten elkaar uit.

- `type` (LiteralJsonSchemaPropertyType, required)
- `description` (string, optional, default: ) — De beschrijving van de eigenschap. Wanneer deze is ingesteld, geeft de LLM de waarde op basis van deze beschrijving. Kan niet samen worden gebruikt met dynamic_variable, is_system_provided, constant_value en is_omitted.
- `enum` (list of string, optional, nullable) — List of allowed string values for string type parameters
- `is_system_provided` (boolean, optional, default: false) — Als true, wordt de waarde tijdens runtime door het systeem ingevuld. Wordt door API Integration Webhook-tools gebruikt voor templating. Kan niet tegelijk worden gebruikt met description, dynamic_variable, constant_value en is_omitted.
- `dynamic_variable` (string, optional, default: ) — De naam van de dynamische variabele die voor de waarde van deze eigenschap moet worden gebruikt. Kan niet worden gecombineerd met description, is_system_provided, constant_value en is_omitted.
- `allowed_values` (AllowedValues, optional, nullable) — Server-side afwijscontrole voor een door de LLM opgegeven waarde: de runtime wijst elke waarde buiten de toegestane set die dit object benoemt af, en de set wordt niet als enum aan de LLM getoond. Alleen ondersteund wanneer de waardebron `description` is; een combinatie met dynamic_variable, is_system_provided, constant_value of is_omitted wordt afgewezen.
- `constant_value` (LiteralJsonSchemaPropertyConstantValue, optional, nullable, default: ) — Een constante waarde voor deze eigenschap. Kan niet samen worden gebruikt met description, dynamic_variable, is_system_provided en is_omitted.
- `is_omitted` (boolean, optional, default: false) — Als true is, wordt deze parameter volledig uit de request weggelaten. Alleen geldig voor optionele parameters. Kan niet samen worden gebruikt met description, dynamic_variable, is_system_provided en constant_value.
- `allowed_values_dynamic_variable` (string, optional, default: , deprecated) — VEROUDERD: gebruik in plaats daarvan `allowed_values`. Wanneer ingesteld, levert de LLM de waarde, maar weigert de runtime elke waarde die niet voorkomt in de lijst van deze dynamische variabele (moet een JSON-array zijn zoals ["ws_alpha", "ws_beta"]). Gebruik dit om de LLM te laten kiezen uit een door de server geverifieerde set (bijv. de ID's waartoe de huidige gebruiker toegang heeft). Vereist description; kan niet samen met dynamic_variable, is_system_provided, constant_value en is_omitted worden gebruikt.

### QueryParamsJsonSchema-Output

- `properties` (map from string to LiteralJsonSchemaProperty, required)
- `required` (list of string, optional)

### ResponseFilter

Configuratie voor het filteren van toolresponses voordat ze zichtbaar zijn voor de agent.

- `mode` (enum, optional, default: all) — Bepaalt hoe toolresponses worden gefilterd. 'all' retourneert de volledige response, 'allow' retourneert alleen opgegeven paden en 'hide_all' verbergt de volledige response.
  - Allowed values: `all`, `allow`, `hide_all`
- `filters` (list of string, optional) — Paden in puntnotatie die moeten worden opgenomen wanneer de modus 'allow' is (bijvoorbeeld ['ticket.id', 'ticket.status']).
- `content_type` ("application/json", optional, default: application/json) — Contenttype voor het filteren van responses. Alleen responses van het type 'application/json' worden gefilterd.

### WebhookToolApiSchemaConfigOutputAuthConnection

Optionele authverbinding voor authenticatie bij deze webhook

### ArrayJsonSchemaProperty-Output

- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — Wanneer ingesteld, wordt de volledige parameter tijdens runtime ingevuld vanuit deze dynamische variabele. Kan niet samen worden gebruikt met description (door de LLM aangeleverde waarde), constant_value en is_omitted.
- `constant_value` (list of any, optional, nullable) — Wanneer ingesteld, gebruikt de volledige array deze constante waarde tijdens runtime. Kan niet samen worden gebruikt met description (door de LLM aangeleverde array), dynamic_variable en is_omitted.
- `is_omitted` (boolean, optional, default: false) — Als true is, wordt deze parameter volledig uit de request weggelaten. Alleen geldig voor optionele parameters. Kan niet samen worden gebruikt met description, dynamic_variable en constant_value.
- `type` ("array", optional, default: array)
- `items` (ArrayJsonSchemaPropertyOutputItems, optional, default: {"allowed_values_dynamic_variable":"","constant_value":"","description":"Array element","dynamic_variable":"","is_omitted":false,"is_system_provided":false,"type":"string"}) — Schema voor arrayelementen.

### RequiredConstraint

Een set velden die allemaal aanwezig moeten zijn om aan deze beperking te voldoen.

- `required` (list of string, required)

### ProcedureVersionRef

- `procedure_id` (string, required) — Procedure-ID
- `version_id` (string, required) — Versie-ID van de procedureversie.

### ProcedureDraftRef

- `procedure_id` (string, required) — Procedure-ID
- `version_id` (any, optional)

### PhoneNumberTransferTransferDestination

- `type`: `phone` (PhoneNumberTransferDestination)
  - `phone_number` (string, required)
- `type`: `phone_dynamic_variable` (PhoneNumberDynamicVariableTransferDestination)
  - `phone_number` (string, required)
- `type`: `sip_uri` (SIPUriTransferDestination)
  - `sip_uri` (string, required)
- `type`: `sip_uri_dynamic_variable` (SIPUriDynamicVariableTransferDestination)
  - `sip_uri` (string, required)

### PhoneNumberTransferCustomSipHeadersItems

- `type`: `dynamic` (CustomSIPHeaderWithDynamicVariable)
  - `key` (string, required) — De naam van de SIP-header (bijvoorbeeld 'X-Customer-ID')
  - `value` (string, required) — De naam van de dynamische variabele die moet worden opgelost
- `type`: `static` (CustomSIPHeader)
  - `key` (string, required) — De naam van de SIP-header (bijvoorbeeld 'X-Customer-ID')
  - `value` (string, required) — De headerwaarde

### PhoneNumberTransferPostDialDigits

DTMF-cijfers die moeten worden verzonden nadat de oproep is verbonden (bijvoorbeeld 'ww1234' voor een doorkiesnummer). Kan een statische waarde of een verwijzing naar een dynamische variabele zijn. Gebruik 'w' voor een pauze van 0,5 s. Alleen ondersteund voor Twilio-transfers.

- `type`: `dynamic` (PostDialDigitsDynamicVariable)
  - `value` (string, required) — De naam van de dynamische variabele die moet worden opgelost
- `type`: `static` (PostDialDigitsStatic)
  - `value` (string, required) — DTMF-cijfers die moeten worden verzonden nadat de oproep is verbonden (bijvoorbeeld 'ww1234' voor een doorkiesnummer)

### LiteralJsonSchemaPropertyType

### AllowedValues

- `dynamic_variable` (string, required) — Naam van een dynamische variabele die moet worden opgelost naar een JSON-array met toegestane waarden, bijv. ["ws_alpha", "ws_beta"]. Systeemvariabelen werken alleen als ze worden opgelost naar een lijst.

### LiteralJsonSchemaPropertyConstantValue

Een constante waarde voor deze eigenschap. Kan niet samen worden gebruikt met description, dynamic_variable, is_system_provided en is_omitted.

### ArrayJsonSchemaPropertyOutputItems

Schema voor arrayelementen.

## Examples

**Response**

```json
{
  "workflow": {
    "edges": [],
    "nodes": [],
    "prevent_subagent_loops": false
  }
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile"

response = requests.post(url)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile';
const options = {method: 'POST'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile"

	req, _ := http.NewRequest("POST", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```