Configuracion de las Acciones del Agentes IA
Este documento describe como se puede agregar en el archivoagent.config.json, acciones que se pueden ejecutar en el Agente de IA, como por ejemplo:
- Apagar un agente de IA.
- Asignar una fase al contacto.
- Asignar una etiqueta al contacto.
- Asignar una segmentacion al contacto.
- Asignar un agente humano al contacto.
- Marcar como resuelto.
- Gestionar eventos (citas, reuniones, etc.).
Github
Puedes descargar nuestro repositorio de ejemplo para crear tus agentes.
Estructura
Campos de la Accion
| Campo | Tipo | Descripcion |
|---|---|---|
intent | string | Identificador unico de la intencion de la action. (por ejemplo, "conversar_humano"). |
reference | string | Frase corta y descriptiva que ayuda a la IA a entender cuando debe activarse esta action. |
tags | string[] | Etiquetas para complementar la reference con contexto adicional. |
enabled | boolean | Indica si la action esta activa (true) o no (false). |
requiredFields | array | Campos que el agente debe recopilar del usuario antes de ejecutar la accion. Funciona igual que en los servicios. |
responseMessage | string | Mensaje que el agente devuelve al usuario tras ejecutar la action. Soporta variables: {{variable}}, {variable}, @variable. |
responseJson | boolean | Si la action debe devolver un JSON (true) o texto plano (false). Solo aplica en orquestador clasico. |
responseExact | boolean | Si el responseMessage se envia exactamente al usuario sin reformulacion del LLM. Solo aplica en modo Tool Calling. Default: false. |
action | array | Arreglo de objetos con type y value que definen las acciones a ejecutar. |
Tipos de Accion
| Tipo | Descripcion |
|---|---|
action.asign | Asigna un agente humano al contacto. El value es el email del agente. |
action.stage | Asigna una fase/etapa al contacto. |
action.agentShutDown | Apaga el agente de IA para el contacto. El value debe ser "true". |
action.segmentation | Asigna una segmentacion al contacto. |
action.tag | Asigna una etiqueta al contacto. |
action.solved | Marca la conversacion como resuelta. El value debe ser "true". |
action.event.add | Crea un nuevo evento/cita en el calendario. |
action.event.update | Actualiza un evento existente. |
action.event.delete | Elimina un evento. |
action.event.list | Lista los eventos disponibles. |
action.event.confirm | Confirma un evento pendiente. |
action.event.cancel | Cancela un evento existente. |
Las acciones de tipo
action.event.* requieren que el agente tenga configurado un calendario. Cuando se configuran acciones de eventos, el sistema inyecta automaticamente una herramienta de consulta de disponibilidad (check_availability) para que el agente pueda verificar horarios libres antes de agendar.Asignar un agente humano
Asignar una fase
Apagar un agente de IA
Asignar una segmentacion
Asignar una etiqueta
Marcar como resuelto
Campos Requeridos en Acciones
Las acciones tambien soportanrequiredFields, que funcionan de la misma forma que en los servicios. Esto es util cuando la accion necesita datos del usuario antes de ejecutarse (por ejemplo, una fecha para agendar un evento).
Comportamiento de Respuesta
Modo Tool Calling (useToolCalling: true):
Con responseExact: true:
- Ejecuta las acciones
- Envia el
responseMessageexacto al usuario (con variables sustituidas) - El LLM no reformula el mensaje
responseExact: false (default):
- Ejecuta las acciones
- El LLM genera una respuesta natural basada en el resultado
- Mas inteligente y conversacional
useToolCalling: false):
responseJson: false:
- Ejecuta las acciones
- Responde con mensaje fijo
- Util para confirmaciones simples
responseJson: true:
- Ejecuta las acciones
- Responde con JSON estructurado
- Ideal para integraciones con APIs/webhooks
TypeScript
Consideraciones
Elaction tambien se puede agregar dentro de un servicio, para que se ejecute cuando se active el servicio como un campo mas adicional. En caso de que se agregue dentro de un servicio, se debe agregar el campo action dentro del servicio y solo ejecutara las acciones y no analizara el mensaje del usuario ya que las referencias ya se encuentran en el servicio.
