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

# Äldre: Kompilera procedurer

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

Äldre funktion. Använd inte. När du sparar ett agentutkast (`POST /v1/convai/agents/{agent_id}/drafts`) och publicerar en agent (`PATCH /v1/convai/agents/{agent_id}`) kompileras strukturerade procedurer till workflow-noder och -kanter, det kompilerade workflowet sparas med utkastet eller versionen och valideringsfel returneras. Därför behövs inte längre ett separat kompileringsanrop. Den här slutpunkten är tills vidare tillgänglig så att befintliga anropare inte slutar fungera, som en torrkörning som kompilerar de aktuella procedurutkasten till ett workflow utan att spara något. Den kommer så småningom att fasas ut.

Reference: https://elevenlabs.io/docs/eleven-agents/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 att hämta procedurutkastet från
- `branch_id` (string, required) — Gren-ID att hämta procedurutkastet från

## Response

### 200

Lyckat svar

- `workflow` (AgentWorkflowResponseModel, required) — Genererat workflow från kompilering

## Errors

### 400 Procedures Compile Request Bad Request Error

Valideringen av den strukturerade proceduren misslyckades.

- `errors` (map from string to list of ProcedureValidationError, required) — Valideringsfel grupperade efter procedur-ID.

### 422 Procedures Compile Request Unprocessable Entity Error

Valideringsfel

- `detail` (list of ValidationError, optional)

## Types

### AgentWorkflowResponseModel

- `edges` (map from string to WorkflowEdgeModelOutput, required)
- `nodes` (map from string to AgentWorkflowResponseModelNodesValue, required)
- `prevent_subagent_loops` (boolean, required, default: false) — Om loopar ska förhindras i körningen av workflowet.

### ProcedureValidationError

- `path` (string, required) — JSON-sökväg till felet, t.ex. ”trigger”, ”steps[0].instruction”
- `message` (string, required) — Människoläsbart felmeddelande

### ValidationError

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

### WorkflowEdgeModelOutput

- `source` (string, required) — ID för källnoden.
- `target` (string, required) — ID för målnoden.
- `forward_condition` (WorkflowEdgeModelOutputForwardCondition, optional) — Villkor som måste uppfyllas för att kanten ska traverseras i framåtriktningen (källa till mål).
- `backward_condition` (WorkflowEdgeModelOutputBackwardCondition, optional) — Villkor som måste uppfyllas för att kanten ska traverseras i bakåtriktningen (mål till källa).

### AgentWorkflowResponseModelNodesValue

- `type`: `end`
  - `edge_order` (list of string, required) — ID:n för utgående kanter i den ordning de ska utvärderas.
  - `position` (PositionOutput, required) — Nodens position i workflowet.
- `type`: `override_agent`
  - `additional_knowledge_base` (list of KnowledgeBaseLocator, required) — Ytterligare kunskapsbasdokument som underagenten har åtkomst till. De används utöver huvudagentens dokument.
  - `additional_prompt` (string, required) — Specifikt mål för denna underagent. Det läggs till i systemprompten och kan användas för att ytterligare förfina agentens beteende i detta specifika sammanhang.
  - `additional_tool_ids` (list of string, required) — ID:n för ytterligare verktyg som underagenten har åtkomst till. Dessa används utöver huvudagentens verktyg.
  - `conversation_config` (ConversationalConfigApiModelWorkflowOverrideOutput, required) — Konfigurationsåsidosättningar som tillämpas medan underagenten genomför samtalet.
  - `edge_order` (list of string, required) — ID:n för utgående kanter i den ordning de ska utvärderas.
  - `entry_behavior` (enum, required, default: auto) — Anger om den här noden ska generera ett svar direkt när den aktiveras eller vänta på användarindata. När värdet är "auto" avgörs beteendet utifrån typen av föregående nod: "wait_for_user" efter noderna "say" och "start", och "generate_immediately" i övriga fall.
    - Allowed values: `generate_immediately`, `wait_for_user`, `auto`
  - `label` (string, required) — Människoläsbar etikett för noden som används i hela gränssnittet.
  - `position` (PositionOutput, required) — Nodens position i workflowet.
- `type`: `phone_number`
  - `custom_sip_headers` (list of WorkflowPhoneNumberNodeModelOutputCustomSipHeadersItem, required) — Anpassade SIP-headers att inkludera vid överföring av samtalet. Varje header kan vara antingen ett statiskt värde eller en referens till en dynamisk variabel.
  - `edge_order` (list of string, required) — ID:n för utgående kanter i den ordning de ska utvärderas.
  - `position` (PositionOutput, required) — Nodens position i workflowet.
  - `sip_refer_play_dialtone` (boolean, required, default: true) — När värdet är True spelas en ringsignal upp på det ursprungliga samtalsbenet medan en SIP REFER-överföring slutförs. Signalen överförs via RTP till SIP-motparten som utför REFER, så inaktivera detta om det mottagande systemet (t.ex. en SBC eller ett kontaktcenter) inte ska höra den. När funktionen är inaktiverad hör den som ringer tystnad tills överföringen slutförs. Gäller endast SIP REFER-överföringar.
  - `transfer_destination` (WorkflowPhoneNumberNodeModelOutputTransferDestination, required)
  - `transfer_type` (enum, required, default: conference)
    - Allowed values: `blind`, `conference`, `sip_refer`
  - `post_dial_digits` (WorkflowPhoneNumberNodeModelOutputPostDialDigits, optional) — DTMF-siffror att skicka när samtalet har anslutits (t.ex. 'ww1234' för anknytningsnummer). Kan vara antingen ett statiskt värde eller en dynamisk variabelreferens. Använd 'w' för en paus på 0,5 sekunder. Stöds endast för Twilio-överföringar.
  - `uui` (UuiTransferConfig, optional) — User-to-User Information (RFC 7433) som ska bifogas SIP REFER-överföringar. Överför samtalskontext, såsom CRM-identifierare eller eskaleringsorsak, över överföringsgränsen.
- `type`: `standalone_agent`
  - `delay_ms` (integer, required, default: 0) — Konstgjord fördröjning i millisekunder som tillämpas innan samtalet överförs.
  - `edge_order` (list of string, required) — ID:n för utgående kanter i den ordning de ska utvärderas.
  - `enable_transferred_agent_first_message` (boolean, required, default: false) — Om den överförda agenten ska kunna skicka sitt konfigurerade första meddelande efter överföringen.
  - `position` (PositionOutput, required) — Nodens position i workflowet.
  - `preserve_client_tts_overrides` (boolean, required, default: false) — Definierar om TTS-klientåsidosättningar ska överföras till den överförda agenten.
  - `preserve_voice_settings` (boolean, required, default: false) — Definierar om basrösten, TTS-modellen och röstinställningarna ska överföras till den överförda agenten.
  - `agent_id` (string, optional) — ID:t för agenten som konversationen ska överföras till. None innebär överföring inom den aktuella agenten.
  - `branch_id` (string, optional) — Valfritt gren-ID för målagenten. None följer målagentens trafikdistribution eller använder dess huvudgren när node_id är angivet.
  - `node_id` (string, optional) — Valfritt mål-nod-ID i destinationsagentens workflow. När det anges startar överföringen vid denna nod i stället för vid standardnoden för start.
  - `transfer_message` (string, optional) — Valfritt meddelande som skickas till användaren innan överföringen inleds.
- `type`: `start`
  - `edge_order` (list of string, required) — ID:n för utgående kanter i den ordning de ska utvärderas.
  - `position` (PositionOutput, required) — Nodens position i workflowet.
- `type`: `tool`
  - `edge_order` (list of string, required) — ID:n för utgående kanter i den ordning de ska utvärderas.
  - `position` (PositionOutput, required) — Nodens position i workflowet.
  - `tools` (list of WorkflowToolLocator, required) — Lista över verktyg som ska köras parallellt. Hela noden räknas som lyckad om alla verktyg körs utan fel.
- `type`: `say`
  - `additional_knowledge_base` (list of KnowledgeBaseLocator, required) — Kunskapsbasdokument som är tillgängliga för LLM medan den här noden genererar sitt meddelande, utöver agentens dokument.
  - `additional_prompt` (string, required) — Accepteras för konsekvens med underagentnoder men används inte. Beskriv meddelandet i `message.prompt`, eller ersätt systemprompten med `conversation_config.agent.prompt.prompt`.
  - `additional_tool_ids` (list of string, required) — Accepteras för konsekvens med underagentnoder men används inte. En say-nod kan inte anropa verktyg.
  - `conversation_config` (ConversationalConfigApiModelWorkflowOverrideOutput, required) — Konfigurationsåsidosättningar som tillämpas medan den här noden talar, till exempel rösten eller, för promptmeddelanden, LLM:en och systemprompten.
  - `edge_order` (list of string, required) — ID:n för utgående kanter i den ordning de ska utvärderas.
  - `label` (string, required) — Människoläsbar etikett för noden som används i hela gränssnittet.
  - `message` (WorkflowSayNodeModelOutputMessage, required) — Meddelande som sägs av denna nod. Använd `literal` för exakt text eller `prompt` för att låta LLM:en generera meddelandet från en beskrivning.
  - `position` (PositionOutput, required) — Nodens position i workflowet.
  - `wait_for_speech_completion` (boolean, required, default: false) — När värdet är true går workflowet vidare till nästa nod först efter att meddelandet har sagts klart.
  - `wait_for_user_response` (boolean, required, default: false) — När värdet är true säger noden sitt meddelande och väntar sedan på att användaren ska svara innan utgående kanter utvärderas, så att kanterna kan förgrenas utifrån svaret. Om användaren förblir tyst fortsätter workflowet efter timeouten för turen.
- `type`: `update_state`
  - `edge_order` (list of string, required) — ID:n för utgående kanter i den ordning de ska utvärderas.
  - `label` (string, required) — Människoläsbar etikett för noden som används i hela gränssnittet.
  - `position` (PositionOutput, required) — Nodens position i workflowet.
  - `updates` (list of WorkflowStateUpdateOutput, required) — Tillståndsuppdateringar som tillämpas när workflowet når denna nod. En nod accepterar högst 50 uppdateringar.

### ValidationErrorLocItem

### WorkflowEdgeModelOutputForwardCondition

- `type`: `expression`
  - `expression` (AstNodeOutput, required) — Uttryck att utvärdera.
  - `label` (string, optional) — Valfri lättläst etikett för villkoret som används i hela användargränssnittet.
- `type`: `llm`
  - `condition` (string, required) — Villkor att utvärdera
  - `label` (string, optional) — Valfri lättläst etikett för villkoret som används i hela användargränssnittet.
- `type`: `result`
  - `successful` (boolean, required) — Om alla verktyg i den tidigare körda verktygsnoden kördes utan problem.
  - `label` (string, optional) — Valfri lättläst etikett för villkoret som används i hela användargränssnittet.
- `type`: `unconditional`
  - `label` (string, optional) — Valfri lättläst etikett för villkoret som används i hela användargränssnittet.

### WorkflowEdgeModelOutputBackwardCondition

- `type`: `expression`
  - `expression` (AstNodeOutput, required) — Uttryck att utvärdera.
  - `label` (string, optional) — Valfri lättläst etikett för villkoret som används i hela användargränssnittet.
- `type`: `llm`
  - `condition` (string, required) — Villkor att utvärdera
  - `label` (string, optional) — Valfri lättläst etikett för villkoret som används i hela användargränssnittet.
- `type`: `result`
  - `successful` (boolean, required) — Om alla verktyg i den tidigare körda verktygsnoden kördes utan problem.
  - `label` (string, optional) — Valfri lättläst etikett för villkoret som används i hela användargränssnittet.
- `type`: `unconditional`
  - `label` (string, optional) — Valfri lättläst etikett för villkoret som används i hela användargränssnittet.

### PositionOutput

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

### KnowledgeBaseLocator

- `type` (enum, required) — Typen av kunskapsbas
  - Allowed values: `file`, `url`, `text`, `folder`
- `name` (string, required) — Namnet på kunskapsbasen
- `id` (string, required) — ID:t för kunskapsbasen
- `usage_mode` (enum, optional, default: auto) — Användningsläget för kunskapsbasen
  - Allowed values: `prompt`, `auto`

### ConversationalConfigApiModelWorkflowOverrideOutput

- `asr` (AsrConversationalConfigWorkflowOverride, optional) — Konfiguration för konversationsbaserad transkribering
- `turn` (TurnConfigWorkflowOverride, optional) — Konfiguration för turdetektering
- `tts` (TtsConversationalConfigWorkflowOverrideOutput, optional) — Konfiguration för konversationsbaserad Text to Speech
- `conversation` (ConversationConfigWorkflowOverrideOutput, optional) — Konfiguration för samtalshändelser
- `language_presets` (map from string to LanguagePresetOutput, optional) — Språkförinställningar för samtal
- `vad` (VadConfigWorkflowOverride, optional) — Konfiguration för röstaktivitetsdetektering
- `agent` (AgentConfigApiModelWorkflowOverrideOutput, optional) — Agentspecifik konfiguration

### WorkflowPhoneNumberNodeModelOutputCustomSipHeadersItem

- `type`: `dynamic`
  - `key` (string, required) — SIP-headerns namn (t.ex. 'X-Customer-ID')
  - `value` (string, required) — Namnet på den dynamiska variabel som ska lösas
- `type`: `static`
  - `key` (string, required) — SIP-headerns namn (t.ex. 'X-Customer-ID')
  - `value` (string, required) — Header-värdet

### WorkflowPhoneNumberNodeModelOutputTransferDestination

- `type`: `phone`
  - `phone_number` (string, required)
- `type`: `phone_dynamic_variable`
  - `phone_number` (string, required)
- `type`: `sip_uri`
  - `sip_uri` (string, required)
- `type`: `sip_uri_dynamic_variable`
  - `sip_uri` (string, required)

### WorkflowPhoneNumberNodeModelOutputPostDialDigits

- `type`: `dynamic`
  - `value` (string, required) — Namnet på den dynamiska variabel som ska lösas
- `type`: `static`
  - `value` (string, required) — DTMF-siffror att skicka när samtalet har anslutits (t.ex. 'ww1234' för anknytningsnummer)

### UuiTransferConfig

User-to-User Information-kuvert för SIP REFER-överföringar (RFC 7433). Utgående payloads är hex-kodade (den enda kodning som RFC 7433 definierar). Protokolldiskriminatoraxeln gör att format per plattform (Talkdesk, Genesys, ...) kan uttryckas genom konfiguration i stället för spridda överföringsflaggor. Ytterligare axlar (ASCII-kodning, rubriknamn, syftes-/innehållsparametrar) kan läggas till här utan att ändra överföringsmodellen.

- `data` (string, required) — UUI-payload som ska skickas vid SIP REFER-överföringar. Stöder infogade dynamiska variabler och hex-kodas vid överföringen.
- `protocol_discriminator` (string, optional) — Valfri protokolldiskriminator på en oktett (två hexadecimala siffror, t.ex. '00'). Krävs av plattformar som Genesys Cloud, som annars tar bort den första oktetten i nyttolasten. Lämna oangiven för plattformar som Talkdesk som förväntar sig en ren hexadecimal nyttolast.
- `protocol_discriminator_mode` (enum, optional, default: prefix) — Hur protocol\_discriminator ska bifogas. 'prefix' lägger till oktetten före hex-nyttolasten (User-to-User=XX\<hex>;encoding=hex). 'pd\_parameter' skickar den som en separat parameter (User-to-User=\<hex>;pd=XX;encoding=hex). Ignoreras när protocol\_discriminator inte har angetts.
  - Allowed values: `prefix`, `pd_parameter`

### WorkflowToolLocator

- `tool_id` (string, required)
- `schema_overrides` (map from string to WorkflowToolLocatorSchemaOverridesValue, optional) — Parameteråsidosättningar per nod som tillämpas utöver verktygets egen konfiguration. Nycklar är punktseparerade parametersökvägar (webhook-verktyg har prefixen path_params./query_params./request_body. för nycklar). De har företräde framför alla åsidosättningar som redan har definierats i själva verktyget.

### WorkflowSayNodeModelOutputMessage

Meddelande som sägs av denna nod. Använd `literal` för exakt text eller `prompt` för att låta LLM:en generera meddelandet från en beskrivning.

- `type`: `literal`
  - `text` (string, required) — Exakt text som uttalas av agenten. Stöder platshållare för dynamiska variabler: `{{variable_name}}`.
  - `text_translations` (map from string to TranslatedString, required) — Översättningar av `text`, indexerade efter språkkod. När samtalsspråket har en post uttalas dess värde i stället för `text`.
- `type`: `prompt`
  - `prompt` (string, required) — Beskrivning av meddelandet som LLM ska generera. Det läggs till i agentens systemprompt medan den här noden är aktiv.

### WorkflowStateUpdateOutput

- `type` ("dynamic_variable", required)
- `variable_name` (string, required) — Namn på den dynamiska variabel som ska tilldelas.
- `expression` (AstNodeOutput, required) — Uttryck vars resultat tilldelas variabeln. Det kan kombinera konstanter, andra dynamiska variabler, värden extraherade av LLM och operatorer.
- `required` (boolean, required, default: true) — När värdet är false kan LLM:et utelämna värdena som denna uppdatering bygger på. Uppdateringen hoppas då över och variabeln behåller sitt aktuella värde.

### AstNodeOutput

- `type`: `add_operator`
  - `left` (AstNodeOutput, required) — Vänster operand för den binära operatorn.
  - `right` (AstNodeOutput, required) — Högeroperand för den binära operatorn.
- `type`: `and_operator`
  - `children` (list of AstNodeOutput, required) — Underordnade noder för den logiska operatorn.
- `type`: `boolean_literal`
  - `value` (boolean, required) — Värdet för denna literal.
- `type`: `conditional_operator`
  - `condition` (AstNodeOutput, required) — Villkor som avgör vilket uttryck som ska väljas.
  - `falseExpression` (AstNodeOutput, required) — Uttryck som väljs om villkoret är false.
  - `trueExpression` (AstNodeOutput, required) — Uttryck som väljs om villkoret är true.
- `type`: `div_operator`
  - `left` (AstNodeOutput, required) — Vänster operand för den binära operatorn.
  - `right` (AstNodeOutput, required) — Högeroperand för den binära operatorn.
- `type`: `dynamic_variable`
  - `name` (string, required) — Namnet på den dynamiska variabeln.
- `type`: `eq_operator`
  - `left` (AstNodeOutput, required) — Vänster operand för den binära operatorn.
  - `right` (AstNodeOutput, required) — Högeroperand för den binära operatorn.
- `type`: `gt_operator`
  - `left` (AstNodeOutput, required) — Vänster operand för den binära operatorn.
  - `right` (AstNodeOutput, required) — Högeroperand för den binära operatorn.
- `type`: `gte_operator`
  - `left` (AstNodeOutput, required) — Vänster operand för den binära operatorn.
  - `right` (AstNodeOutput, required) — Högeroperand för den binära operatorn.
- `type`: `llm`
  - `value_schema` (LlmLiteralJsonSchemaProperty, required) — JSON-schema som beskriver värdet som LLM ska extrahera.
  - `prompt` (string, required, deprecated) — Prompten som ska utvärderas till ett booleskt värde. Föråldrad. Använd ett booleskt schema i stället.
- `type`: `lt_operator`
  - `left` (AstNodeOutput, required) — Vänster operand för den binära operatorn.
  - `right` (AstNodeOutput, required) — Högeroperand för den binära operatorn.
- `type`: `lte_operator`
  - `left` (AstNodeOutput, required) — Vänster operand för den binära operatorn.
  - `right` (AstNodeOutput, required) — Högeroperand för den binära operatorn.
- `type`: `mul_operator`
  - `left` (AstNodeOutput, required) — Vänster operand för den binära operatorn.
  - `right` (AstNodeOutput, required) — Högeroperand för den binära operatorn.
- `type`: `neq_operator`
  - `left` (AstNodeOutput, required) — Vänster operand för den binära operatorn.
  - `right` (AstNodeOutput, required) — Högeroperand för den binära operatorn.
- `type`: `null_literal`
- `type`: `number_literal`
  - `value` (AstNumberNodeOutputValue, required) — Värdet för denna literal.
- `type`: `or_operator`
  - `children` (list of AstNodeOutput, required) — Underordnade noder för den logiska operatorn.
- `type`: `string_literal`
  - `value` (string, required) — Värdet för denna literal.
- `type`: `sub_operator`
  - `left` (AstNodeOutput, required) — Vänster operand för den binära operatorn.
  - `right` (AstNodeOutput, required) — Högeroperand för den binära operatorn.

### AsrConversationalConfigWorkflowOverride

- `quality` ("high", optional) — Transkriberingens kvalitet
- `provider` (enum, optional, default: scribe_realtime) — Leverantören av transkriberingstjänsten
  - Allowed values: `elevenlabs`, `scribe_realtime`, `scribe_v2_turbo`
- `user_input_audio_format` (enum, optional, default: pcm_16000) — Formatet på ljudet som ska transkriberas
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `keywords` (list of string, optional) — Nyckelord att öka förutsägelsesannolikheten för

### TurnConfigWorkflowOverride

- `turn_timeout` (double, optional) — Maximal väntetid på användarens svar innan användaren kontaktas igen
- `initial_wait_time` (double, optional) — Hur länge agenten väntar på att användaren ska starta samtalet om det första meddelandet är tomt. Om det inte anges används det vanliga turn_timeout.
- `silence_end_call_timeout` (double, optional) — Maximal tid sedan användaren senast talade innan samtalet avslutas
- `turn_eagerness` (enum, optional, default: normal) — Styr hur snabbt agenten svarar. Low = mindre ivrig (väntar längre), Standard = standardnivå, High = mer ivrig (svarar snabbare)
  - Allowed values: `patient`, `normal`, `eager`
- `spelling_patience` (enum, optional, default: auto) — Styr om agenten ska vara mer tålmodig när användaren bokstaverar siffror och namngivna entiteter. Auto = modellbaserat, Off = vänta aldrig extra
  - Allowed values: `auto`, `off`
- `speculative_turn` (boolean, optional) — När funktionen är aktiverad börjar den generera LLM-svar under tystnad innan full säkerhet om turskiftet har uppnåtts, vilket minskar den upplevda fördröjningen. Kan öka LLM-kostnaderna.
- `retranscribe_on_turn_timeout` (boolean, optional) — När funktionen är aktiverad försöker den transkribera ackumulerat ljud på nytt vid turens tidsgräns om VAD inte upptäcker något tal. Inaktiverar rabatterad debitering för tystnad medan den är aktiverad för den aktiva agenten eller arbetsflödesnoden.
- `turn_model` (enum, optional, default: turn_v3) — Version av turdetekteringsmodellen som ska användas.
  - Allowed values: `turn_v2`, `turn_v3`
- `interruption_ignore_terms` (list of string, optional) — Lista över termer som inte ska utlösa ett avbrott när användaren säger dem (t.ex. ”jag förstår”, ”uppfattat”). Använder exakt matchning utan hänsyn till versaler och gemener.
- `interruption_ignore_term_languages` (list of string, optional) — Språkkoder för vilka förinställda kategorier av ignoreringstermer har aktiverats. Sparas uttryckligen så att visningen inte härleds från överlappande termer.
- `merge_with_default_ignore_terms` (boolean, optional) — När funktionen är aktiverad används de utvalda standardtermerna för interruption_ignore_term_languages utöver interruption_ignore_terms.
- `transcribe_on_disabled_interruptions` (boolean, optional) — När avbrott är inaktiverade ska det användaren säger ändå transkriberas så att det kan följa med till nästa tur. När funktionen är avstängd ignoreras användartal under en tur som inte kan avbrytas och utlöser ingen tur.
- `soft_timeout_config` (SoftTimeoutConfigWorkflowOverride, optional) — Konfiguration för mjuk timeout. Ger omedelbar återkoppling under längre LLM-svar.

### TtsConversationalConfigWorkflowOverrideOutput

- `model_id` (enum, optional, default: eleven_v4_turbo) — Modellen som ska användas för TTS
  - 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) — Röst-ID:t som ska användas för TTS
- `supported_voices` (list of SupportedVoice, optional) — Ytterligare röster som stöds för agenten
- `expressive_mode` (boolean, optional) — När funktionen är aktiverad tillämpas prompten för uttrycksfulla ljudtaggar. Inaktiveras automatiskt för modeller som inte är v3.
- `suggested_audio_tags` (list of SuggestedAudioTag, optional) — Föreslagna ljudtaggar för mer uttrycksfullt tal (för modellerna eleven_v3 och eleven_v3_conversational). Agenten kan fortfarande använda andra taggar som inte listas här.
- `agent_output_audio_format` (enum, optional, default: pcm_16000) — Ljudformatet som ska användas för TTS
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `optimize_streaming_latency` (integer, optional) — Föråldrat: det här fältet har ingen effekt och ignoreras.
- `stability` (double, optional) — Stabiliteten hos genererat tal
- `speed` (double, optional) — Hastigheten på genererat tal
- `similarity_boost` (double, optional) — Likhetsförstärkningen för genererat tal
- `text_normalisation_type` (enum, optional, default: system_prompt) — Metod för att omvandla siffror till ord innan text omvandlas till tal. Om värdet är SYSTEM_PROMPT uppdateras systemprompten med normaliseringsinstruktioner. Om värdet är ELEVENLABS normaliseras texten efter generering, vilket ger något högre latens.
  - Allowed values: `system_prompt`, `elevenlabs`
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — Uttalsordbokens lokaliserare
- `enable_phoneme_tags` (boolean, optional) — Välj att aktivera hantering av SSML-fonemtaggar för V3-modeller. När den är aktiverad tolkas fonemtaggar, både infogade och från uttalslexikon, till infogad IPA innan de skickas till modellen.
- `audio_effects` (EffectsSpecOutput, optional) — Valfri specifikation för TTS-effekter: filterförinställning, avstånd (närhets-EQ) och miljö (konvolutionsreverb).

### ConversationConfigWorkflowOverrideOutput

- `text_only` (boolean, optional) — Om den är aktiverad bearbetas inte ljudet och endast text används. Använd detta för att undvika ljudprissättning.
- `max_duration_seconds` (integer, optional) — En konversations maximala längd i sekunder
- `client_events` (list of enum, optional) — Händelserna som skickas till klienten
  - 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) — Konfiguration för filinmatning (bild-/PDF-uppladdningar) under samtal.
- `monitoring_enabled` (boolean, optional) — Aktivera övervakning av samtal i realtid via WebSocket
- `monitoring_events` (list of enum, optional) — Händelserna som skickas till övervakningsanslutningar.
  - 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) — Konfigurera insamling av DTMF-inmatning (knappsats) under telefonsamtal
- `background_sound` (BackgroundSoundConfigWorkflowOverride, optional) — Konfiguration för bakgrundsljud under samtal.
- `source_attribution` (boolean, optional) — När funktionen är aktiverad och innehåll i kunskapsbasen finns instrueras LLM:et att rapportera vilka källor det använde.

### LanguagePresetOutput

- `overrides` (ConversationConfigClientOverrideOutput, required) — Åsidosättningarna för språkförinställningen
- `first_message_translation` (LanguagePresetTranslation, optional) — Översättningen av det första meddelandet
- `soft_timeout_translation` (LanguagePresetTranslation, optional) — Översättningen av meddelandet om mjuk timeout

### VadConfigWorkflowOverride

### AgentConfigApiModelWorkflowOverrideOutput

- `first_message` (string, optional) — Om det inte är tomt är detta det första meddelandet agenten säger. Om det är tomt väntar agenten på att användaren ska inleda samtalet.
- `language` (string, optional) — Agentens språk – används för ASR och TTS
- `hinglish_mode` (boolean, optional) — När funktionen är aktiverad och språket är hindi svarar agenten på hinglish
- `dynamic_variables` (DynamicVariablesConfigWorkflowOverride, optional) — Konfiguration för dynamiska variabler
- `disable_first_message_interruptions` (boolean, optional) — Om värdet är true kan användaren inte avbryta agenten medan det första meddelandet levereras.
- `max_conversation_duration_message` (string, optional) — Om det inte är tomt är detta meddelandet agenten skickar när den maximala samtalslängden har uppnåtts.
- `text_behavior_overrides` (map from string to BehaviorOverride, optional) — Åsidosättningar av svarsbeteende per kanal för textkonversationer. Kanalens inbyggda standardvärden används när inget har angetts.
- `prompt` (PromptAgentApiModelWorkflowOverrideOutput, optional) — Prompten för agenten

### WorkflowToolLocatorSchemaOverridesValue

- `source`: `constant`
  - `constant_value` (ConstantSchemaOverrideConstantValue, optional) — Det konstanta värde som ska användas
- `source`: `dynamic_variable`
  - `dynamic_variable` (string, required) — Namnet på den dynamiska variabel som ska användas
- `source`: `llm`
  - `prompt` (string, optional) — Prompt-åsidosättning för LLM:en. Om den inte anges används den ursprungliga schemabeskrivningen.
- `source`: `omit`

### TranslatedString

- `value` (string, required)

### LlmLiteralJsonSchemaProperty

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

### AstNumberNodeOutputValue

Värdet för denna literal.

### SoftTimeoutConfigWorkflowOverride

- `timeout_seconds` (double, optional) — Tid i sekunder innan det fördefinierade meddelandet visas medan du väntar på LLM-svar. Ange -1 för att inaktivera.
- `message` (string, optional) — Meddelande att visa när den första mjuka tidsgränsen nås medan du väntar på ett LLM-svar. Stöder dynamiska variabler (till exempel \{\{system\_\_time}}, \{\{custom\_variable}}).
- `additional_soft_timeout_messages` (list of string, optional) — Ytterligare statiska utfyllnadsmeddelanden för efterföljande mjuka tidsgränser i samma LLM-generering. Den första tidsgränsen använder `message`. Om färre meddelanden är konfigurerade än `max_soft_timeouts_per_generation` upprepas det senast konfigurerade meddelandet. Annars används en inbyggd utfyllnadstext.
- `use_llm_generated_message` (boolean, optional) — Om den är aktiverad genereras meddelandet om mjuk timeout dynamiskt i stället för att använda det statiska meddelandet.
- `randomize_fillers` (boolean, optional) — Om den är aktiverad blandas ordningen på statiska meddelanden om mjuk timeout en gång i början av varje tur. Gäller endast när use_llm_generated_message är false.
- `max_soft_timeouts_per_generation` (integer, optional) — Maximalt antal utfyllnadsmeddelanden medan du väntar på ett enskilt LLM-svar. Skickas var timeout_seconds tills LLM:en strömmar innehåll eller denna gräns nås.
- `llm_generated_message_prompt_override` (string, optional) — Anpassad prompt för att generera utfyllnadsmeddelandet vid mjuk timeout när use\_llm\_generated\_message är aktiverat. Det senaste konversationssammanhanget skickas som ett separat användarmeddelande. Om den inte anges används standardprompten. Stöder dynamiska variabler (t.ex. \{\{system\_\_time}}, \{\{custom\_variable}}).
- `disable_until_first_user_message` (boolean, optional) — När värdet är true undertrycks utfyllnader vid mjuk timeout tills konversationen har minst ett riktigt användarmeddelande. Förhindrar utfyllnader under agentens inledande tur (t.ex. workflow generate-immediately-/verktygsanrop innan användaren talar).

### SupportedVoice

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

### SuggestedAudioTag

- `tag` (string, required) — Ljudtagg att använda (för bästa prestanda, 1–2 ord, t.ex. ”happy”, ”excited”)
- `description` (string, optional) — Valfri beskrivning av när denna tagg ska användas

### PydanticPronunciationDictionaryVersionLocator

En pekare så att andra dokument kan referera till ett specifikt lexikon och dess version. Det här är en pydantic-version av PronunciationDictionaryVersionLocatorDBModel. Krävs för kompatibilitet med övriga datamodeller för agenter.

- `pronunciation_dictionary_id` (string, required) — ID:t för uttalsordlistan
- `version_id` (string, optional) — ID:t för versionen av uttalsordlistan

### EffectsSpecOutput

Filtrera förinställning, avstånd (närhets-EQ) och miljö (konvolutionsreverb).

- `distance` (double, required, default: 0)
- `send_level` (double, required, default: 1)
- `filter_preset_id` (string, optional)
- `environment_id` (string, optional)
- `background_noise_id` (string, optional)
- `seed` (integer, optional)

### FileInputConfigWorkflowOverride

- `enabled` (boolean, optional) — När funktionen är aktiverad kan användare bifoga bilder eller PDF:er i chatten när LLM:et stöder multimodal indata.
- `max_files_in_memory` (integer, optional) — Antal senast använda filer som behålls i minnet under en konversation. Äldre filer sammanfattas och deras byte frigörs.
- `max_files_per_conversation` (integer, optional) — Totalt antal filer som en användare kan ladda upp i ett samtal. Uppladdningar debiteras per fil. Använd -1 för ingen gräns eller ett värde >= max_files_in_memory.

### DtmfInputConfig

Konfiguration för insamling av DTMF-inmatning (knappsats) under telefonsamtal.

- `dtmf_input_timeout` (double, optional, default: 2) — Timeout i sekunder för att vänta på ytterligare DTMF-siffror
- `hash_terminator` (boolean, optional, default: true) — Om värdet är true slutförs DTMF-inmatningen omedelbart när du trycker på #
- `redact_input` (boolean, optional, default: false) — Om värdet är true ersätts uppringarens DTMF-inmatningar (knappsats) med en maskeringsmarkör i transkriptionen, samtalsloggen och analysen. Siffror som agenten upprepar eller skickar till ett verktyg påverkas inte.

### BackgroundSoundConfigWorkflowOverride

- `source_type` ("preset", optional) — Typen av bakgrundsljudkälla.
- `source_id` (enum, optional) — Identifierare för ljudkällan.
  - Allowed values: `office2`, `office1`, `restaurant`, `city`, `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `volume` (double, optional) — Volymnivå för bakgrundsljud (0.01 till 1.0).
- `crossfade_loop` (boolean, optional) — Använd en crossfade vid loopgränsen för att undvika hörbara knäppningar när ljudet loopas.

### ConversationConfigClientOverrideOutput

- `asr` (AsrConversationalConfigOverride, optional) — Konfiguration för konversationsbaserad transkribering
- `turn` (TurnConfigOverride, optional) — Konfiguration för turdetektering
- `tts` (TtsConversationalConfigOverride, optional) — Konfiguration för konversationsbaserad Text to Speech
- `conversation` (ConversationConfigOverride, optional) — Konfiguration för samtalshändelser
- `agent` (AgentConfigOverrideOutput, optional) — Agentspecifik konfiguration

### LanguagePresetTranslation

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

### DynamicVariablesConfigWorkflowOverride

- `dynamic_variable_placeholders` (map from string to any, optional) — En ordlista med platshållare för dynamiska variabler och deras värden

### BehaviorOverride

- `verbosity` (enum, optional) — Åsidosättning av detaljnivå. Underliggande standardvärde används när det inte är angivet.
  - Allowed values: `auto`, `concise`, `thorough`
- `output_format` (enum, optional) — Åsidosättning av utdataformat. Underliggande standardvärde används när den inte anges.
  - 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) — Åsidosättning av interaktionsbudget. Det underliggande standardvärdet gäller om inget värde har angetts.
  - Allowed values: `realtime`, `5_minutes`, `10_minutes`, `1_hour`

### PromptAgentApiModelWorkflowOverrideOutput

- `prompt` (string, optional) — Prompten för agenten
- `llm` (enum, optional) — Den LLM som ska frågas med prompten och chatthistoriken. Vid användning av dataresidens måste LLM:en stödjas i dataresidensmiljön.
  - 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`, `claude-sonnet-4-5`, `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-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) — Modellens resonemangsinsats. Endast tillgängligt för vissa modeller.
  - Allowed values: `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`
- `thinking_budget` (integer, optional) — Maximalt antal token som används för resonemang. Använd 0 för att stänga av funktionen om modellen stöder det.
- `enable_reasoning_summary` (boolean, optional) — Aktivera sammanfattningar av modellens resonemang. När funktionen är inaktiverad begär vi inte sammanfattningar från leverantören, om möjligt, för snabbare TTFB. Inte kompatibelt med ZRM.
- `temperature` (double, optional) — Temperaturen för LLM:en. Standardvärdet är 0. Ange null för att utelämna parametern helt från LLM-begäran, vilket är användbart för anpassade LLM:er som avvisar temperaturfältet.
- `max_tokens` (integer, optional) — Om värdet är större än 0: högsta antal token som LLM:en kan förutsäga
- `tool_ids` (list of string, optional) — En lista över ID:n för verktyg som används av agenten
- `built_in_tools` (BuiltInToolsWorkflowOverrideOutput, optional) — Inbyggda systemverktyg som agenten kan använda
- `enable_parallel_tool_calls` (boolean, optional) — Aktivera parallella verktygsanrop. När funktionen är aktiverad kan agenten köra flera verktyg parallellt under en och samma tur. Stöds inte av alla modeller.
- `mcp_server_ids` (list of string, optional) — En lista med MCP-server-ID:n som agenten ska använda
- `native_mcp_server_ids` (list of string, optional) — En lista med Native MCP-server-ID:n som agenten ska använda
- `knowledge_base` (list of KnowledgeBaseLocator, optional) — En lista med kunskapsbaser som agenten ska använda
- `custom_llm` (CustomLlm, optional) — Definition för en anpassad LLM om LLM-fältet är inställt på 'CUSTOM_LLM'
- `ignore_default_personality` (boolean, optional) — Om standardraderna för personlighet ska tas bort från systemprompten
- `rag` (RagConfigWorkflowOverrideOutput, optional) — Konfiguration för RAG
- `timezone` (string, optional) — Tidszon för att visa aktuell tid i systemprompten. Om den anges inkluderas aktuell tid i systemprompten med denna tidszon. Måste vara ett giltigt tidszonsnamn (t.ex. 'America/New_York', 'Europe/London', 'UTC'). Rekommenderas för korrekta tidsmedvetna svar. Utan detta känner agenten inte till aktuellt datum eller aktuell tid, om du inte anger det via dynamiska variabler eller verktyg, vilket kan leda till felaktiga eller hallucinerade tidsreferenser.
- `backup_llm_config` (PromptAgentApiModelWorkflowOverrideOutputBackupLlmConfig, optional) — Konfiguration för kaskadkoppling av reserv-LLM:er. Kan inaktiveras, använda systemets standardvärden eller ange en anpassad ordning.
- `cascade_timeout_seconds` (double, optional) — Tid i sekunder innan växling till reserv-LLM. Måste vara mellan 2 och 15 sekunder.
- `tools` (list of PromptAgentApiModelWorkflowOverrideOutputToolsItem, optional) — En lista med verktyg som agenten kan använda under samtalet. Använd tool_ids i stället

### ConstantSchemaOverrideConstantValue

Det konstanta värde som ska användas

### LlmLiteralJsonSchemaPropertyType

### AsrConversationalConfigOverride

- `keywords` (list of string, optional) — Nyckelord att öka förutsägelsesannolikheten för

### TurnConfigOverride

- `soft_timeout_config` (SoftTimeoutConfigOverride, optional) — Konfiguration för mjuk timeout. Ger omedelbar återkoppling under längre LLM-svar.

### TtsConversationalConfigOverride

- `model_id` (enum, optional, default: eleven_v4_turbo) — Modellen som ska användas för TTS
  - 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) — Röst-ID:t som ska användas för TTS
- `supported_voices` (list of SupportedVoice, optional) — Ytterligare röster som stöds för agenten
- `stability` (double, optional) — Stabiliteten hos genererat tal
- `speed` (double, optional) — Hastigheten på genererat tal
- `similarity_boost` (double, optional) — Likhetsförstärkningen för genererat tal
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — Uttalsordbokens lokaliserare

### ConversationConfigOverride

- `text_only` (boolean, optional) — Om den är aktiverad bearbetas inte ljudet och endast text används. Använd detta för att undvika ljudprissättning.
- `max_duration_seconds` (integer, optional) — En konversations maximala längd i sekunder

### AgentConfigOverrideOutput

- `first_message` (string, optional) — Om det inte är tomt är detta det första meddelandet agenten säger. Om det är tomt väntar agenten på att användaren ska inleda samtalet.
- `language` (string, optional) — Agentens språk – används för ASR och TTS
- `max_conversation_duration_message` (string, optional) — Om det inte är tomt är detta meddelandet agenten skickar när den maximala samtalslängden har uppnåtts.
- `prompt` (PromptAgentApiModelOverrideOutput, optional) — Prompten för agenten

### BuiltInToolsWorkflowOverrideOutput

- `transfer_to_agent` (SystemToolConfigOutput, optional) — Verktyget för överföring till agent
- `end_call` (SystemToolConfigOutput, optional) — Verktyget för att avsluta samtalet
- `language_detection` (SystemToolConfigOutput, optional) — Språkidentifieringsverktyget
- `transfer_to_number` (SystemToolConfigOutput, optional) — Verktyget för överföring till nummer
- `skip_turn` (SystemToolConfigOutput, optional) — Verktyget för att hoppa över tur
- `play_keypad_touch_tone` (SystemToolConfigOutput, optional) — Verktyget för att spela upp DTMF
- `voicemail_detection` (SystemToolConfigOutput, optional) — Verktyget för röstmeddelandeidentifiering

### CustomLlm

- `url` (string, required) — Webbadressen till den Chat Completions-kompatibla slutpunkten
- `model_id` (string, optional) — Modell-ID:t som ska användas om URL:en tillhandahåller flera modeller
- `api_key` (CustomLlmApiKey, optional) — API-nyckeln för autentisering. Antingen en referens till en hemlighet i arbetsytan \{'secret\_id': '...'} eller en referens till en miljövariabel \{'env\_var\_label': '...'}.
- `auth_connection` (CustomLlmAuthConnection, optional) — Valfri autentiseringsanslutning för arbetsytan. Endast autentiseringsanslutningar som genererar en Authorization Bearer-token stöds; Basic-autentisering, mTLS, anpassade huvuden och autentiseringsanslutningar med URL-hemlighet stöds inte.
- `request_headers` (map from string to CustomLlmRequestHeadersValue, optional) — Headers som ska inkluderas i begäran
- `api_version` (string, optional) — API-versionen som ska användas för begäran
- `api_type` (enum, optional, default: chat_completions) — API-typen som ska användas (chat_completions, responses eller websocket)
  - Allowed values: `chat_completions`, `responses`, `websocket`

### RagConfigWorkflowOverrideOutput

- `enabled` (boolean, optional)
- `embedding_model` (enum, optional, default: e5_mistral_7b_instruct)
  - Allowed values: `e5_mistral_7b_instruct`, `multilingual_e5_large_instruct`
- `max_vector_distance` (double, optional) — Maximalt vektoravstånd för hämtade delar.
- `max_documents_length` (integer, optional) — Maximal sammanlagd längd på dokumentdelar som hämtas från RAG.
- `max_retrieved_rag_chunks_count` (integer, optional) — Maximalt antal RAG-dokumentdelar att först hämta från vektorlagret. De filtreras sedan ytterligare efter vektoravstånd och total längd.
- `num_candidates` (integer, optional) — Antal kandidater som utvärderas i ANN-vektorsökningen. Ett högre antal ger bättre resultat, men högre latens. Lägsta rekommenderade värde är 100. Om det är inaktiverat används standardvärdet.
- `query_rewrite_prompt_override` (string, optional) — Anpassad prompt för att skriva om användarfrågor före RAG-hämtning. Konversationshistoriken läggs automatiskt till i slutet. Om den inte anges används standardprompten.
- `knowledge_base_tool_info` (KnowledgeBaseToolInfo, optional) — När detta är angivet använder agenten verktyget knowledge_base i stället för det äldre verktyget knowledge_base_rag. None innebär att agenten inte har aktiverats.

### PromptAgentApiModelWorkflowOverrideOutputBackupLlmConfig

Konfiguration för kaskadkoppling av reserv-LLM:er. Kan inaktiveras, använda systemets standardvärden eller ange en anpassad ordning.

### PromptAgentApiModelWorkflowOverrideOutputToolsItem

Verktygstypen

- `type`: `api_integration_webhook`
  - `api_integration_connection_id` (string, required)
  - `api_integration_id` (string, required)
  - `assignments` (list of DynamicVariableAssignment, required) — Konfiguration för att extrahera värden från verktygssvar och tilldela dem till dynamiska variabler
  - `description` (string, required) — Beskrivning av när verktyget ska användas och vad det gör.
  - `dynamic_variables` (DynamicVariablesConfig, required) — Konfiguration för dynamiska variabler
  - `execution_mode` (enum, required, default: immediate) — Avgör när och hur verktyget körs: 'immediate' kör verktyget direkt när LLM begär det, 'post_tool_speech' väntar tills agenten har talat färdigt innan det körs, och 'async' kör verktyget i bakgrunden utan att blockera – bäst för långvariga åtgärder.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `interruption_mode` (enum, required, default: allow) — Styr om användaren kan avbryta agenten kring det här verktygsanropet. 'allow' (standard) låter användaren avbryta när som helst, 'disable_during_tool' förhindrar avbrott endast medan verktyget körs och 'disable_during_tool_and_turn' förhindrar avbrott medan verktyget körs och under agentens efterföljande svar.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `name` (string, required)
  - `pre_tool_speech` (enum, required, default: auto) — Styr om agenten talar innan det här verktyget anropas. 'auto' (standard) avgör utifrån verktygets senaste latens, 'force' ber alltid agenten att tala och 'off' inaktiverar detta helt oavsett latens.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, required, default: 20) — Den längsta tiden i sekunder att vänta på att verktygsanropet ska slutföras. Måste vara mellan 5 och 300 sekunder, inklusive gränserna.
  - `tool_call_sound_behavior` (enum, required, default: auto) — Avgör när ljudet för verktygsanrop ska spelas upp. 'auto' spelas endast upp när tal kommer före verktyget, och 'always' spelas upp för varje verktygsanrop.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, required, default: auto) — Styr hur verktygsfel bearbetas innan de delas med agenten. 'auto' avgör hanteringen utifrån verktygstypen (sammanfattas för inbyggda integrationer, döljs för övriga), 'summarized' skickar en LLM-genererad sammanfattning, 'passthrough' skickar det råa felet och 'hide' delar inte felet med agenten.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `tool_version` (string, required, default: 1.0.0) — Versionen av API-integrationsverktyget
  - `disable_interruptions` (boolean, required, default: false, deprecated) — FÖRÅLDRAT: använd `interruption_mode` i stället. Om true kan användaren inte avbryta agenten medan det här verktyget körs.
  - `force_pre_tool_speech` (boolean, required, default: false, deprecated) — FÖRÅLDRAT: använd `pre_tool_speech` i stället. Om true talar agenten före verktygsanropet.
  - `api_schema_overrides` (ApiIntegrationWebhookOverrides, optional) — Användaråsidosättningar som tillämpas ovanpå det grundläggande api_schema
  - `tool_call_sound` (enum, optional) — Fördefinierad typ av verktygsanropsljud som spelas under verktygskörning. Om inget anges spelas inget verktygsanropsljud upp.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `type`: `client`
  - `description` (string, required) — Beskrivning av när verktyget ska användas och vad det gör.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration för att extrahera värden från verktygssvar och tilldela dem till dynamiska variabler
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Konfiguration för dynamiska variabler
  - `execution_mode` (enum, optional, default: immediate) — Avgör när och hur verktyget körs: 'immediate' kör verktyget direkt när LLM begär det, 'post_tool_speech' väntar tills agenten har talat färdigt innan det körs, och 'async' kör verktyget i bakgrunden utan att blockera – bäst för långvariga åtgärder.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `expects_response` (boolean, optional, default: false) — Om värdet är true ska anrop av detta verktyg blockera konversationen tills klienten svarar med ett svar som skickas till llm. Om värdet är false fortsätter vi konversationen utan att vänta på klientens svar. Detta är användbart för att visa innehåll för en användare utan att blockera konversationen.
  - `interruption_mode` (enum, optional, default: allow) — Styr om användaren kan avbryta agenten kring det här verktygsanropet. 'allow' (standard) låter användaren avbryta när som helst, 'disable_during_tool' förhindrar avbrott endast medan verktyget körs och 'disable_during_tool_and_turn' förhindrar avbrott medan verktyget körs och under agentens efterföljande svar.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `parameters` (ObjectJsonSchemaPropertyOutput, optional) — Schema för parametrar som ska skickas till klienten
  - `pre_tool_speech` (enum, optional, default: auto) — Styr om agenten talar innan det här verktyget anropas. 'auto' (standard) avgör utifrån verktygets senaste latens, 'force' ber alltid agenten att tala och 'off' inaktiverar detta helt oavsett latens.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Den längsta tiden i sekunder att vänta på att verktygsanropet ska slutföras. Måste vara mellan 1 och 120 sekunder, inklusive gränserna, eller -1 för att vänta på klientens svar utan tidsgräns (kräver expects_response).
  - `tool_call_sound` (enum, optional) — Fördefinierad typ av verktygsanropsljud som spelas under verktygskörning. Om inget anges spelas inget verktygsanropsljud upp.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Avgör när ljudet för verktygsanrop ska spelas upp. 'auto' spelas endast upp när tal kommer före verktyget, och 'always' spelas upp för varje verktygsanrop.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Styr hur verktygsfel bearbetas innan de delas med agenten. 'auto' avgör hanteringen utifrån verktygstypen (sammanfattas för inbyggda integrationer, döljs för övriga), 'summarized' skickar en LLM-genererad sammanfattning, 'passthrough' skickar det råa felet och 'hide' delar inte felet med agenten.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `interruption_mode` i stället. Om true kan användaren inte avbryta agenten medan det här verktyget körs.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `pre_tool_speech` i stället. Om true talar agenten före verktygsanropet.
- `type`: `mcp`
  - `value` (any, required)
- `type`: `smb`
  - `value` (any, required)
- `type`: `system`
  - `name` (string, required)
  - `params` (SystemToolConfigOutputParams, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration för att extrahera värden från verktygssvar och tilldela dem till dynamiska variabler
  - `description` (string, optional, default: ) — Beskrivning av när verktyget ska användas och vad det gör. Lämna tomt för att använda standardbeskrivningen som är optimerad för den specifika verktygstypen.
  - `interruption_mode` (enum, optional, default: allow) — Styr om användaren kan avbryta agenten kring det här verktygsanropet. 'allow' (standard) låter användaren avbryta när som helst, 'disable_during_tool' förhindrar avbrott endast medan verktyget körs och 'disable_during_tool_and_turn' förhindrar avbrott medan verktyget körs och under agentens efterföljande svar.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Styr om agenten talar innan det här verktyget anropas. 'auto' (standard) avgör utifrån verktygets senaste latens, 'force' ber alltid agenten att tala och 'off' inaktiverar detta helt oavsett latens.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Den längsta tiden i sekunder att vänta på att verktygsanropet ska slutföras.
  - `tool_call_sound` (enum, optional) — Fördefinierad typ av verktygsanropsljud som spelas under verktygskörning. Om inget anges spelas inget verktygsanropsljud upp.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Avgör när ljudet för verktygsanrop ska spelas upp. 'auto' spelas endast upp när tal kommer före verktyget, och 'always' spelas upp för varje verktygsanrop.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Styr hur verktygsfel bearbetas innan de delas med agenten. 'auto' avgör hanteringen utifrån verktygstypen (sammanfattas för inbyggda integrationer, döljs för övriga), 'summarized' skickar en LLM-genererad sammanfattning, 'passthrough' skickar det råa felet och 'hide' delar inte felet med agenten.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `interruption_mode` i stället. Om true kan användaren inte avbryta agenten medan det här verktyget körs.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `pre_tool_speech` i stället. Om true talar agenten före verktygsanropet.
- `type`: `webhook`
  - `api_schema` (WebhookToolApiSchemaConfigOutput, required) — Schemat för den utgående webhooken, inklusive parametrar och URL-specifikation
  - `description` (string, required) — Beskrivning av när verktyget ska användas och vad det gör.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration för att extrahera värden från verktygssvar och tilldela dem till dynamiska variabler
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Konfiguration för dynamiska variabler
  - `execution_mode` (enum, optional, default: immediate) — Avgör när och hur verktyget körs: 'immediate' kör verktyget direkt när LLM begär det, 'post_tool_speech' väntar tills agenten har talat färdigt innan det körs, och 'async' kör verktyget i bakgrunden utan att blockera – bäst för långvariga åtgärder.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `follow_redirects` (boolean, optional, default: false) — Om en omdirigering från slutpunkten ska följas och det slutliga svaret returneras. En omdirigering följs som en GET-begäran utan begärandetext. Inget som har konfigurerats för det här verktyget (headers, autentisering, klientcertifikat) skickas till omdirigeringens mål. Både slutpunkten och omdirigeringens mål måste använda HTTPS. Stöds inte för API-integreringsverktyg.
  - `follow_redirects_allowed_domains` (list of string, optional) — Domäner som en omdirigering kan peka på, t.ex. 'test.example.com'. Krävs när omdirigeringar följs, och ett mål utanför listan nekas.
  - `interruption_mode` (enum, optional, default: allow) — Styr om användaren kan avbryta agenten kring det här verktygsanropet. 'allow' (standard) låter användaren avbryta när som helst, 'disable_during_tool' förhindrar avbrott endast medan verktyget körs och 'disable_during_tool_and_turn' förhindrar avbrott medan verktyget körs och under agentens efterföljande svar.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Styr om agenten talar innan det här verktyget anropas. 'auto' (standard) avgör utifrån verktygets senaste latens, 'force' ber alltid agenten att tala och 'off' inaktiverar detta helt oavsett latens.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Den längsta tiden i sekunder att vänta på att verktygsanropet ska slutföras. Måste vara mellan 5 och 300 sekunder, inklusive gränserna.
  - `tool_call_sound` (enum, optional) — Fördefinierad typ av verktygsanropsljud som spelas under verktygskörning. Om inget anges spelas inget verktygsanropsljud upp.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Avgör när ljudet för verktygsanrop ska spelas upp. 'auto' spelas endast upp när tal kommer före verktyget, och 'always' spelas upp för varje verktygsanrop.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Styr hur verktygsfel bearbetas innan de delas med agenten. 'auto' avgör hanteringen utifrån verktygstypen (sammanfattas för inbyggda integrationer, döljs för övriga), 'summarized' skickar en LLM-genererad sammanfattning, 'passthrough' skickar det råa felet och 'hide' delar inte felet med agenten.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `interruption_mode` i stället. Om true kan användaren inte avbryta agenten medan det här verktyget körs.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `pre_tool_speech` i stället. Om true talar agenten före verktygsanropet.

### SoftTimeoutConfigOverride

- `message` (string, optional) — Meddelande att visa när den första mjuka tidsgränsen nås medan du väntar på ett LLM-svar. Stöder dynamiska variabler (till exempel \{\{system\_\_time}}, \{\{custom\_variable}}).
- `additional_soft_timeout_messages` (list of string, optional) — Ytterligare statiska utfyllnadsmeddelanden för efterföljande mjuka tidsgränser i samma LLM-generering. Den första tidsgränsen använder `message`. Om färre meddelanden är konfigurerade än `max_soft_timeouts_per_generation` upprepas det senast konfigurerade meddelandet. Annars används en inbyggd utfyllnadstext.

### PromptAgentApiModelOverrideOutput

- `prompt` (string, optional) — Prompten för agenten
- `llm` (enum, optional) — Den LLM som ska frågas med prompten och chatthistoriken. Vid användning av dataresidens måste LLM:en stödjas i dataresidensmiljön.
  - 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`, `claude-sonnet-4-5`, `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-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) — En lista över ID:n för verktyg som används av agenten
- `native_mcp_server_ids` (list of string, optional) — En lista med Native MCP-server-ID:n som agenten ska använda
- `knowledge_base` (list of KnowledgeBaseLocator, optional) — En lista med kunskapsbaser som agenten ska använda

### SystemToolConfigOutput

Ett systemverktyg är ett verktyg som används för att anropa en systemmetod på servern

- `name` (string, required)
- `params` (SystemToolConfigOutputParams, required)
- `type` ("system", optional) — Verktygstypen
- `description` (string, optional, default: ) — Beskrivning av när verktyget ska användas och vad det gör. Lämna tomt för att använda standardbeskrivningen som är optimerad för den specifika verktygstypen.
- `response_timeout_secs` (integer, optional, default: 20) — Den längsta tiden i sekunder att vänta på att verktygsanropet ska slutföras.
- `interruption_mode` (enum, optional, default: allow) — Styr om användaren kan avbryta agenten kring det här verktygsanropet. 'allow' (standard) låter användaren avbryta när som helst, 'disable_during_tool' förhindrar avbrott endast medan verktyget körs och 'disable_during_tool_and_turn' förhindrar avbrott medan verktyget körs och under agentens efterföljande svar.
  - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
- `pre_tool_speech` (enum, optional, default: auto) — Styr om agenten talar innan det här verktyget anropas. 'auto' (standard) avgör utifrån verktygets senaste latens, 'force' ber alltid agenten att tala och 'off' inaktiverar detta helt oavsett latens.
  - Allowed values: `auto`, `force`, `off`
- `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration för att extrahera värden från verktygssvar och tilldela dem till dynamiska variabler
- `tool_call_sound` (enum, optional) — Fördefinierad typ av verktygsanropsljud som spelas under verktygskörning. Om inget anges spelas inget verktygsanropsljud upp.
  - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `tool_call_sound_behavior` (enum, optional, default: auto) — Avgör när ljudet för verktygsanrop ska spelas upp. 'auto' spelas endast upp när tal kommer före verktyget, och 'always' spelas upp för varje verktygsanrop.
  - Allowed values: `auto`, `always`
- `tool_error_handling_mode` (enum, optional, default: auto) — Styr hur verktygsfel bearbetas innan de delas med agenten. 'auto' avgör hanteringen utifrån verktygstypen (sammanfattas för inbyggda integrationer, döljs för övriga), 'summarized' skickar en LLM-genererad sammanfattning, 'passthrough' skickar det råa felet och 'hide' delar inte felet med agenten.
  - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
- `disable_interruptions` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `interruption_mode` i stället. Om true kan användaren inte avbryta agenten medan det här verktyget körs.
- `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `pre_tool_speech` i stället. Om true talar agenten före verktygsanropet.

### CustomLlmApiKey

API-nyckeln för autentisering. Antingen en referens till en hemlighet i arbetsytan \{'secret\_id': '...'} eller en referens till en miljövariabel \{'env\_var\_label': '...'}.

### CustomLlmAuthConnection

Valfri autentiseringsanslutning för arbetsytan. Endast autentiseringsanslutningar som genererar en Authorization Bearer-token stöds; Basic-autentisering, mTLS, anpassade huvuden och autentiseringsanslutningar med URL-hemlighet stöds inte.

### CustomLlmRequestHeadersValue

### KnowledgeBaseToolInfo

- `enabled_strategies` (list of enum, optional) — Sökstrategier som exponeras för modellen. Får inte vara tomt.
  - Allowed values: `cat`, `keyword`, `semantic`, `ls`

### BackupLlmDefault

- `preference` ("default", optional)

### BackupLlmDisabled

- `preference` ("disabled", optional)

### 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`, `claude-sonnet-4-5`, `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-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`
- `preference` ("override", optional)

### DynamicVariableAssignment

Konfiguration för att extrahera värden från verktygssvar och tilldela dem till dynamiska variabler.

- `dynamic_variable` (string, required) — Namnet på den dynamiska variabel som det extraherade värdet ska tilldelas
- `value_path` (string, required) — Sökväg med punktnotation för att extrahera värdet från källan (t.ex. 'user.name' eller 'data.0.id')
- `source` ("response", optional) — Källan som värdet ska extraheras från. För närvarande stöds endast 'response'.
- `sanitize` (boolean, optional, default: false) — Om värdet är true tas värdet för denna tilldelning bort från verktygssvaret innan det skickas till LLM och transkriptionen, men behandlas fortfarande för variabeltilldelning.
- `preserve_native_type` (boolean, optional, default: false) — Om värdet är true lagras icke-skalära värden (listor, objekt) som extraherats från verktygssvaret i sin ursprungliga typ i stället för att konverteras till JSON-strängar. Aktivera detta för att använda extraherade arrayer direkt som dynamiska listvariabler.

### DynamicVariablesConfig

- `dynamic_variable_placeholders` (map from string to any, optional) — En ordlista med platshållare för dynamiska variabler och deras värden

### ApiIntegrationWebhookOverrides

- `schema_overrides` (map from string to ApiIntegrationWebhookOverridesSchemaOverridesValue, optional)
- `response_filter_mode` (enum, optional, default: all) — Styr hur verktygssvar filtreras innan de blir synliga för agenten.
  - Allowed values: `all`, `allow`, `hide_all`
- `response_filters` (list of string, optional)
- `request_headers` (map from string to ApiIntegrationWebhookOverridesRequestHeadersValue, optional)

### ObjectJsonSchemaPropertyOutput

- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — När detta är angivet fylls hela parametern i från denna dynamiska variabel vid körning. Kan inte användas tillsammans med description (värde som tillhandahålls av LLM), constant_value och is_omitted.
- `constant_value` (map from string to any, optional) — När detta är angivet använder hela objektet detta konstanta JSON-värde vid körning. Kan inte användas tillsammans med description (objekt som tillhandahålls av LLM), dynamic_variable och is_omitted.
- `is_omitted` (boolean, optional, default: false) — Om värdet är true utelämnas denna parameter helt från förfrågningen. Gäller endast valfria parametrar. Kan inte användas tillsammans med description, dynamic_variable och constant_value.
- `type` ("object", optional)
- `required` (list of string, optional)
- `properties` (map from string to ObjectJsonSchemaPropertyOutputPropertiesValue, optional)
- `required_constraints` (RequiredConstraints, optional) — Omslutning för sammansättningsbegränsningar med anyOf/allOf som är begränsade till obligatoriska fält.

### SystemToolConfigOutputParams

- `system_tool_type`: `end_call`
- `system_tool_type`: `end_procedure`
  - `procedures` (map from string to EndProcedureToolConfigProceduresValue, optional)
- `system_tool_type`: `knowledge_base`
  - `enabled_strategies` (list of enum, optional)
    - Allowed values: `cat`, `keyword`, `semantic`, `ls`
- `system_tool_type`: `knowledge_base_rag`
- `system_tool_type`: `language_detection`
  - `only_at_conversation_start` (boolean, optional, default: false) — Om inget språkbyte sker under användarens första två turer misslyckas senare försök och konversationen fortsätter på det aktuella språket. Om språket byts under dessa turer förblir senare språkbyten tillgängliga. Aktivera för att minska risken för felaktiga språkbyten.
- `system_tool_type`: `play_keypad_touch_tone`
  - `suppress_turn_after_dtmf` (boolean, optional, default: false) — Om värdet är true genererar agenten inget ytterligare tal efter att ha spelat DTMF-toner. Detta förhindrar att agentens tal stör IVR-system.
  - `use_out_of_band_dtmf` (boolean, optional, default: true) — Skicka DTMF-toner som out-of-band-RTP-händelser (RFC 4733) i stället för in-band-ljud. Gäller endast nummer som importerats från en SIP-trunk.
- `system_tool_type`: `skip_turn`
  - `wait_timeout_secs` (double, optional, default: -1) — Sekunder att vänta efter skip_turn innan agenten genererar en kontextuell avstämning. Timern "End conversation after silence" pausas under väntan. -1 inaktiverar väntan: efter skip_turn förblir agenten tyst tills uppringaren talar, och timern fortsätter att gå. Gäller endast röstkonversationer.
- `system_tool_type`: `start_procedure`
  - `procedures` (map from string to StartProcedureToolConfigProceduresValue, optional)
- `system_tool_type`: `transfer_to_agent`
  - `transfers` (list of AgentTransferOutput, required)
- `system_tool_type`: `transfer_to_number`
  - `transfers` (list of PhoneNumberTransfer, required)
  - `enable_client_message` (boolean, optional, default: true) — Om ett meddelande ska spelas upp för klienten medan den väntar på överföring. Standardvärdet är true för bakåtkompatibilitet.
- `system_tool_type`: `voicemail_detection`
  - `voicemail_message` (string, optional) — Valfritt meddelande att lämna på röstbrevlådan när den upptäcks. Om inget anges avslutas samtalet direkt när en röstbrevlåda upptäcks. Stöder dynamiska variabler (t.ex. \{\{system\_\_time}}, \{\{system\_\_call\_duration\_secs}}, \{\{custom\_variable}}).

### WebhookToolApiSchemaConfigOutput

- `url` (string, required) — Webbadressen som webhooken skickas till. Kan innehålla sökvägsparametrar, t.ex. [https://example.com/agents/\{agent\_id}](https://example.com/agents/\{agent_id})
- `request_headers` (map from string to WebhookToolApiSchemaConfigOutputRequestHeadersValue, optional) — Headers som ska inkluderas i begäran
- `method` (enum, optional, default: GET) — HTTP-metoden att använda för webhooken
  - Allowed values: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`
- `path_params_schema` (map from string to LiteralJsonSchemaProperty, optional) — Schema för eventuella sökvägsparametrar. Nycklarna ska matcha platshållarna i URL:en.
- `query_params_schema` (QueryParamsJsonSchemaOutput, optional) — Schema för eventuella frågeparametrar. Dessa läggs till i slutet av URL:en som frågeparametrar. Obs: egenskaper i en frågeparameter måste alla vara bokstavliga typer.
- `request_body_schema` (ObjectJsonSchemaPropertyOutput, optional) — Schema för eventuella brödtextparametrar. Används för POST/PATCH/PUT-begäranden. Schemat ska vara ett objekt som skickas som JSON-brödtext.
- `response_body_schema` (ObjectJsonSchemaPropertyOutput, optional) — Schema som beskriver den förväntade strukturen för svarstexten. Endast för dokumentation; visas inte för LLM:en.
- `response_filter` (ResponseFilter, optional) — Valfritt filter med tillåtelselista som tillämpas på svaret innan LLM:en ser det, så att stora svar inte fyller kontexten. Standardvärdet är hela svaret.
- `content_type` (enum, optional, default: application/json) — Innehållstyp för begärandetexten. Gäller endast POST-/PUT-/PATCH-begäranden.
  - Allowed values: `application/json`, `application/x-www-form-urlencoded`
- `auth_resolved_params` (list of string, optional) — URL-platshållare som hämtas från autentiseringsanslutningen (t.ex. hemligheter som injiceras via UrlSecretAuthConnection) i stället för från path_params_schema.
- `auth_connection` (WebhookToolApiSchemaConfigOutputAuthConnection, optional) — Valfri autentiseringsanslutning att använda för autentisering med denna webhook

### ConvAiSecretLocator

Används för att referera till en hemlighet från agentens hemlighetslager.

- `secret_id` (string, required)

### ConvAiEnvVarLocator

Används för att referera till en miljövariabel med etikett.

- `env_var_label` (string, required)

### AuthConnectionLocator

Används för att referera till en autentiseringsanslutning från arbetsytans lager för autentiseringsanslutningar.

- `auth_connection_id` (string, required)

### EnvironmentAuthConnectionLocator

Refererar till en miljövariabel av typen 'auth_connection' via etikett. Vid körning löses den till autentiseringsanslutningen för den aktuella miljön, med återgång till standardmiljön.

- `env_var_label` (string, required)

### ConvAiDynamicVariable

Används för att referera till en dynamisk variabel.

- `variable_name` (string, required)

### ApiIntegrationWebhookOverridesSchemaOverridesValue

- `source`: `constant`
  - `constant_value` (ConstantSchemaOverrideConstantValue, optional) — Det konstanta värde som ska användas
- `source`: `dynamic_variable`
  - `dynamic_variable` (string, required) — Namnet på den dynamiska variabel som ska användas
- `source`: `llm`
  - `prompt` (string, optional) — Prompt-åsidosättning för LLM:en. Om den inte anges används den ursprungliga schemabeskrivningen.
- `source`: `omit`

### ApiIntegrationWebhookOverridesRequestHeadersValue

### ObjectJsonSchemaPropertyOutputPropertiesValue

### RequiredConstraints

Omslutning för sammansättningsbegränsningar med anyOf/allOf som är begränsade till obligatoriska fält.

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

### EndProcedureToolConfigProceduresValue

### StartProcedureToolConfigProceduresValue

### AgentTransferOutput

- `condition` (string, required)
- `agent_id` (string, optional)
- `branch_id` (string, optional)
- `node_id` (string, optional)
- `delay_ms` (integer, optional, default: 0)
- `transfer_message` (string, optional)
- `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) — Definierar om TTS-klientåsidosättningar ska överföras till den överförda agenten.
- `preserve_voice_settings` (boolean, optional, default: false) — Definierar om basrösten, TTS-modellen och röstinställningarna ska överföras till den överförda agenten.

### PhoneNumberTransfer

- `transfer_destination` (PhoneNumberTransferTransferDestination, required)
- `condition` (string, required)
- `custom_sip_headers` (list of PhoneNumberTransferCustomSipHeadersItem, optional) — Anpassade SIP-headers att inkludera vid överföring av samtalet. Varje header kan vara antingen ett statiskt värde eller en referens till en dynamisk variabel.
- `transfer_type` (enum, optional, default: conference)
  - Allowed values: `blind`, `conference`, `sip_refer`
- `sip_refer_play_dialtone` (boolean, optional, default: true) — När värdet är True spelas en ringsignal upp på det ursprungliga samtalsbenet medan en SIP REFER-överföring slutförs. Signalen överförs via RTP till SIP-motparten som utför REFER, så inaktivera detta om det mottagande systemet (t.ex. en SBC eller ett kontaktcenter) inte ska höra den. När funktionen är inaktiverad hör den som ringer tystnad tills överföringen slutförs. Gäller endast SIP REFER-överföringar.
- `uui` (UuiTransferConfig, optional) — User-to-User Information (RFC 7433) som ska bifogas SIP REFER-överföringar. Överför samtalskontext, såsom CRM-identifierare eller eskaleringsorsak, över överföringsgränsen.
- `post_dial_digits` (PhoneNumberTransferPostDialDigits, optional) — DTMF-siffror att skicka när samtalet har anslutits (t.ex. 'ww1234' för anknytningsnummer). Kan vara antingen ett statiskt värde eller en dynamisk variabelreferens. Använd 'w' för en paus på 0,5 sekunder. Stöds endast för Twilio-överföringar.
- `phone_number` (string, optional, deprecated)

### WebhookToolApiSchemaConfigOutputRequestHeadersValue

### LiteralJsonSchemaProperty

Schemaegenskap för bokstavliga JSON-typer. VIKTIGT: Endast ETT av följande fält kan anges: description (LLM anger värdet), dynamic_variable (värde från variabel), is_system_provided (systemet anger värdet), constant_value (fast värde) eller is_omitted (parametern utelämnas). Dessa utesluter varandra.

- `type` (LiteralJsonSchemaPropertyType, required)
- `description` (string, optional, default: ) — Beskrivningen av egenskapen. När den är angiven tillhandahåller LLM:en värdet baserat på denna beskrivning. Kan inte användas tillsammans med dynamic_variable, is_system_provided, constant_value och is_omitted.
- `enum` (list of string, optional) — List of allowed string values for string type parameters
- `is_system_provided` (boolean, optional, default: false) — Om värdet är true fylls värdet i av systemet vid körning. Används av API Integration Webhook-verktyg för mallar. Kan inte användas tillsammans med description, dynamic_variable, constant_value och is_omitted.
- `dynamic_variable` (string, optional, default: ) — Namnet på den dynamiska variabel som ska användas för den här egenskapens värde. Kan inte användas tillsammans med description, is_system_provided, constant_value och is_omitted.
- `allowed_values` (AllowedValues, optional) — Avvisningsskydd på serversidan för ett värde från en LLM: körtiden avvisar alla värden utanför den tillåtna uppsättning som objektet anger, och uppsättningen visas inte för LLM:en som en enum. Stöds endast när värdekällan är `description`; det går inte att kombinera med dynamic_variable, is_system_provided, constant_value eller is_omitted.
- `constant_value` (LiteralJsonSchemaPropertyConstantValue, optional) — Ett konstant värde att använda för den här egenskapen. Kan inte användas tillsammans med description, dynamic_variable, is_system_provided och is_omitted.
- `is_omitted` (boolean, optional, default: false) — Om värdet är true utelämnas denna parameter helt från förfrågningen. Gäller endast valfria parametrar. Kan inte användas tillsammans med description, dynamic_variable, is_system_provided och constant_value.
- `allowed_values_dynamic_variable` (string, optional, default: , deprecated) — FÖRÅLDRAT: använd `allowed_values` i stället. När det är inställt tillhandahåller LLM:n värdet, men körningsmiljön avvisar alla värden som inte finns i listan som den här dynamiska variabeln innehåller (måste vara en JSON-array som ["ws_alpha", "ws_beta"]). Använd detta för att låta LLM:n välja från en serververifierad uppsättning (t.ex. de ID:n som den aktuella användaren har behörighet till). Kräver description; kan inte användas tillsammans med dynamic_variable, is_system_provided, constant_value och is_omitted.

### QueryParamsJsonSchemaOutput

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

### ResponseFilter

Konfiguration för filtrering av verktygssvar innan de blir synliga för agenten.

- `mode` (enum, optional, default: all) — Styr hur verktygssvar filtreras. 'all' returnerar hela svaret, 'allow' returnerar endast angivna sökvägar och 'hide_all' döljer hela svaret.
  - Allowed values: `all`, `allow`, `hide_all`
- `filters` (list of string, optional) — Sökvägar med punktnotation att inkludera när läget är 'allow' (t.ex. ['ticket.id', 'ticket.status']).
- `content_type` ("application/json", optional) — Innehållstyp för svarsfiltrering. Endast svar av typen ”application/json” filtreras.

### WebhookToolApiSchemaConfigOutputAuthConnection

Valfri autentiseringsanslutning att använda för autentisering med denna webhook

### ArrayJsonSchemaPropertyOutput

- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — När detta är angivet fylls hela parametern i från denna dynamiska variabel vid körning. Kan inte användas tillsammans med description (värde som tillhandahålls av LLM), constant_value och is_omitted.
- `constant_value` (list of any, optional) — När detta är angivet använder hela arrayen detta konstanta värde vid körning. Kan inte användas tillsammans med description (array som tillhandahålls av LLM), dynamic_variable och is_omitted.
- `is_omitted` (boolean, optional, default: false) — Om värdet är true utelämnas denna parameter helt från förfrågningen. Gäller endast valfria parametrar. Kan inte användas tillsammans med description, dynamic_variable och constant_value.
- `type` ("array", optional)
- `items` (ArrayJsonSchemaPropertyOutputItems, optional) — Schema för arrayelement.

### RequiredConstraint

En uppsättning fält som alla måste finnas för att uppfylla den här begränsningen.

- `required` (list of string, required)

### ProcedureVersionRef

- `procedure_id` (string, required) — Procedur-ID
- `version_id` (string, required) — Versions-ID för procedurversionen.

### ProcedureDraftRef

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

### PhoneNumberTransferTransferDestination

- `type`: `phone`
  - `phone_number` (string, required)
- `type`: `phone_dynamic_variable`
  - `phone_number` (string, required)
- `type`: `sip_uri`
  - `sip_uri` (string, required)
- `type`: `sip_uri_dynamic_variable`
  - `sip_uri` (string, required)

### PhoneNumberTransferCustomSipHeadersItem

- `type`: `dynamic`
  - `key` (string, required) — SIP-headerns namn (t.ex. 'X-Customer-ID')
  - `value` (string, required) — Namnet på den dynamiska variabel som ska lösas
- `type`: `static`
  - `key` (string, required) — SIP-headerns namn (t.ex. 'X-Customer-ID')
  - `value` (string, required) — Header-värdet

### PhoneNumberTransferPostDialDigits

- `type`: `dynamic`
  - `value` (string, required) — Namnet på den dynamiska variabel som ska lösas
- `type`: `static`
  - `value` (string, required) — DTMF-siffror att skicka när samtalet har anslutits (t.ex. 'ww1234' för anknytningsnummer)

### LiteralJsonSchemaPropertyType

### AllowedValues

- `dynamic_variable` (string, required) — Namn på en dynamisk variabel som måste lösas till en JSON-array med tillåtna värden, t.ex. ["ws_alpha", "ws_beta"]. Systemvariabler fungerar endast om de löses till en lista.

### LiteralJsonSchemaPropertyConstantValue

Ett konstant värde att använda för den här egenskapen. Kan inte användas tillsammans med description, dynamic_variable, is_system_provided och is_omitted.

### ArrayJsonSchemaPropertyOutputItems

Schema för arrayelement.

## Examples

**Response**

```json
{
  "workflow": {
    "edges": {
      "key": {
        "source": "source",
        "target": "target",
        "forward_condition": {
          "type": "expression",
          "expression": {
            "type": "and_operator",
            "children": []
          },
          "label": null
        },
        "backward_condition": {
          "type": "expression",
          "expression": {
            "type": "and_operator",
            "children": []
          },
          "label": null
        }
      }
    },
    "nodes": {
      "key": {
        "type": "end",
        "edge_order": [
          "edge_order"
        ],
        "position": {
          "x": 1.1,
          "y": 1.1
        }
      }
    },
    "prevent_subagent_loops": true
  }
}
```

**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()
```