# Activadores de un flujo

> El activador decide cuándo arranca un flujo de Agentclic: desde la conversación, al recibir un webhook, a una hora programada o con un lead de Meta.

URL: https://agentclic.com/docs/flujos/activadores
Última revisión: 2026-11-02

El activador es el primer paso de cada flujo y decide cuándo arranca. En Agentclic un flujo puede arrancar desde la conversación del agente (**Inicio manual**), cuando otro programa le envía datos (**Webhook**), a una hora fija (**Programado**) o cuando alguien rellena un formulario instantáneo de Meta (**Lead de Meta**). Cada flujo tiene un solo activador.

## Cómo elegir el activador

1. En el [editor](https://agentclic.com/docs/flujos/editor-de-flujos), haz clic en el primer paso del flujo.
2. En **«Variante del trigger»**, elige el tipo.
3. Configura sus campos. El nombre del paso pasa a ser el del activador.

| Activador | Úsalo cuando… | Datos que aporta |
|---|---|---|
| **Inicio (manual)** | El agente debe hacer algo durante una conversación, o lo vas a llamar desde otro flujo. | `{{input.…}}` |
| **Webhook** | Otra herramienta (un formulario, tu web, n8n, Make…) tiene que lanzar el flujo. | `{{webhook.…}}` |
| **Programado (Cron)** | Algo debe ocurrir solo, a una hora: un resumen diario, un recordatorio semanal… | `{{cron.…}}` |
| **Lead de Meta** | Alguien deja sus datos en un formulario instantáneo de Facebook o Instagram. | `{{lead.…}}` |

## Inicio (manual)

Es el activador por defecto. El flujo arranca cuando:

- el agente lo usa durante una conversación (ver [Qué son los flujos](https://agentclic.com/docs/flujos/que-son-los-flujos#como-usa-el-agente-los-flujos-en-una-conversacion)), o
- otro flujo lo llama con el paso [Llamar a otro flujo](https://agentclic.com/docs/flujos/pasos-de-un-flujo#llamar-a-otro-flujo).

Los datos que recibe son las [entradas del flujo](https://agentclic.com/docs/flujos/editor-de-flujos#entradas-del-flujo). Se leen con `input`: por ejemplo `{{input.telefono}}`.

## Webhook

El flujo arranca cuando un programa externo envía una petición a su dirección web.

### Configurarlo

1. Elige **Webhook** como variante. El editor guarda el flujo y activa la dirección.
2. Copia la **URL del webhook** con el botón de copiar.
3. Copia el **Secreto**. Quien llame debe enviarlo en la cabecera `X-Webhook-Secret`.
4. Configura la otra herramienta para que envíe una petición `POST` a esa URL, con los datos en JSON y la cabecera del secreto. El editor muestra un **«Ejemplo curl»** listo para copiar.

```
curl -X POST {tu-url-del-webhook} \
  -H "Content-Type: application/json" \
  -H "X-Webhook-Secret: {tu-secreto}" \
  -d '{"nombre": "Ana", "telefono": "+34600000000"}'
```

Los datos recibidos se usan en los pasos siguientes como `{{webhook.campo}}`, por ejemplo `{{webhook.telefono}}`. Si lo que llega no es JSON, el contenido completo está en `{{webhook.raw}}`.

> **Importante:** Trata el secreto como una contraseña. Si crees que alguien lo conoce, pulsa **«Regenerar»** y actualiza la herramienta que llama al webhook: el secreto anterior deja de funcionar.

### Capturar un ejemplo sin ejecutar el flujo

Para saber qué datos llegan antes de montar los pasos:

1. Pulsa **«Escuchar»**. Durante 2 minutos, la siguiente petición se guarda **sin ejecutar el flujo**.
2. Lanza la petición desde tu herramienta.
3. Cuando veas **«Payload capturado»**, ya puedes elegir sus campos en los pasos siguientes. La captura aparece en **«Última captura»** y se borra con **«Limpiar»**.

### Respuestas que recibe quien llama

| Situación | Respuesta |
|---|---|
| El flujo se ha ejecutado | Código 200 con un JSON que indica si fue bien (`ok`), el nombre del flujo y los pasos ejecutados. |
| El flujo ha fallado o está desactivado | Código 500 con el error. |
| Falta la cabecera del secreto o no coincide | Código 401 con `{"error": "…"}`. |
| El flujo no está configurado como webhook | Código 404 con `{"error": "Webhook no configurado para este flujo."}` |
| El editor está escuchando | Se guarda el ejemplo y el flujo no se ejecuta. |

## Programado (Cron)

El flujo arranca solo, a la hora que indiques.

### Configurarlo

1. Elige **Programado (Cron)** como variante.
2. Usa una **programación rápida** (cada 5 minutos, cada hora, cada día a las 09:00, cada lunes a las 09:00 o el primer día del mes) o escribe tu propia **expresión cron**.
3. Indica la **zona horaria**. Por defecto, Europe/Madrid.
4. Opcional: en **«Payload JSON»** escribe datos fijos que el flujo recibirá como `{{cron.campo}}`.
5. Deja marcada la casilla **«Cron activo»**.

**Cómo se escribe una expresión cron**
Tiene 5 campos separados por espacios: minuto, hora, día del mes, mes y día de la semana. La precisión mínima es de 1 minuto.

| Expresión | Significado |
|---|---|
| `0 9 * * *` | Todos los días a las 09:00 |
| `30 8 * * 1-5` | De lunes a viernes a las 08:30 |
| `0 * * * *` | Al principio de cada hora |
| `0 10 1 * *` | El día 1 de cada mes a las 10:00 |


> **Importante:** Un flujo programado **solo se ejecuta si el agente está Activo** y tu cuenta tiene un plan activo o en prueba. Si no, la ejecución aparece en Ejecuciones con el motivo y el flujo no hace nada.

## Lead de Meta

El flujo arranca cuando llega un cliente potencial de un **formulario instantáneo de Meta** (Facebook o Instagram). Úsalo para responder al momento: enviar una plantilla de WhatsApp, mover el contacto de etapa o avisar al comercial.

> **Nota:** El activador Lead de Meta forma parte del plan **Agentes ilimitados**. Si tu plan no lo incluye, al guardar verás «Tu plan no incluye los leads de Meta.».

### Antes de empezar

- El agente debe estar asignado a un **cliente**.
- La página de Facebook de ese cliente debe estar conectada, con los formularios activados, en **Clientes › Configuración del cliente › Clientes potenciales de Meta**. Ver [Leads de Meta](https://agentclic.com/docs/canales/leads-de-meta).

Si falta algo, el panel del activador te lo indica con el enlace **«Conecta la página de Facebook en el panel del cliente»**.

### Configurarlo

1. Elige **Lead de Meta** como variante.
2. En **«Formularios que disparan este flujo»**, pulsa cada formulario que deba lanzarlo. Si no eliges ninguno, el flujo se dispara con los leads de **cualquier formulario activo** (al guardar verás el aviso «No has elegido formularios de Meta: escuchará todos los del agente.»).
3. Guarda el flujo para activar la escucha.

Si no aparece ningún formulario, verás «No hay formularios con la captación activada. Actívalos en la conexión de Meta del cliente.».

### Datos del lead

Los datos se leen con `lead`. Hay tres grupos:

| Grupo | Variables |
|---|---|
| **Respuestas del formulario**, con el nombre que tenga cada campo en Meta | Por ejemplo `{{lead.email}}`, `{{lead.full_name}}` o `{{lead.phone_number}}`. |
| **Datos asignados en el CRM**, según la [asignación de campos](https://agentclic.com/docs/canales/leads-de-meta#asignar-los-campos) | `{{lead.contact_id}}`, `{{lead.name}}`, `{{lead.email}}`, `{{lead.phone}}`, `{{lead.company}}`, `{{lead.notes}}` y `{{lead.custom.Nombre del campo}}` para cada campo personalizado. |
| **Origen** | `{{lead.campaign_name}}`, `{{lead.adset_name}}`, `{{lead.ad_name}}`, `{{lead.form_name}}`, sus identificadores (`{{lead.campaign_id}}`, `{{lead.adset_id}}`, `{{lead.ad_id}}`, `{{lead.form_id}}`), `{{lead.page_id}}`, `{{lead.leadgen_id}}`, `{{lead.created_time}}`, `{{lead.platform}}` e `{{lead.is_organic}}`. |

El panel **«Campos del formulario disponibles como variables»** muestra los campos de cada formulario elegido: pulsa uno para copiar su variable.

> **Consejo:** Usa `{{lead.contact_id}}` en los [pasos del CRM](https://agentclic.com/docs/flujos/pasos-del-crm) para mover de etapa al contacto que acaba de entrar, y `{{lead.phone}}` como destinatario de [Enviar plantilla WhatsApp](https://agentclic.com/docs/flujos/pasos-de-un-flujo#enviar-plantilla-whatsapp).

Los nombres de campaña, conjunto y anuncio pueden llegar vacíos si Meta no los comparte.

### Probar con datos reales

Tienes dos formas de tener un lead de ejemplo para montar y probar los pasos siguientes:

- **«Usar un lead real como ejemplo»**: elige el formulario y pulsa **«Cargar leads»**. Pulsa uno de la lista: verás «Lead cargado como ejemplo del activador».
- **«Capturar un lead de ejemplo»**: pulsa **«Escuchar 2 min»** y envía un lead de prueba desde la herramienta de pruebas de clientes potenciales de Meta. Se guarda su estructura **sin ejecutar el flujo**. Puedes pararlo con **«Detener»**.

### Cuándo se ejecuta

- Cada lead se guarda primero en el CRM del cliente y **después** se lanzan los flujos.
- Se ejecutan los flujos de todos los agentes del cliente que tengan este activador y escuchen ese formulario.
- Un flujo **desactivado** no se ejecuta.
- Cada ejecución aparece en la pestaña **Ejecuciones** del agente.

Como no hay conversación abierta, el paso **Mensaje** necesita un canal y un destinatario. Ver [Pasos de un flujo](https://agentclic.com/docs/flujos/pasos-de-un-flujo#mensaje).

## Problemas frecuentes

### El webhook responde con un error 401

La herramienta que llama no envía el secreto actual. Copia de nuevo el secreto (y comprueba que no lo hayas regenerado) y envíalo en la cabecera `X-Webhook-Secret`.

### Mi flujo programado no se ha ejecutado

Revisa que el agente esté **Activo**, que el flujo esté activo, que la casilla «Cron activo» esté marcada y que la zona horaria sea la correcta. En la pestaña **Ejecuciones** del agente verás el motivo si se saltó.

### Un mensaje enviado desde un flujo programado no llega

Un flujo que arranca solo no tiene conversación abierta, así que el paso Mensaje necesita un canal y un destinatario. Ver [Pasos de un flujo](https://agentclic.com/docs/flujos/pasos-de-un-flujo#mensaje).

### Un flujo con Lead de Meta no se ha ejecutado

Comprueba que el flujo esté activo, que el formulario esté marcado en **«Formularios que disparan este flujo»** (o ninguno, para escuchar todos), que esté activado en la conexión de Meta del cliente y que el lead se haya guardado en el CRM. Ver [Leads de Meta](https://agentclic.com/docs/canales/leads-de-meta#problemas-frecuentes).
