Ga naar hoofdinhoud
Audact
Bekijk het aanbod

Dynamische variabelen

Dynamische variabelen zijn per-gesprek tekenreeks-sleutel/waarde-paren waarmee u één gesprek kunt personaliseren zonder de gedeelde agent te wijzigen. U stelt ze in bij het aanmaken van het gesprek; het platform substitueert ze in de besturende prompt van de agent bij het starten van het gesprek en stelt ze beschikbaar aan de hulpmiddelen van de agent. Ze zijn de aanbevolen manier om per-gesprek context (naam van de beller, bedrijfsnaam, accountgegevens, een call_action, enz.) in te voegen in een verder statische agent die veel gelijktijdige gesprekken verwerkt.

1. Instellen bij het aanmaken van een gesprek

Geef een dynamic_variables-object (tekenreeks → tekenreeks) mee op elk gesprek-aanmaakverzoek:

  • POST /v1/sip/calls/outbound
  • POST /v1/sip/calls/inbound
  • POST /v1/sip/calls/browser

json

POST /v1/sip/calls/outbound
{
  "agent_id": "…",
  "from_number": "+44…",
  "destination_number": "+44…",
  "dynamic_variables": {
    "business_name": "Acme Plumbing",
    "customer_name": "Ada",
    "call_action": "answer"
  }
}

Waarden MOETEN tekenreeksen zijn. Het nevenstaande metadata-veld op dezelfde verzoeken is anders: metadata is ondoorzichtige JSON die wordt opgeslagen in de gespreksrij en wordt teruggeechood op levenscyclus-webhookgebeurtenissen — het wordt niet in de prompt gesubstitueerd.

Als een per-tenant pre-connect admission hook is geconfigureerd, kan de respons ook dynamic_variables teruggeven, die worden samengevoegd in de variabelenset van het gesprek voordat de ruimte wordt aangemaakt.

2. Substitutie in de agentprompt

Bij het starten van het gesprek lost de pipeline {{varName}}-plaatshouders in de besturende prompt van de agent op aan de hand van de dynamische-variabelenset van het gesprek, en stuurt vervolgens de opgeloste prompt naar het model. Een agentprompt die het volgende bevat:

You are the receptionist for {{business_name}}. The caller is {{customer_name}}.

wordt voor dat gesprek behandeld als You are the receptionist for Acme Plumbing. The caller is Ada. Een plaatshouder zonder overeenkomende variabele blijft ongewijzigd (bijv. {{unknown}} blijft letterlijk {{unknown}}) — dit veroorzaakt nooit een fout in het gesprek. Namen matchen [a-zA-Z0-9_].

3. Beschikbaarheid voor hulpmiddelen

Dezelfde variabelenset is op twee manieren beschikbaar voor de function-calling-hulpmiddelen van de agent:

  • {{varName}}-templating in de url, header-value en const-mode queryparameters van een ToolConfig wordt opgelost vanuit de dynamische-variabelenopslag vóór elke hulpmiddeloproep.
  • De call.vars-momentopname in het hulpmiddeloproep-verzoekenvelop (zie de gids Hulpmiddeloproep) bevat de huidige dynamische-variabelenmap, zodat het hulpmiddeleindpunt elke variabele in het bereik kan lezen.

4. De opslag uitbreiden tijdens een gesprek (hulpmiddelresponsen)

Een hulpmiddel kan nieuwe variabelen terugschrijven naar de opslag: ToolConfig.ResponseVars koppelt JSON-dotpaden in de responsbody van het hulpmiddel aan variabelenamen, en de geëxtraheerde scalaire waarden (string/getal/bool-bladeren) worden dynamische variabelen die beschikbaar zijn voor volgende {{varName}}-substituties en hulpmiddelaanroepen. Zo voedt een opzoeking midden in het gesprek (bijv. een beschikbaarheidscontrole) latere beurten.

Levenscyclusoverzicht

create call (dynamic_variables) ─┐
  (+ admission-hook variables)   ├─▶ resolve {{var}} into the governing prompt at call start
                                 │
                                 ├─▶ tools: {{var}} in url/headers/query + call.vars snapshot
                                 │
tool response (ResponseVars) ────┴─▶ write new vars into the store for later turns

Opmerkingen: waarden zijn tekenreeksen; onopgeloste plaatshouders worden letterlijk bewaard; de set is beperkt tot het enkele gesprek en wordt nooit gedeeld met de gelijktijdige gesprekken van een tenant.

Bron bijgewerkt: 19 oktober 2026