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/outboundPOST /v1/sip/calls/inboundPOST /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_variablesteruggeven, 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 deurl, header-valueenconst-mode queryparameters van eenToolConfigwordt 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 turnsOpmerkingen: 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.
