Saltar al contenido principal

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

  1. Ve a Settings (engranaje)
  2. Busca Workflow en el menu
  3. Si no aparece, activa el plugin en Plugin manager

Crear un workflow

  1. Clic en Add new
  2. Dale un nombre descriptivo
  3. 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:

  1. Selecciona la coleccion
  2. Elige el evento
  3. 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

  1. Trigger: Collection event > Pedidos > After created

  2. Condition: total > 500

    • Si: continuar
    • No: terminar
  3. 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

  1. Trigger: Collection event > Pedidos > After updated

    • Condicion: estado cambio a "Enviado"
  2. Loop: Para cada producto en el pedido

  3. Update record: Productos

    • stock = stock - cantidad_vendida

Usar variables

En cualquier nodo puedes usar variables:

VariableDescripcion
{{$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

  1. Activa el workflow (toggle verde)
  2. Ejecuta la accion que lo dispara
  3. Ve a la pestana Executions
  4. 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