Panoramica
Le azioni API personalizzate consentono ai tuoi agenti AI di integrarsi con sistemi esterni durante le conversazioni. I tuoi agenti possono recuperare dati clienti, aggiornare record CRM, controllare inventario, creare ticket ed eseguire logica aziendale - tutto in tempo reale mentre parlano con i clienti.

- Configura endpoint API - Imposta metodo HTTP, URL, autenticazione, intestazioni e corpo richiesta
- Definisci variabili - Specifica quali informazioni l’agente deve raccogliere prima di chiamare l’API
- Agente la usa - Durante conversazione, agente raccoglie le variabili e chiama la tua API
- API risponde - Il tuo sistema restituisce dati che l’agente usa per continuare la conversazione
Le azioni personalizzate si eseguono sincronamente durante le conversazioni. Per operazioni che non necessitano risposte immediate (logging, analytics, elaborazione post-chiamata), usa Webhook invece.
Flusso Esempio
Esempio Sicuro con Verifica
Per ricerche dati sensibili, verifica prima identità cliente:- Prima azione: “Verifica Cliente” - autentica usando ID cliente + PIN/password
- Seconda azione: “Cerca Ordine” - eseguita solo se verifica ha successo
Creare un’Azione Personalizzata
Configura Info Base
- Nome: Nome descrittivo (es. “Cerca Stato Ordine”)
- Descrizione: Quando usarla (10-200 caratteri)
Configurazione
Scheda Endpoint
Metodo HTTP (Richiesto)- GET - Recupera dati
- POST - Crea record
- PUT - Sostituisci record interi
- PATCH - Aggiorna campi specifici
- DELETE - Rimuovi record
- URL API completo:
https://api.company.com/customers - Supporta variabili template:
https://api.company.com/orders/{{order_id}} - Auto-prepone
https://se nessun protocollo specificato
Scheda Autenticazione
Scegli tipo autenticazione:Nessuna
Nessuna
Nessuna autenticazione richiestaUsa per:
- API pubbliche
- Endpoint interni su rete privata
Token Bearer
Token Bearer
Più comune per API moderneConfigurazione:Usa per:
- Token: Il tuo token API/JWT
- Token accesso OAuth 2.0
- Autenticazione JWT
- API REST moderne
Auth Base
Auth Base
Autenticazione username/passwordConfigurazione:Usa per:
- Username: Username API
- Password: Password API (mascherata con pallini quando si modifica)
- API legacy
- Autenticazione semplice
Intestazione
Intestazione
Auth personalizzata basata su intestazioneConfigurazione:Usa per:
- Nome Intestazione: es.
X-API-Key - Valore Intestazione: La tua chiave API (mascherata quando si modifica)
- Autenticazione chiave API
- Schemi auth personalizzati
Body
Body
Credenziali nel corpo richiestaConfigurazione:Usa per:
- Nome Parametro: es.
api_key - Valore Parametro: La tua credenziale (mascherata quando si modifica)
- Schemi auth non standard
- Endpoint login
Scheda Parametri
Intestazioni- Aggiungi intestazioni HTTP personalizzate (coppie chiave-valore)
- Esempio:
Content-Type: application/json
- Aggiungi parametri query URL (coppie chiave-valore)
- Esempio:
include=orders&limit=100
- Area di testo JSON con font stile Monaco
- Supporta variabili template:
{{nome_variabile}} - Valida struttura JSON permettendo segnaposto variabili
Scheda Variabili
Questa è la parte più importante. Le variabili definiscono quali informazioni il tuo agente deve raccogliere prima di chiamare l’API. Ogni variabile crea un parametro funzione che il LLM vede e raccoglie durante conversazione. Campi Variabile:- Nome: Nome variabile (es.
order_number,customer_email) - Tipo: string, integer, float, boolean, date, email, phone
- Descrizione: A cosa serve questa variabile (aiuta LLM a capire)
- Esempio: Valore esempio (guida LLM)
- Richiesto: Toggle - se true, LLM deve raccogliere prima di chiamare API
- Valore Predefinito: Usato se non richiesto e non fornito
Utilizzo nelle Istruzioni
Fai riferimento all’azione per nome e spiega quando usarla:Raccolta Variabili
L’agente raccoglie automaticamente variabili richieste prima di chiamare l’API:Usare Variabili Opzionali
Variabili Template
Usa sintassi{{nome_variabile}} in URL, intestazioni, parametri query e corpo richiesta.
Variabili Azione
Variabili che hai definito nella scheda Variabili:Variabili Contesto
Disponibili automaticamente da record contatto e contesto chiamata: Informazioni Contatto:Conversione Tipo
Le variabili sono automaticamente convertite ai loro tipi definiti:integer→ numero in JSONfloat→ decimale in JSONboolean→ true/false in JSONstring→ stringa tra virgolette in JSON
Test
Testa Endpoint Indipendentemente
Usa Postman o cURL per verificare:
- Endpoint è raggiungibile
- Autenticazione funziona
- Formato richiesta è corretto
- Risposta è come previsto
Inizia con Valori Statici
Configura azione con valori hardcoded prima (nessuna variabile)Verifica funzionalità base prima di aggiungere complessità
Aggiungi Variabili
Sostituisci valori hardcoded con variabiliTesta con record contatto che ha campi richiesti
Testa nell'Agente
- Avvia chiamata web
- Attiva l’azione attraverso conversazione
- Verifica che agente raccolga variabili correttamente
- Controlla che API sia chiamata con dati corretti
- Conferma che agente usi risposta appropriatamente
Risoluzione Problemi
401 Non Autorizzato
401 Non Autorizzato
Causa: Credenziali non valide o tipo auth sbagliatoSoluzione:
- Verifica che credenziali siano corrette
- Controlla che tipo autenticazione corrisponda requisiti API
- Testa con Postman usando stesse credenziali
- Verifica che token non sia scaduto
404 Non Trovato
404 Non Trovato
Causa: URL scorretto o risorsa non esisteSoluzione:
- Verifica che URL endpoint sia corretto
- Controlla che variabili template si popolino correttamente
- Testa con valori statici prima
Agente Non Raccoglie Variabili
Agente Non Raccoglie Variabili
Causa: Variabili non configurate o descrizioni poco chiareSoluzione:
- Verifica che variabili siano definite nella scheda Variabili
- Aggiungi descrizioni chiare ed esempi
- Imposta required=true per variabili essenziali
- Fai riferimento all’azione per nome esatto nelle istruzioni
Variabili Non si Sostituiscono
Variabili Non si Sostituiscono
Causa: Sintassi scorretta o variabile non esisteSoluzione:
- Usa sintassi esatta:
{{nome_variabile}} - Verifica che variabile sia definita nella scheda Variabili
- Controlla che record contatto abbia campo popolato
- Imposta valore predefinito nella scheda Variabili per variabili opzionali
Errori Timeout
Errori Timeout
Causa: API risponde lentamente (>2 minuti)Soluzione:
- Ottimizza tempo risposta API
- Considera uso webhook per operazioni lente
- Cache dati acceduti frequentemente
Agente Non Può Usare Dati Risposta
Agente Non Può Usare Dati Risposta
Causa: API restituisce JSON non valido o malformatoSoluzione:
- Verifica che API restituisca JSON valido
- Controlla intestazione Content-Type nella risposta
- Testa risposta con validatore JSON
Best Practice Sicurezza
Usa Solo HTTPS
Usa Solo HTTPS
Usa sempre endpoint HTTPS per crittografare dati in transito✅
https://api.company.com/endpoint
❌ http://api.company.com/endpointProteggi Credenziali
Proteggi Credenziali
- Non hardcodare mai credenziali in URL
- Usa configurazione autenticazione
- Ruota chiavi API regolarmente
- Usa chiavi separate per test vs produzione
- Revoca immediatamente credenziali compromesse
Limita Permessi
Limita Permessi
- Concedi permessi API minimi necessari
- Usa chiavi read-only per azioni ricerca
- Restringi permessi scrittura a endpoint specifici
- Monitora attività inusuale
Valida Input
Valida Input
La tua API dovrebbe validare tutti gli input:
- Controlla tentativi injection
- Valida tipi e formati dati
- Limita lunghezze stringhe
- Usa query parametrizzate
Esempi Mondo Reale
Ricerca Cliente CRM
Ricerca Cliente CRM
Scenario: Cerca cliente in SalesforceConfigurazione:
- Metodo: GET
- URL:
https://api.salesforce.com/customers/{{customer_id}} - Auth: Token bearer
- Variabile:
customer_id(string, richiesto)
Crea Ticket Supporto
Crea Ticket Supporto
Scenario: Crea ticket in ZendeskConfigurazione:Istruzioni Agente:
- Metodo: POST
- URL:
https://company.zendesk.com/api/v2/tickets - Auth: Basic (email/token)
- Variabili:
issue_description(string),priority_level(string) - Body:
Controlla Inventario Prodotto
Controlla Inventario Prodotto
Scenario: Controlla disponibilità prodottoConfigurazione:
- Metodo: GET
- URL:
https://inventory.company.com/products/{{sku}}/availability - Auth: Intestazione (
X-API-Key) - Variabile:
sku(string, richiesto, esempio: “PROD-12345”)