PTENES
MÓDULO 4.2

🔁 Primera automatización de punta a punta

Ahora vas a crear un flujo de verdad: desde el disparador hasta la acción visible, con la IA en medio. Trigger por webhook o programación, recopilación de la entrada, llamada al LLM, análisis de la salida, ejecución de la acción y lectura de la ejecución.

6
Temas
50
Minutos
Práctico
Nivel
Manos a la obra
Tipo
Trigger Recopilar IA / LLM Parse Acción Observar

Ilustrativo: los seis pasos de este módulo, en el orden en que se convierten en un solo flujo.

1

⚡ Trigger

O trigger define la naturaleza de la automatización. Un Webhook la hace reactiva (alguien envía datos y ella responde); un Schedule la hace proactiva (se ejecuta sola en horarios definidos).

✓ Webhook (reactivo)

  • ✓Formulario enviado, pago aprobado, mensaje recibido.
  • ✓Respuesta en tiempo real al evento.
  • ✓Recibes un payload listo para usar.

✓ Schedule (proactivo)

  • ✓Informe diario, revisión de correos electrónicos cada 15 min.
  • ✓No depende de que alguien lo active.
  • ✓Definido por cron: 0 9 * * 1-5 (9 h en días hábiles).
# payload que llega a un Webhook trigger
POST /webhook/novo-lead
{ "nome": "Ana", "email": "ana@x.com", "mensagem": "Quero um orçamento" }
// disponível no fluxo como: ={{ $json.body.email }}
2

📥 Recopilar datos de entrada

Antes de llamar a la IA, extrae y normaliza los campos que importan. La calidad de la respuesta del modelo es proporcional al contexto que le proporcionas: basura entra, basura sale.

# Set node — creando un contexto limpio
{
  "nome":     "={{ $json.body.nome }}",
  "email":    "={{ $json.body.email.toLowerCase() }}",
  "mensagem": "={{ $json.body.mensagem.trim() }}"
}

📊 Por qué normalizar al ingresar los datos

  • Consistencia - escribir el correo electrónico en minúsculas evita duplicados al guardar.
  • Economía de tokens - enviar solo los campos útiles reduce el costo de la llamada de IA.
  • Validación temprana - bloquear aquí las entradas vacías evita gastar una llamada en vano.
$json.body

Acceder al payload

Nodo Set

Crear contexto

={{ }}

Expresiones

Validación

Bloquear la basura pronto

3

🤖 Llamar a la IA

El corazón de la automatización con IA. Usa el node nativo (OpenAI/Anthropic) cuando existe; si no, el HTTP Request llama a la API directamente. Pide salida en JSON para no sufrir durante el parseo después.

# HTTP Request a un LLM (cuerpo de la solicitud)
{
  "model": "gpt-4o-mini",
  "response_format": { "type": "json_object" },
  "messages": [
    { "role": "system", "content": "Classifique o lead. Responda JSON: {intencao, prioridade}." },
    { "role": "user", "content": "={{ $json.mensagem }}" }
  ]
}

💡 Consejo práctico

Coloca la estructura exacta del JSON que esperas en el system prompt y conecta el json_object modo. Eso reduce drásticamente las salidas mal formadas — y temperature: 0 hace que la clasificación sea más estable.

System prompt

Define el rol y el formato

Modo JSON

Salida estructurada

Temperature

0 = estable

Costo/token

Más contexto = más $

4

🔍 Parsear la salida

La respuesta llega como texto (incluso en modo JSON, viene como una cadena dentro de un campo). Tienes que transformarla en campos reales para que los siguientes nodos puedan usarlos — con un fallback por si llega rota.

# Code node — parseo defensivo
const raw = $json.choices[0].message.content;
let parsed;
try { parsed = JSON.parse(raw); }
catch (e) { parsed = { intencao: "indefinida", prioridade: "baixa" }; }
return [{ json: parsed }];

⚠️ Atención

A veces, los modelos envuelven el JSON en ```json ... ``` o agregan un texto antes. Siempre trata el error de parseo; nunca confíes al 100% en que la salida será perfecta.

5

🎯 Ejecuta la acción

A acción es lo que el cliente percibe y paga: enviar el correo, guardar la fila, insertar el registro. Es el único paso visible; todo lo anterior fue preparación.

# asignando campos en el node de salida (correo electrónico)
Para:     ={{ $json.email }}
Assunto:  Recebemos seu pedido — prioridade ={{ $json.prioridade }}
Corpo:    Olá ={{ $json.nome }}, classificamos como "={{ $json.intencao }}".

🎯 Elige la acción según el destinatario

  • •Correo electrónico — cuando hay que notificar a una persona.
  • •Hoja de cálculo — cuando el equipo hace seguimiento visual.
  • •Base de datos — cuando otro sistema va a consumir el dato.
6

▶️ Ejecutar y observar

Ejecuta el flujo de verdad y inspecciona elemento por elemento. En automatización no usas breakpoints: lees la entrada y la salida de cada node en el panel de ejecución. El bug casi siempre está en el formato de los datos entre dos nodes.

1

Probar el workflow con datos reales

Dispara una vez con un payload de ejemplo. Mira cómo el flujo «se enciende» node por node.

2

Abre cada node y lee la entrada y la salida

Compara lo que entró con lo que salió. Donde el dato «desapareció» es donde está el error.

3

Pin data para iterar rápido

Fija la salida del trigger (pin) y vuelve a ejecutar solo los nodos siguientes sin gastar una nueva llamada de IA.

💡 Consejo práctico

Usa pin data en el trigger durante el desarrollo. Congelas una entrada de ejemplo e iteras en los nodes siguientes en segundos, sin activar webhooks reales ni consumir tokens en cada prueba.

📌 Resumen del módulo

✓
Trigger - webhook (reactivo) o schedule (proactivo) define la naturaleza del flujo.
✓
Recopilar - extraer y normalizar solo los campos útiles; basura en la entrada = basura en la salida.
✓
Llamar a la IA - node nativo o HTTP, JSON mode y temperature 0 para mayor estabilidad.
✓
Parsear - texto → JSON con try/catch y alternativa; nunca confíes al 100% en la salida.
✓
Acción - correo electrónico, hoja de cálculo o base de datos; el único paso que el cliente percibe.
✓
Observar - leer I/O por node y usar pin data para iterar rápido y a bajo costo.

Próximo Módulo:

4.3 - Integraciones y datos (APIs REST, autenticación, base de datos, hojas de cálculo, paginación)