Acciones del Agente
Este documento describe como se puede agregar acciones al Agente de IA, como por ejemplo:
Asignar un agente humano al contacto.
Desasignar un agente del contacto.
Asignar o remover una etapa al contacto.
Asignar o remover una etiqueta al contacto.
Asignar o remover una segmentacion al contacto.
Marcar como resuelto.
Apagar el agente de IA para la sesion.
Gestionar eventos (crear, actualizar, listar, confirmar, cancelar, eliminar).
Asignar una secuencia al contacto.
Enviar imagenes y archivos al usuario.

Campos de la Accion
Campo | Tipo | Descripcion |
|---|---|---|
|
| Identificador unico de la intencion de la accion. Se usa para detectar que esta solicitando el usuario (por ejemplo, |
|
| Descripcion detallada del contenido de la intencion. Se utiliza para poder darle informacion al agente y sepa la intencion del usuario, como por ejemplo: "Quiero hablar con un agente humano". |
|
| Son referencias para poder entender mas la informacion dentro de la accion. Complementa la |
|
| Indica si la accion esta activada ( |
|
| Campos que el agente debe recopilar del usuario antes de ejecutar la accion. Funciona igual que en los servicios. |
|
| Mensaje que el agente debe de responder al usuario. Soporta variables con formato |
|
| Indica si el agente debe de responder con un JSON estructurado ( |
|
| Indica si el |
|
| Listado de acciones que se ejecutaran. Cada accion tiene un |
Tipos de Acción
Cada acción dentro del arreglo action tiene un type que define que operación se ejecutara y un value que define el parametro de la operación.
Acciones de Asignación
Tipo | Descripción | Valor ( |
|---|---|---|
| Asigna un agente humano al contacto. | Email del agente a asignar. |
| Desasigna al agente humano del contacto. | No requiere valor. |
Acciones de Etapas
Tipo | Descripción | Valor ( |
|---|---|---|
| Asigna una etapa al contacto. | Nombre de la etapa (debe existir en el workspace). |
| Remueve la etapa actual del contacto. | No requiere valor. |
Acciones de Segmentación
Tipo | Descripción | Valor ( |
|---|---|---|
| Asigna una segmentación al contacto. | Nombre de la segmentación (debe existir en el workspace). |
| Remueve la segmentación actual del contacto. | No requiere valor. |
Acciones de Etiquetas
Tipo | Descripcion | Valor ( |
|---|---|---|
| Agrega una etiqueta al contacto. | Nombre de la etiqueta (debe existir en el workspace). |
| Remueve una etiqueta especifica del contacto. | Nombre de la etiqueta a remover. |
Acciones de Estado
Tipo | Descripcion | Valor ( |
|---|---|---|
| Marca la conversacion como resuelta o pendiente. |
|
| Desactiva o activa el agente de IA para la sesion actual. |
|
Acciones de Eventos (Calendario)
Tipo | Descripcion | Valor ( |
|---|---|---|
| Crea un nuevo evento/cita en el calendario. | Nombre descriptivo del tipo de evento. |
| Actualiza un evento existente. | - |
| Lista los eventos del contacto. | - |
| Confirma un evento pendiente. | - |
| Cancela un evento existente. | - |
| Elimina un evento del calendario. | - |
Acciones de Secuencias
Tipo | Descripcion | Valor ( |
|---|---|---|
| Asigna una secuencia automatizada al contacto. | ID de la secuencia a iniciar. |
Acciones de Envio de Archivos
Tipo | Descripcion | Valor ( |
|---|---|---|
| Envia una imagen al usuario por el canal de la conversacion. | URL publica de la imagen (se genera al subir el archivo desde la interfaz). |
| Envia un archivo o documento al usuario por el canal de la conversacion. | URL publica del archivo (se genera al subir el archivo desde la interfaz). |
Referencia Detallada de Cada Accion
action.asign - Asignar Agente Humano
Asigna un agente humano al contacto. El contacto aparecera en la bandeja del agente asignado.
Que sucede al ejecutarse:
Busca al usuario por email dentro del workspace.
Asigna el contacto a ese agente.
Envia un email de notificacion al agente asignado.
Crea una entrada en la bandeja de entrada (inbox) del agente.
Registra la asignacion en el historial del contacto.
Emite evento en tiempo real (SignalR) para actualizar la interfaz.
action.unassign - Desasignar Agente
Remueve al agente humano asignado del contacto.
Que sucede al ejecutarse:
Limpia el agente asignado, nombre del agente y fecha de asignacion.
Registra la desasignacion en el historial del contacto.
action.stage - Asignar Etapa
Asigna una etapa (fase) al contacto. Las etapas deben estar previamente configuradas en el workspace.
Que sucede al ejecutarse:
Busca la etapa por nombre en la configuracion del workspace (
masterOfStages).Asigna el ID de la etapa al contacto.
Registra el cambio de etapa en el historial.
action.stage.remove - Remover Etapa
Remueve la etapa actualmente asignada al contacto.
action.segmentation - Asignar Segmentacion
Asigna una segmentacion al contacto. Las segmentaciones deben estar previamente configuradas en el workspace.
Que sucede al ejecutarse:
Busca la segmentación por nombre en la configuración del workspace (
masterOfSegmentation).Asigna el ID de la segmentación al contacto.
Registra el cambio en el historial.
action.segmentation.remove - Remover Segmentación
Remueve la segmentación actualmente asignada al contacto.
action.tag - Agregar Etiqueta
Agrega una etiqueta al contacto. Un contacto puede tener multiples etiquetas simultaneamente.
Que sucede al ejecutarse:
Busca la etiqueta por nombre en la configuración del workspace (
masterOfTags).Agrega la etiqueta a la lista del contacto (evita duplicados).
Registra el cambio en el historial.
action.tag.remove - Remover Etiqueta
Remueve una etiqueta especifica del contacto.
action.solved - Marcar como Resuelto
Marca la conversacion del contacto como resuelta o la reabre.
Que sucede al ejecutarse:
Si
valuees"true":Marca la conversacion como resuelta (
isSolved = true).Registra la fecha de resolucion.
Si el workspace tiene la opcion "Limpiar datos al resolver" activada (
fCleanContactDataOnSolve), se limpian automaticamente: segmentacion, etapa y etiquetas del contacto.
Si
valuees"false":Reabre la conversacion (
isSolved = false).
action.agentshutdown - Desactivar Agente IA
Desactiva o reactiva el agente de IA para la sesion actual del contacto. Esto es util cuando se transfiere la conversacion a un agente humano y se necesita que el bot deje de responder.
Valor | Comportamiento |
|---|---|
| Desactiva el agente de IA. No respondera hasta que se reactive manualmente. |
| Reactiva el agente de IA para el contacto. |
action.secuence - Asignar Secuencia
Asigna una secuencia automatizada al contacto. Las secuencias permiten ejecutar una serie de pasos programados (mensajes, esperas, acciones) de forma automatica.
Que sucede al ejecutarse:
Busca la secuencia por ID.
Obtiene el primer paso de la secuencia.
Asigna la secuencia al contacto con estado activo.
El orquestador de secuencias continuara ejecutando los pasos automaticamente.
action.send.image - Enviar Imagen
Envia una imagen al usuario por el canal de la conversacion. La imagen se sube previamente desde la interfaz del agente (Entrenamiento → Actions → subir archivo) y el sistema genera la URL publica automaticamente.
Que sucede al ejecutarse:
En WhatsApp, la imagen se entrega como imagen nativa (el usuario la ve directamente en el chat).
En el chat de prueba y el widget web, la imagen se muestra como miniatura clickeable.
El mensaje se guarda en la conversacion del contacto como tipo
IMAGE.El
responseMessage(si esta configurado) se envia como mensaje de texto aparte.El agente de IA no pega la URL en su respuesta: el archivo viaja como mensaje nativo del canal.
action.send.file - Enviar Archivo
Envia un archivo o documento al usuario por el canal de la conversacion. Es ideal para compartir catalogos en PDF, listas de precios, formularios, manuales, etc.
Que sucede al ejecutarse:
En WhatsApp, el archivo se entrega como documento descargable con su nombre original.
En el chat de prueba y el widget web, el archivo se muestra como una tarjeta con enlace de descarga.
El mensaje se guarda en la conversacion del contacto como tipo
DOCUMENT.El
responseMessage(si esta configurado) se envia como mensaje de texto aparte.El agente de IA no pega la URL en su respuesta: el archivo viaja como mensaje nativo del canal.
Acciones de Eventos (Calendario)
Las acciones de tipo action.event.* permiten gestionar citas, reuniones y eventos directamente desde el agente de IA. Si el workspace tiene integrado Google Calendar, los eventos se sincronizan automaticamente.
action.event.add - Crear Evento
Crea un nuevo evento o cita en el calendario del contacto.
Parametros recopilados del usuario (via requiredFields):
Parametro | Aliases aceptados | Descripcion |
|---|---|---|
Titulo |
| Titulo del evento. |
Descripcion |
| Descripcion o motivo del evento. |
Fecha inicio |
| Fecha y hora de inicio. |
Fecha fin |
| Fecha y hora de fin (opcional). |
Color |
| Color del evento (por defecto: |
Duracion |
| Duracion en minutos (por defecto: |
Que sucede al ejecutarse:
Valida que no existan conflictos de horario con otros eventos.
Crea el evento local con los datos recopilados.
Si el workspace tiene Google Calendar integrado, sincroniza el evento automaticamente.
Retorna informacion del evento creado al agente.
action.event.update - Actualizar Evento
Actualiza un evento existente del contacto.
Parametros recopilados del usuario:
Parametro | Aliases aceptados | Descripcion |
|---|---|---|
ID del evento |
| ID del evento a actualizar. |
Titulo |
| Nuevo titulo (opcional). |
Fecha inicio |
| Nueva fecha de inicio (opcional). |
Fecha fin |
| Nueva fecha de fin (opcional). |
Que sucede al ejecutarse:
Busca el evento por ID.
Actualiza los campos proporcionados (valida conflictos si cambia la fecha).
Sincroniza los cambios con Google Calendar si aplica.
action.event.list - Listar Eventos
Lista todos los eventos del contacto asociados al agente actual.
Que sucede al ejecutarse:
Filtra eventos por agente (cada agente solo ve sus propios eventos).
Retorna la lista formateada con: titulo, fecha, estado y detalles.
El agente puede presentar la informacion al usuario de forma conversacional.
action.event.confirm - Confirmar Evento
Confirma un evento que esta pendiente.
Parametros recopilados del usuario:
Parametro | Aliases aceptados | Descripcion |
|---|---|---|
ID del evento |
| ID del evento a confirmar. Si no se especifica, confirma el ultimo evento creado. |
Que sucede al ejecutarse:
Busca el evento por ID (o usa el ultimo si no se especifica).
Cambia el estado del evento a
"confirmed".Registra la fecha de confirmacion.
action.event.cancel - Cancelar Evento
Cancela un evento existente sin eliminarlo.
Que sucede al ejecutarse:
Cambia el estado del evento a
"cancelled".Registra la fecha de cancelacion.
Sincroniza el cambio con Google Calendar si aplica.
action.event.delete - Eliminar Evento
Elimina un evento del calendario de forma permanente.
Parametros recopilados del usuario:
Parametro | Aliases aceptados | Descripcion |
|---|---|---|
ID del evento |
| ID del evento a eliminar. Si se envia |
Que sucede al ejecutarse:
Busca el evento por ID.
Si el evento esta sincronizado con Google Calendar, lo elimina tambien de Google.
Remueve el evento del array de eventos del contacto de forma permanente.
Herramienta de Disponibilidad (Auto-inyectada)
Cuando el agente tiene configurada al menos una accion action.event.add, el sistema inyecta automaticamente la herramienta check_availability. El agente de IA la utiliza antes de crear un evento para verificar horarios disponibles.
Parametros que recibe la herramienta:
Parametro | Tipo | Descripcion |
|---|---|---|
|
| Fecha a consultar en formato |
|
| Duracion de la cita en minutos (por defecto usa el |
Respuesta de la herramienta:
Campos Requeridos en Acciones
Las acciones soportan requiredFields, que funcionan de la misma forma que en los servicios. Esto es util cuando la acción necesita datos del usuario antes de ejecutarse (por ejemplo, una fecha para agendar un evento).
Tipos de campos soportados:
Tipo | Descripcion |
|---|---|
| Texto libre. |
| Valor numerico. |
| Verdadero o falso. |
| Fecha y hora. |
| Lista de valores. |
| Lista de objetos. |
Las variables recopiladas en requiredFields se pueden usar en el responseMessage con los formatos {{variable}}, {variable} o @variable.
Tipos de Respuesta
Las acciones del agente tienen configuraciones que determinan como responde despues de ejecutar las acciones:
responseExact (Tool Calling)
Cuando el agente esta en modo Tool Calling (useToolCalling: true), el resultado de una accion normalmente pasa al LLM, que reformula el mensaje antes de enviarlo al usuario. Con responseExact: true, el responseMessage se envia directamente al usuario sin pasar por el LLM.
Valor | Comportamiento |
|---|---|
| Ejecuta las acciones + envia el |
| Ejecuta las acciones + el LLM genera una respuesta basada en el resultado (comportamiento por defecto). |
Ejemplo con responseExact = true:
Ejemplo con responseExact = false:
responseJson (Orquestador Clasico)
Controla el formato de la respuesta cuando se consume via API/SDK. Solo aplica en el orquestador clasico (sin Tool Calling).
Valor | Formato de Respuesta |
|---|---|
| Texto plano. |
| JSON estructurado. |
Ejemplo con responseJson = false:
Ejemplo con responseJson = true:
Casos de Uso Comunes
1. Transferir a Agente Humano
Asigna un agente humano, desactiva el bot y responde con mensaje fijo.
2. Clasificar Lead Automaticamente
Etiqueta y segmenta al contacto segun la intencion detectada. El LLM genera la respuesta.
3. Agendar Cita con Campos Requeridos
El agente recopila los datos necesarios, crea el evento y responde con mensaje exacto.
4. Resolver Conversacion y Etiquetar
Marca la conversacion como resuelta y agrega una etiqueta de cierre.
5. Accion para API/Webhook (JSON)
Respuesta JSON estructurada para integraciones externas via API/SDK.
6. Enviar Catalogo en PDF
Cuando el usuario pide el catalogo, el agente envia el archivo PDF y etiqueta al contacto como interesado.
Flujo de Ejecución
El siguiente diagrama muestra como se procesan las acciones dentro del flujo del agente:
Detección de Intención El usuario envia un mensaje. El LLM analiza el
referenceytagsde cada accion para determinar si alguna coincide con la intención del usuario.Recopilación de Campos Si la accion tiene
requiredFields, el agente recopila los datos necesarios del usuario de forma conversacional antes de ejecutar.Ejecución de Acciones El sistema ejecuta cada accion del arreglo
actionen orden secuencial. Cada accion actualiza el contacto, emite eventos en tiempo real y registra el cambio en el historial.Respuesta al Usuario Segun la configuración: si
responseExactestrue, envia elresponseMessagetextual. Si esfalse, el LLM genera una respuesta natural basada en el resultado de las acciones.
Was this article helpful?
Your feedback helps us improve the documentation.