- 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.

Tipos de Accion
Cada accion dentro del arregloaction tiene un type que define que operacion se ejecutara y un value que define el parametro de la operacion.
Acciones de Asignacion
Acciones de Etapas
Acciones de Segmentacion
Acciones de Etiquetas
Acciones de Estado
Acciones de Eventos (Calendario)
Acciones de Secuencias
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.
- 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.
- 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.
- 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.
- Busca la segmentacion por nombre en la configuracion del workspace (
masterOfSegmentation). - Asigna el ID de la segmentacion al contacto.
- Registra el cambio en el historial.
action.segmentation.remove - Remover Segmentacion
Remueve la segmentacion actualmente asignada al contacto.
action.tag - Agregar Etiqueta
Agrega una etiqueta al contacto. Un contacto puede tener multiples etiquetas simultaneamente.
- Busca la etiqueta por nombre en la configuracion 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.
- 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.
- Marca la conversacion como resuelta (
- Si
valuees"false":- Reabre la conversacion (
isSolved = false).
- Reabre la conversacion (
Si el workspace tiene activada la opcion de limpiar datos al resolver, al marcar como resuelto se eliminaran la segmentacion, etapa y etiquetas del contacto automaticamente. Ten esto en cuenta al disenar tu flujo de acciones.
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.
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.
- 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.
El
value debe ser el ID de la secuencia, no su nombre. Puedes obtener el ID de la secuencia desde la seccion de Secuencias en el panel de Plazbot.Acciones de Eventos (Calendario)
Las acciones de tipoaction.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.
Cuando configuras al menos una accion de tipo
action.event.add, el sistema inyecta automaticamente una herramienta de consulta de disponibilidad (check_availability) para que el agente pueda verificar horarios libres antes de agendar.action.event.add - Crear Evento
Crea un nuevo evento o cita en el calendario del contacto.
Parametros recopilados del usuario (via requiredFields):
- 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:
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.
- 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.
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.
- 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.
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 accionaction.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:
Respuesta de la herramienta:
La herramienta utiliza la configuracion de horario comercial (
businessHoursConfig) del workspace para calcular los slots disponibles. Asegurate de tener configurados los horarios de atencion correctamente.Campos Requeridos en Acciones
Las acciones 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).
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.
Ejemplo con responseExact = true:
responseJson (Orquestador Clasico)
Controla el formato de la respuesta cuando se consume via API/SDK. Solo aplica en el orquestador clasico (sin Tool Calling).
Ejemplo con responseJson = false:
En modo Tool Calling, la respuesta siempre incluye
actionsExecuted en el resultado del tool, independientemente del valor de responseJson.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.Flujo de Ejecucion
El siguiente diagrama muestra como se procesan las acciones dentro del flujo del agente:1
Deteccion de Intencion
El usuario envia un mensaje. El LLM analiza el
reference y tags de cada accion para determinar si alguna coincide con la intencion del usuario.2
Recopilacion de Campos
Si la accion tiene
requiredFields, el agente recopila los datos necesarios del usuario de forma conversacional antes de ejecutar.3
Ejecucion de Acciones
El sistema ejecuta cada accion del arreglo
action en orden secuencial. Cada accion actualiza el contacto, emite eventos en tiempo real y registra el cambio en el historial.4
Respuesta al Usuario
Segun la configuracion: si
responseExact es true, envia el responseMessage textual. Si es false, el LLM genera una respuesta natural basada en el resultado de las acciones.El ciclo de ejecucion soporta hasta 8 iteraciones de tool calling. Si el agente necesita ejecutar multiples herramientas (por ejemplo, verificar disponibilidad y luego crear un evento), lo hara dentro de este ciclo de forma automatica.

