3CX AI Agents Agentic Tools
Introduzione
Gli strumenti per gli agenti consentono agli agenti di interagire con il centralino e con i chiamanti, eseguendo funzioni quali il trasferimento delle chiamate e il recupero di informazioni. Nel presente documento elenchiamo gli strumenti disponibili per ciascun tipo di agente, insieme alla loro funzione.
Nozioni di base sull’utilizzo e la formattazione
I messaggi di prompt dell’agente IA 3CX utilizzano la sintassi Mustache. Questa sezione fornisce una panoramica della sintassi. La comprensione di queste regole garantisce la corretta integrazione degli strumenti per agenti IA 3CX nei prompt.
- Le variabili vengono richiamate utilizzando la sintassi Mustache racchiudendo l’identificatore tra parentesi graffe.
- {{...}} or {{{...}}} -> (no #, ^ o /) estituisce (riproduce) il contenuto grezzo di una variabile direttamente in quella posizione (senza escape HTML).
- È possibile racchiudere una sezione di prompt all’interno di un blocco; il contenuto viene visualizzato nel testo finale del prompt solo se una variabile supera un test.
- È possibile effettuare un test positivo
- {{#...}} -> il blocco si apre solo se la variabile ha un contenuto o è TRUE
- {{/…}} -> chiusura del blocco
- or a negative test:
- {{^...}} -> il blocco si apre solo se la variabile è vuota o FALSE
- {{/…}} -> chiusura del blocco
- Gli strumenti Agentic possono essere “richiamati” per nome, ma è l’Agente IA a richiamarli quando determina che sono necessari.
Di seguito sono riportati due esempi, entrambi basati sulle destinazioni di inoltro delle chiamate Route By Topic definite nella scheda Call Routing dell’Agente IA di 3CX.
Nei nostri esempi utilizzeremo:
- Variable addressbook_topics: Questa variabile contiene tutte le voci Route by Topic configurate; viene popolata con gli argomenti ogni volta che l’Agent si avvia o si riavvia; funziona come una variabile di sistema.
- Strumento get_addressbook: Uno strumento Agentic che recupera su richiesta le voci degli argomenti configurati.
- Strumento resolve_handoff_destination: Uno strumento Agentic che risolve le richieste in linguaggio naturale assegnandole a destinazioni (interni).
Esempio 1
Gli strumenti Agentic possono essere menzionati nel prompt principale con indicazioni per l’Agente IA sul loro utilizzo, consentendogli di decidere liberamente quando richiamarli.
Se il chiamante chiede di un reparto o pone una domanda su un problema, utilizzare prima get_addressbook per verificare se esistono argomenti correlati alla domanda, quindi utilizzare immediatamente resolve_handoff_destination, senza fornire prima una risposta informativa.
Nell’esempio sopra riportato, questa aggiunta al prompt consentirà al modello di IA di sapere quali strumenti sono disponibili e poi di decidere se richiamarli o meno. Il testo sopra riportato sarà sempre presente nel prompt finale risolto, indipendentemente dal fatto che siano stati impostati degli argomenti.
Esempio 2
È inoltre possibile utilizzare la sintassi Mustache per aggiungere una logica di base alla costruzione del prompt, saltando gli elementi quando non sono necessari; ciò può portare a un prompt finale più compatto o più pulito.
{{#addressbook_topics}}
Se il chiamante chiede informazioni su un reparto o pone una domanda relativa a un problema, verifica se nell’elenco seguente sono presenti argomenti correlati alla domanda:
{{addressbook_topics}}
e utilizza immediatamente resolve_handoff_destination, senza fornire prima una risposta informativa.
{{/addressbook_topics}}
{{^addressbook_topics}}
Utilizza immediatamente resolve_handoff_destination, non fornire prima una risposta informativa.
{{/addressbook_topics}}
In questo esempio:
- Per prima cosa verifichiamo se addressbook_topics è impostato/esiste e, in caso affermativo,
- Visualizziamo un elenco di tali argomenti nel prompt affinché l’agente AI
- Utilizza lo strumento resolve_handoff_destination per individuare la destinazione ottimale per la chiamata, sulla base dell’elenco degli argomenti (e della sua conoscenza dei nostri reparti e degli interni utente/di sistema).
- Se invece gli addressbook_topics non sono impostati,
- non “inquinamo” il prompt con testo superfluo e un elenco vuoto, ma chiediamo all’agente di:
- utilizzare lo strumento resolve_handoff_destination per individuare la destinazione ottimale per la chiamata, sulla base della sua conoscenza dei nostri reparti e degli interni utente/di sistema.
In un centralino in cui è stato configurato un unico argomento: Per qualsiasi problema elettrico: 106 la definizione del prompt sopra riportata genererebbe il seguente testo finale del prompt, che l’agente IA dovrà seguire:
Se il chiamante chiede di un reparto o pone una domanda su un problema, verifica se nell’elenco seguente sono presenti argomenti correlati alla domanda:
- Per qualsiasi problema elettrico
e utilizza immediatamente resolve_handoff_destination, senza fornire prima una risposta informativa.
Va sottolineato che gli agenti di intelligenza artificiale conoscono già questi strumenti e le loro funzionalità. In una chiamata standard che utilizza i prompt predefiniti, l’agente può utilizzarli senza bisogno di istruzioni esplicite. Tuttavia, se si desidera influenzare il comportamento dell’agente o imporre una sequenza di esecuzione rigorosa, è possibile istruirlo a richiamare gli strumenti direttamente all’interno del prompt, come illustrato sopra.
Strumenti degli agenti nella chat
Il prompt dell’agente IA è comune a tutti gli agenti, indipendentemente dal canale di comunicazione, vocale o testuale/chat. Le descrizioni degli strumenti riportate di seguito si concentrano sul canale vocale e, nella maggior parte dei casi, funzioneranno in modo identico anche nella chat.
Alcuni strumenti che gestiscono l’instradamento delle chiamate vocali, come il trasferimento alla segreteria telefonica, ovviamente non funzioneranno in una comunicazione testuale, mentre altri eseguiranno le loro azioni in modo leggermente diverso, ma comunque nel rispetto delle specifiche riportate di seguito.
Strumenti degli agenti per tipo di agente
Nome strumento | Funzione | Strumenti per ruolo | ||
Receptionist | Assistente Personale | Servizio Clienti (U10) | ||
classify_request_before_handoff | Consente ai flussi di lavoro dell’Assistente Personale di distinguere tra scenari di interruzione, notifica e blocco. Quando il chiamante non è il superiore dell’Assistente Personale, memorizza la classificazione della chiamata in modo che l’agente possa decidere come procedere. | No | Sì | No |
drop_call | Consente all’assistente di terminare la conversazione. | Sì | Sì | Sì |
find_contact_by_extension | Recupera informazioni su un interno specifico. | Sì | Sì | Sì |
get_addressbook | Carica l’elenco “Route by Topic”, consentendo all’agente IA di utilizzarne gli elementi nella conversazione e di scegliere le destinazioni. | Sì | Sì | Sì |
get_current_datetime | Restituisce la data e l’ora correnti sia in UTC che nell’ora locale del sistema. | Sì | Sì | Sì |
perform_chat | Avvia la procedura di terminazione della chiamata notificando la destinazione appropriata tramite un messaggio di chat. | Sì | Sì | Sì |
perform_email | Avvia la procedura di conclusione della chiamata avvisando la destinazione appropriata tramite e-mail. | Sì | Sì | Sì |
perform_transfer | Avvia la procedura di conclusione della chiamata trasferendo la chiamata alla destinazione appropriata. | Sì | Sì | Sì |
perform_voicemail | Avvia la procedura di conclusione della chiamata trasferendo la chiamata alla segreteria telefonica della destinazione appropriata. | Sì | Sì | Sì |
resolve_handoff_destination | Esegue la richiesta di trasferimento del chiamante utilizzando una ricerca a testo libero tra tutti gli endpoint di trasferimento consentiti. | Sì | No | Sì |
set_detected_language | Consente all’assistente di ricordare la lingua rilevata del chiamante e di utilizzarla nelle interazioni successive. | Sì | Sì | Sì |
spam_detected | Registra che la chiamata in corso è stata identificata come spam. | Sì | Sì | Sì |
take_handoff_decision | Registra il tipo di trasferimento previsto e il numero di interno. | Sì | Sì | Sì |
take_hostility_action | Registra che il chiamante sta assumendo un comportamento ostile o offensivo. | Sì | Sì | Sì |
take_not_collaborative_action | Registra che il chiamante non è disposto a collaborare con l’assistente. | Sì | Sì | Sì |
vector_store_search | Consente all’assistente di recuperare informazioni dalle basi di conoscenza configurate e dai documenti indicizzati. | Sì | Sì | Sì |
Strumenti, input e output agenti
Nome strumento | Input | Output | Requisiti |
classify_request_before_handoff | Classificazioni disponibili:
| Conferma che la classificazione è stata salvata. | |
drop_call | Nessuna | Risultato restituito dal sottosistema di terminazione delle chiamate. | |
find_contact_by_extension | Numero di interno, ad es. 100. | Una tabella di directory preceduta da uno stato di risoluzione. | |
Resolution: exact_contact ext|name|department|available|can_receive_email 100|John Smith|Sales|true|true | |||
get_addressbook | Nessuna | Un elenco contenente tutti gli argomenti configurati. | |
| |||
get_current_datetime | Nessuna | Una stringa contenente:
| |
perform_chat | Nessuna (utilizza le informazioni esistenti sul contesto della chiamata tramite strumenti secondari non visibili). | Conferma che la decisione relativa alla chat è stata registrata. | PA segue le regole di notifica, gli altri utilizzano l'impostazione predefinita “disponibile”. |
perform_email | Nessuna (utilizza le informazioni esistenti sul contesto della chiamata tramite strumenti secondari non visibili). | Conferma che la decisione relativa alla chat è stata registrata. | La destinazione deve essere idonea a ricevere e-mail. PA segue le regole di notifica, gli altri utilizzano l'impostazione predefinita “disponibile”. |
perform_transfer | Nessuna (utilizza le informazioni esistenti sul contesto della chiamata tramite strumenti secondari non visibili). | Conferma che la decisione relativa al trasferimento è stata registrata. | PA segue le regole di notifica, gli altri utilizzano l'impostazione predefinita “disponibile”. |
perform_voicemail | Nessuna (utilizza le informazioni esistenti sul contesto della chiamata tramite strumenti secondari non visibili). | Conferma che la decisione relativa al messaggio vocale è stata registrata. | PA segue le regole di notifica, gli altri utilizzano l'impostazione predefinita “disponibile”. |
resolve_handoff_destination | destinazione – testo libero fornito dal chiamante. | Può restituire: exact_contact, multiple_contacts, no_contact. | Requisiti:: allowed_search=True |
Resolution: exact_contact ext|name|department|available|can_receive_email 801|Sales Team|Sales|true|false | |||
set_detected_language | lingua – nome della lingua rilevata. | Conferma che la lingua è stata memorizzata. | Requisiti:: switch_language=True |
spam_detected | motivo – spiegazione del motivo per cui la chiamata è stata classificata come spam. | Conferma che il segnale di spam è stato registrato. | |
take_handoff_decision | Genere – trasferimento, segreteria telefonica, chat, e-mail. destinazione – numero di interno. | Conferma che la decisione di trasferimento è stata registrata. | |
take_hostility_action | motivo – spiegazione del comportamento ostile rilevato. | Conferma che il segnale di ostilità è stato registrato. | |
take_not_collaborative_action | motivo – spiegazione del comportamento rilevato. | Conferma che il segnale di collaborazione è stato registrato. | |
vector_store_search | vs_id – identificatore dell’archivio dei vettori. query – query di ricerca. top_k – numero massimo di risultati da restituire. | Risultati rilevanti recuperati dall'archivio vettoriale specificato. | Richiede uno o più archivi vettoriali configurati. |
Per saperne di più
Ultimo aggiornamento
Questo documento è stato aggiornato il 21 agosto 2026
https://www.3cx.com/docs/agentic-ai-tools/
