Panoramica
Il Contesto Dinamico ti permette di recuperare dati cliente dalle tue API esterne una volta, prima che inizi ogni conversazione. Invece di fare affidamento solo sui record contatti, i tuoi agenti possono accedere a stato account, storico ordini, ticket supporto e contesto aziendale dal tuo CRM, database e sistemi backend.Il Contesto Dinamico è configurato in Impostazioni Agente → Operations → Dynamic Context. I dati JSON restituiti sono disponibili direttamente come variabili (es.
{{ field_name }}) nel saluto e nelle istruzioni del tuo agente.L’API contesto viene chiamata una volta prima che inizi la conversazione. I dati sono disponibili per il rendering del saluto e durante tutta la conversazione. Non si aggiorna durante la conversazione. Mantieni il tuo endpoint veloce (<1s tempo risposta) e restituisci solo dati necessari per la conversazione.
- Endpoint HTTPS
- Risposta JSON sotto 32 KB
- Tempo risposta sotto 1 secondo (idealmente)
- Autenticazione via Bearer token, API key o Basic auth
Come Funziona
Flusso Richiesta:Chiamate inbound
direction: "inbound" con contact_number del chiamante. Cerca dati cliente nel tuo CRM.Chiamate outbound
direction: "outbound" con contact_number che stai chiamando. Recupera contesto campagna.Widget web
medium: "web" con external_id opzionale. Identifica utente nel tuo sistema.Configurazione
Naviga a Contesto Dinamico
- Apri impostazioni agente
- Clicca gruppo navigazione Operations (sulla barra laterale sinistra)
- Seleziona Dynamic Context dalle sezioni
Configura Endpoint
URL Endpoint:
https://api.company.com/contextAutenticazione: Scegli Bearer Token, Basic, API Key o NessunaLa richiesta includerà: agent_uuid, direction, agent_number, contact_number (e external_id per widget web)Formato Richiesta e Risposta
Cosa Inviamo (Richiesta POST)
agent_uuid(string, sempre incluso) - L’UUID dell’agente che gestisce la chiamatadirection(string, sempre incluso) - “inbound” o “outbound”agent_number(string, opzionale) - Il numero telefono che l’agente sta usandocontact_number(string, opzionale) - Il numero telefono del clienteexternal_id(string/int, opzionale) - Solo per chiamate widget web, se fornito dalla tua integrazione
X-Agent-UUID,X-Agent-Number,X-Contact-Number,X-Direction,X-Medium(phone/web)X-Room-SID- Identificatore unico per questa sessione conversazioneX-External-ID- Solo per chiamate widget web
Uso tipico: Il tuo endpoint usa
contact_number o external_id per cercare il cliente nel tuo CRM/database, poi restituisce dati account rilevanti, storico ordini, ticket, ecc. L’agent_uuid può essere usato per personalizzare risposte per agente se necessario.Cosa Restituisci (Risposta JSON)
- Formato JSON valido
- Sotto 32 KB
- Restituisci solo campi necessari (mantiene risposta veloce)
- Gestisci dati mancanti con grazia (restituisci
nullo ometti campi)
Come si accede alle variabili: Tutte le chiavi di livello superiore nella tua risposta JSON diventano variabili template. Se restituisci
{"account": {"tier": "VIP"}}, vi accedi come {{ account.tier }}, non {{ context.account.tier }}.Usare Variabili Contesto
Tutti i dati restituiti dalla tua API sono disponibili direttamente come variabili di livello superiore nel saluto e nelle istruzioni del tuo agente. Accedere ai campi:Autenticazione
Bearer Token (Raccomandato)
API Key (Header)
Basic Auth
Nessuna
Nessuna autenticazione (solo per reti interne/private).Esempio Caso d’Uso
Supporto Clienti con Contesto Completo Scenario: Agente supporto ha bisogno di vista cliente completa prima che inizi conversazione. La tua API restituisce:Best Practice
Mantieni risposte veloci
Mantieni risposte veloci
- Target sotto 1 secondo tempo risposta
- Cache dati acceduti frequentemente (TTL 5-10 minuti)
- Restituisci solo campi che userai nelle istruzioni
- Usa indici database su campi lookup (contact_number, external_id o ID cliente interni)
Gestisci dati mancanti con grazia
Gestisci dati mancanti con grazia
- Usa filtri
| default("value")nelle istruzioni - Restituisci
nullper campi mancanti (non errore) - Testa con contatti che hanno dati minimi
Proteggi dati sensibili
Proteggi dati sensibili
- Non restituire SSN, carte credito, password
- Usa solo HTTPS
- Implementa autenticazione (Bearer token raccomandato)
- Restituisci solo campi necessari (es. ultime 4 cifre numero conto, non completo)
- Registra accessi per audit trail
Testa prima di produzione
Testa prima di produzione
- Usa modal Test Request con dati cliente reali
- Testa casi limite (nuovo cliente, VIP, account sospeso)
- Verifica che istruzioni gestiscano campi mancanti con grazia
- Pilota con piccola percentuale traffico prima di rollout completo
Risoluzione dei Problemi
401 Unauthorized
401 Unauthorized
Variabili contesto vuote
Variabili contesto vuote
- Usa Test Request per verificare che endpoint stia rispondendo
- Controlla che struttura JSON corrisponda a ciò che stai accedendo
- Verifica che toggle Dynamic Context sia ON
- Usa
| default("fallback")per campi mancanti
Lento o timeout
Lento o timeout
- Aggiungi indici database
- Implementa caching
- Restituisci solo campi necessari
- Ottimizza query database
- Controlla latenza rete alla tua API
Dati sbagliati restituiti
Dati sbagliati restituiti
- Controlla parametri in modal Test Request
- Verifica che variabili template si risolvano correttamente:
{{ account.tier }} - Assicura che chiavi cache includano identificatore cliente
- Testa con cliente noto per confermare corrispondenza dati
Passi Successivi
Saluto
Usa variabili contesto per personalizzare il saluto del tuo agente
Istruzioni
Impara come usare variabili contesto con templating Jinja
Variabili e Contenuto Dinamico
Padroneggia sintassi templating per prompt dinamici
Azioni API Personalizzate
Crea azioni che usano dati contesto durante conversazioni