Effettua una chiamata telefonica in uscita gestita da un agente AI. L'agente conduce una conversazione in forma libera usando i suoi strumenti, la memoria e il contesto per raggiungere un obiettivo specificato.
agentic_phone_callIl nodo Chiamata Telefonica AI compone una chiamata in uscita e affida il controllo a un Agente Flusso configurato, che parla e ascolta in tempo reale tramite il WebSocket ConversationRelay di Twilio. A differenza del nodo Chiamata Telefonica standard — dove lo script della chiamata è fisso — il nodo Chiamata Telefonica AI permette all'agente di adattare dinamicamente il linguaggio, le domande e il ragionamento in base a ciò che dice il destinatario.
L'agente ha accesso a due strumenti di chiamata integrati, oltre a qualsiasi strumento configurato sul nodo Agent stesso:
confirmed, not_interested, callback_requested) che viene restituita nell'output del passaggio per l'uso nell'instradamento a valle.È possibile fornire facoltativamente un messaggio di saluto che l'agente pronuncia immediatamente quando il destinatario risponde, un obiettivo della chiamata che viene iniettato nel contesto di sistema dell'agente per guidarne il comportamento, e un oggetto context in forma libera che passa dati del workflow (come nome del cliente, dettagli dell'ordine o informazioni sull'appuntamento) direttamente nel contesto dell'agente prima dell'inizio della chiamata.
L'agente può anche usare strumenti di ricerca vettoriale e qualsiasi strumento MCP collegato al nodo Agent in modalità grafico. Ciò significa che l'agente può cercare informazioni in una knowledge base o chiamare API esterne a metà conversazione per rispondere a domande o intraprendere azioni per conto del destinatario.
| Campo | Stato | Descrizione |
|---|---|---|
| To Number | Obbligatorio | Il numero di telefono in formato E.164 da chiamare, ad es. +12025551234. Supporta riferimenti {{ variable }}. |
| Agent | Obbligatorio | L'Agente Flusso da usare per la conversazione. Il modello, la memoria e la configurazione degli strumenti dell'agente vengono ereditati dalle impostazioni del suo nodo Agent. In modalità grafico, il nodo Agent deve avere un nodo Model Config collegato alla porta model_in. |
| Voice | Opzionale | La voce text-to-speech usata per l'output vocale dell'agente. Seleziona una voce ElevenLabs configurata in Impostazioni, o lascia vuoto per usare la voce TTS predefinita di Twilio. |
| Greeting | Opzionale | Un messaggio pronunciato immediatamente quando il destinatario risponde, prima che l'agente prenda il controllo. Utile per un'apertura coerente come: "Salve, questa è una chiamata automatica da Acme Corp." Supporta riferimenti {{ variable }}. |
| Call Objective | Opzionale | Una descrizione in linguaggio naturale di ciò che l'agente dovrebbe raggiungere durante la chiamata. Viene iniettata nel prompt di sistema dell'agente prima dell'inizio della conversazione. Esempio: "Conferma l'appuntamento di consegna del cliente e chiedi se ha bisogno di riprogrammare." |
| Max Duration | Opzionale | Durata massima della chiamata in secondi. La chiamata viene terminata automaticamente quando questo limite viene raggiunto. Predefinito: 300 secondi (5 minuti). |
| Silence Timeout | Opzionale | Quanto tempo attendere che il destinatario parli prima di terminare la chiamata, in secondi. Si applica quando il destinatario smette di rispondere a metà conversazione. Predefinito: 10 secondi. |
| Context | Opzionale | Un oggetto JSON con dati aggiuntivi da iniettare nel contesto dell'agente prima della chiamata. Usalo per passare variabili del workflow come il nome del cliente, i dettagli dell'account o le informazioni sull'ordine. Supporta {{ variable }} nei valori. Esempio: {"customer_name": "{{ crm_step.output.name }}"}. |
Tutti i campi di output sono disponibili nei passaggi successivi tramite riferimenti a variabili.
| Campo | Tipo | Descrizione |
|---|---|---|
status | string | Stato finale della chiamata. Uno tra: completed, no_answer, busy, failed, timeout. |
duration | number | Durata della chiamata in secondi dalla risposta al riagganciamento. 0 se la chiamata non è stata risposta. |
transcript | array | Trascrizione completa della conversazione come array di oggetti turno, ciascuno con role (agent o recipient) e text. |
recording_url | string | URL della registrazione completa della chiamata, se la registrazione delle chiamate è abilitata sull'account Twilio. |
ended_by | string | Chi ha terminato la chiamata: agent (tramite lo strumento end_call), recipient (ha riagganciato), timeout (durata massima o silence timeout raggiunto), o system (errore). |
summary | string | Un riepilogo in linguaggio naturale della conversazione generato dall'agente dopo la fine della chiamata. Utile per il logging o per passarlo ai passaggi a valle. |
call_outcome | string | L'etichetta di esito strutturata impostata dall'agente tramite lo strumento set_call_outcome durante la chiamata. null se l'agente non ha impostato un esito. |
patient_name, appointment_time e clinic_address.ai_call.output.call_outcome: confirmed → invia un SMS di conferma; reschedule_requested → notifica il team della clinica via Slack; no_answer → riprova domani.call_outcome su qualified, not_qualified o callback_requested.ai_call.output.call_outcome == "qualified" e, se vero, crea un'opportunità nel CRM tramite un nodo HTTP Request e notifica il team vendite su Slack. Il summary completo viene incluso nel messaggio Slack per contesto.transcript e il summary vengono riscritti nel ticket helpdesk tramite un nodo HTTP Request per i registri del team di supporto.set_call_outcome viene chiamato solo se istruisci l'agente a usarlo — nel Call Objective o nel prompt di sistema dell'Agent. Includi sempre un elenco di valori di esito validi nell'obiettivo affinché l'agente usi etichette coerenti per l'instradamento a valle.gpt-4o-mini o un modello Ollama locale) per la migliore esperienza conversazionale. I modelli ad alta latenza possono causare pause notevoli.ended_by viene impostato su timeout.call_outcome.