Agentes IA de 3CX: Herramientas de Agente
Introducción
Las herramientas para agentes permiten a estos interactuar con el PBX y con las personas que llaman, realizando funciones como la transferencia de llamadas y la búsqueda de información. En este documento, enumeramos las herramientas disponibles para cada tipo de agente, junto con su función.
Conceptos Básicos de Uso y Formato
Las indicaciones del Agente IA de 3CX utilizan la sintaxis de Mustache. En esta sección se ofrece una descripción general de dicha sintaxis. Comprender estas reglas garantiza la integración correcta de las herramientas de los agentes en los prompts del Agente IA de 3CX.
- Las variables se invocan utilizando la sintaxis de Mustache, colocando el identificador entre llaves.
- {{...}} o {{{...}}} -> (sin #, ^ ni /) devuelve (reproduce) el contenido sin procesar de una variable directamente en esa ubicación (sin codificación HTML).
- Podemos incluir una sección de indicador dentro de un bloque; el contenido solo se mostrará en el texto final del indicador si una variable cumple una condición.
- Tenemos la opción de que el resultado de la prueba sea positivo
- {{#...}} -> el bloque solo se abre si la variable tiene contenido o es TRUE.
- {{/…}} -> cierre de bloque.
- o un resultado negativo en la prueba:
- {{^...}} -> el bloque solo se abre si la variable está vacía o es FALSE.
- {{/…}} -> cierre de bloque.
- Las herramientas de agente pueden "invocarse" por su nombre, pero el Agente IA las llama cuando determina que son necesarias.
A continuación se muestran dos ejemplos, en los que se utilizan los destinos de desvío de llamadas Enrutar por Tema que define en la pestaña Enrutamiento de Llamadas del Agente IA de 3CX.
En nuestros ejemplos, utilizaremos:
- la variable addressbook_topics - esta variable contiene todas las entradas de Ruta por Tema que haya configurado; se complementa con los Temas cada vez que el agente se inicia o se reinicia; funciona como una variable del sistema.
- la herramienta get_addressbook - una herramienta de Agente que recupera las entradas de los Temas configurados cuando se solicita.
- la herramienta resolve_handoff_destination - una herramienta de Agente que resuelve solicitudes en lenguaje natural para destinatarios (extensiones).
Ejemplo 1
Las herramientas de Agente pueden mencionarse en la indicación principal, junto con instrucciones para el Agente IA sobre su uso, lo que le permite decidir libremente cuándo utilizarlas.
If the caller asks for a department or makes a question about a problem first use get_addressbook to check if there are topics related to the question, and use resolve_handoff_destination right away, do not answer informatively first.
En el ejemplo anterior, esta adición a la indicación le permitirá al modelo IA saber qué herramientas están disponibles y, a continuación, le permitirá decidir si debe utilizarlas o no. El texto anterior siempre estará presente en la indicación final resuelta, independientemente de si se hayan establecido Temas.
Ejemplo 2
También puede utilizar la sintaxis de Mustache para agregar algo de lógica básica a la construcción del prompt, omitiendo elementos cuando no sean necesarios; esto puede dar como resultado un prompt final más compacto o más claro.
{{#addressbook_topics}}
If the caller asks for a department or makes a question about a problem check if there are topics related to the question in the following list:
{{addressbook_topics}}
and use resolve_handoff_destination right away, do not answer informatively first.
{{/addressbook_topics}}
{{^addressbook_topics}}
Use resolve_handoff_destination right away, do not answer informatively first.
{{/addressbook_topics}}
En este ejemplo:
- Primero verificamos si addressbook_topics está configurado / existe, y si es así,
- incluimos una lista de esos Temas en el prompt para que el Agente IA
- utilice la herramienta resolve_handoff_destination para encontrar el mejor destino para la llamada, a partir de la lista de Temas (y de la información que tiene sobre nuestros Departamentos y las extensiones de usuarios / sistema).
- Entonces, si no se han configurado addressbook_topics,
- no "contaminamos" la línea de comandos con texto adicional y una lista vacía; en cambio, le pedimos que
- utilice la herramienta resolve_handoff_destination para encontrar el mejor destino para la llamada, basándose en su conocimiento de nuestros Departamentos y de las extensiones de los usuarios / sistema.
En un PBX en el que se haya configurado un solo tema: "Para cualquier problema eléctrico: 106", la definición del prompt anterior generaría el siguiente texto final del prompt, que el Agente IA deberá seguir:
If the caller asks for a department or makes a question about a problem check if there are topics related to the question in the following list:
- For any elecrical issues
and use resolve_handoff_destination right away, do not answer informatively first.
Cabe señalar que los agentes IA ya conocen estas herramientas y sus capacidades. En una llamada estándar que utilice prompts predeterminados, el agente puede utilizarlas sin necesidad de instrucciones explícitas. Sin embargo, si desea influir en el comportamiento del agente o establecer una secuencia de ejecución estricta, puedes indicarle que invoque las herramientas directamente dentro del prompt, tal como se muestra arriba.
Herramientas de Agente en el Chat
El prompt del Agente IA es la misma en todos los agentes, independientemente del canal de comunicación, ya sea de voz o de texto / chat. Las descripciones de la herramienta que se presentan a continuación se centran en el canal de voz, aunque en la mayoría de los casos funcionarán de manera idéntica también en el chat.
Es evidente que ciertas herramientas que se encargan del enrutamiento de llamadas de voz, como el desvío al buzón de voz, no funcionarán en una comunicación basada en texto, y otras realizarán sus acciones de manera ligeramente diferente, pero dentro de las especificaciones que se indican a continuación.
Herramientas de Agentes por Tipo de Agente
Nombre de la Herramienta | Función | Disponibilidad de herramientas por Rol | ||
Recepcionista | Asistente Personal | Servicio al Cliente (U10) | ||
classify_request_before_handoff | Permite que los flujos de trabajo del Asistente Personal distinga entre situaciones de interrupción, notificación y bloqueo. Cuando la persona que llama no es el jefe del Asistente Personal, se guarda la clasificación de la llamada para que el Agente pueda decidir cómo proceder. | No | Sí | No |
drop_call | Permite que el asistente termine la conversación | Sí | Sí | Sí |
find_contact_by_extension | Obtiene información sobre una extensión específica. | Sí | Sí | Sí |
get_addressbook | Carga la lista de Rutas por Tema, lo que permite al agente IA utilizar sus elementos en la conversación, así como elegir destinos. | Sí | Sí | Sí |
get_current_datetime | Devuelve la fecha y la hora actuales tanto en UTC como en la hora local del sistema. | Sí | Sí | Sí |
perform_chat | Inicia el proceso para finalizar la llamada notificando al destinatario correspondiente mediante un mensaje de chat. | Sí | Sí | Sí |
perform_email | Inicia el proceso para dar por terminada la llamada notificando al destinatario correspondiente mediante un correo electrónico. | Sí | Sí | Sí |
perform_transfer | Inicia el proceso para finalizar la llamada transfiriéndola al destino correspondiente. | Sí | Sí | Sí |
perform_voicemail | Inicia el proceso para finalizar la llamada transfiriéndola al buzón de voz del destinatario correspondiente. | Sí | Sí | Sí |
resolve_handoff_destination | Resuelve la solicitud de transferencia de la persona que llama mediante una búsqueda de destino de texto libre entre todos los puntos finales de transferencia permitidos. | Sí | No | Sí |
set_detected_language | Permite que el asistente recuerde el idioma detectado de la persona que llama y lo utilice en interacciones posteriores. | Sí | Sí | Sí |
spam_detected | Registra que la llamada actual ha sido identificada como spam. | Sí | Sí | Sí |
take_handoff_decision | Registra el tipo de transferencia previsto y el número de extensión. | Sí | Sí | Sí |
take_hostility_action | Registra que la persona que llama se está comportando de manera hostil o abusiva. | Sí | Sí | Sí |
take_not_collaborative_action | Registra que la persona que llama no está dispuesta a cooperar con el asistente. | Sí | Sí | Sí |
vector_store_search | Permite al asistente obtener información de bases de conocimiento configuradas y de documentos indexados. | Sí | Sí | Sí |
Herramientas, Entradas y Salidas de Agentes
Nombre de la Herramienta | Entrada | Salida | Requisitos |
classify_request_before_handoff | Clasificaciones disponibles:
| Confirmación de que se ha guardado la clasificación. | |
drop_call | Ninguna | Resultado devuelto por el subsistema de terminación de llamadas. | |
find_contact_by_extension | Número de extensión, por ejemplo, 100. | Una tabla de directorios precedida por un estado de resolución. | |
Resolution: exact_contact ext|name|department|available|can_receive_email 100|John Smith|Sales|true|true | |||
get_addressbook | Ninguna | Una lista que contiene todos los Temas configurados. | |
| |||
get_current_datetime | Ninguna | Una cadena que contiene:
| |
perform_chat | Ninguna (Utiliza la información existente del contexto de la llamada a través de herramientas secundarias que no están expuestas). | Confirmación de que se ha registrado la decisión del chat. | El AP sigue las reglas de notificación; los demás se ajustan por defecto a la opción disponible. |
perform_email | Ninguna (Utiliza la información existente del contexto de la llamada a través de herramientas secundarias que no están expuestas). | Confirmación de que se ha registrado la decisión del chat. | El destinatario debe cumplir los requisitos para recibir correos electrónicos. El AP sigue las reglas de notificación; los demás se configuran por defecto como disponible. |
perform_transfer | Ninguna (Utiliza la información existente del contexto de la llamada a través de herramientas secundarias que no están expuestas). | Confirmación de que se ha registrado la decisión de transferencia. | El AP sigue las reglas de notificación; los demás utilizan la configuración predeterminada disponible. |
perform_voicemail | Ninguna (Utiliza la información existente del contexto de la llamada a través de herramientas secundarias que no están expuestas). | Confirmación de que se ha grabado la decisión sobre el buzón de voz. | El AP sigue las reglas de notificación; los demás utilizan la configuración predeterminada disponible. |
resolve_handoff_destination | destination – destino de texto libre proporcionado por la persona que llama. | Podría regresar: exact_contact, multiple_contacts, no_contact. | Requiere: allowed_search=True |
Resolution: exact_contact ext|name|department|available|can_receive_email 801|Sales Team|Sales|true|false | |||
set_detected_language | language – nombre del idioma detectado. | Confirmación de que se ha guardado el idioma. | Requiere: switch_language=True |
spam_detected | reason – explicación de por qué la llamada se clasificó como spam. | Confirmación de que se ha registrado la señal de spam. | |
take_handoff_decision | kind – transferencia, buzón de voz, chat, correo electrónico. destination – número de extensión. | Confirmación de que se ha registrado la decisión de transferencia. | |
take_hostility_action | reason – explicación del comportamiento hostil detectado. | Confirmación de que se ha registrado la señal de hostilidad. | |
take_not_collaborative_action | reason – explicación del comportamiento detectado. | Confirmación de que se ha registrado la señal de colaboración. | |
vector_store_search | vs_id – identificador de almacén vectorial. query – consulta de búsqueda. top_k – número máximo de resultados que se mostrarán. | Resultados relevantes recuperados del almacén vectorial especificado. | Requiere uno o más almacenes vectoriales configurados. |
Ver También
Última Actualización
Este documento se actualizó por última vez el 5 de Agosto de 2026
https://www.3cx.es/docs/agentic-ai-tools/


