Automatizar con Workflows
Los workflows de NocoBase permiten automatizar acciones cuando cambian tus datos. Por ejemplo: enviar email cuando se crea un pedido, actualizar inventario al vender, etc.
Acceder a Workflows
- Ve a Settings (engranaje)
- Busca Workflow en el menu
- Si no aparece, activa el plugin en Plugin manager
Crear un workflow
- Clic en Add new
- Dale un nombre descriptivo
- Selecciona el tipo de trigger
Tipos de trigger
Collection event
Se ejecuta cuando cambian datos en una coleccion.
Eventos disponibles:
- After record created - Al crear registro
- After record updated - Al actualizar
- After record deleted - Al eliminar
Configuracion:
- Selecciona la coleccion
- Elige el evento
- Opcionalmente filtra: "Solo cuando estado = 'Activo'"
Schedule
Se ejecuta periodicamente (como un cron).
Ejemplos:
- Cada hora
- Todos los dias a las 9am
- Cada lunes
Form event
Se ejecuta cuando se envia un formulario especifico.
Nodos de accion
Update record
Actualiza campos de un registro.
Ejemplo: Cuando estado cambia a "Pagado", actualizar fecha_pago = hoy
Create record
Crea un nuevo registro en otra coleccion.
Ejemplo: Al crear cliente, crear tarea de bienvenida
HTTP request
Llama a una API externa.
Ejemplo: Enviar datos a un webhook de n8n o Zapier
Condition
Bifurca el flujo segun una condicion.
Ejemplo: Si total > 1000, ir por rama A, sino rama B
Calculation
Realiza calculos matematicos.
Loop
Repite acciones para multiples registros.
Ejemplo: Notificar al crear pedido
Objetivo
Cuando se crea un pedido > $500, enviar notificacion.
Pasos
-
Trigger: Collection event > Pedidos > After created
-
Condition: total > 500
- Si: continuar
- No: terminar
-
HTTP Request:
URL: https://tu-webhook.com/nuevo-pedido
Method: POST
Body: {
"pedido": "{{$trigger.numero}}",
"cliente": "{{$trigger.cliente.nombre}}",
"total": {{$trigger.total}}
}
Ejemplo: Actualizar inventario
Objetivo
Al marcar pedido como "Enviado", reducir stock del producto.
Pasos
-
Trigger: Collection event > Pedidos > After updated
- Condicion: estado cambio a "Enviado"
-
Loop: Para cada producto en el pedido
-
Update record: Productos
- stock = stock - cantidad_vendida
Usar variables
En cualquier nodo puedes usar variables:
| Variable | Descripcion |
|---|---|
{{$trigger.campo}} | Dato del registro que disparo |
{{$trigger.campo.subcampo}} | Dato de relacion |
{{$node.nombre.output}} | Salida de otro nodo |
{{$date.now}} | Fecha/hora actual |
Debug de workflows
- Activa el workflow (toggle verde)
- Ejecuta la accion que lo dispara
- Ve a la pestana Executions
- Revisa cada paso y su resultado
Tips
- Prueba con datos de prueba primero
- Usa condiciones para evitar loops infinitos
- Los workflows se ejecutan en background
- Revisa los logs de ejecucion si falla