> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whaapy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Automatizaciones con Meta Lead Ads

> Cómo usar automatizaciones para procesar leads recibidos desde formularios de Meta

# Automatizaciones con Meta Lead Ads

Las automatizaciones con Meta Lead Ads te permiten actuar cuando llega un lead desde Facebook o Instagram.

Puedes crear o actualizar el contacto, mapear campos del formulario, asignar agente, mover el lead a una etapa, enviar un template y notificar a sistemas externos.

***

## Antes de empezar

Necesitas:

<Check>La integración de Meta Lead Ads conectada.</Check>
<Check>Páginas y formularios sincronizados.</Check>
<Check>Templates aprobados si quieres contactar al lead fuera de la ventana permitida.</Check>
<Check>Campos del formulario claros: nombre, teléfono, email y preguntas relevantes.</Check>

Si todavía no ves formularios, revisa la integración en el dashboard: `Integraciones -> Meta Lead Ads`.

***

## Trigger

Usa el trigger `meta_lead_received`.

Puedes configurarlo de tres formas:

| Configuración            | Resultado                      |
| ------------------------ | ------------------------------ |
| Sin página ni formulario | Cualquier lead sincronizado    |
| Página específica        | Leads de esa página            |
| Uno o varios formularios | Solo leads de esos formularios |

<Tip>
  Si tienes campañas con objetivos distintos, crea una automatización por formulario. Es más fácil medir y mantener.
</Tip>

***

## Flujo recomendado

```mermaid theme={null}
flowchart LR
    lead["Lead recibido"] --> updateContact["Actualizar contacto"]
    updateContact --> tag["Agregar tag"]
    tag --> stage["Mover etapa"]
    stage --> assign["Asignar agente"]
    assign --> template["Enviar template"]
    template --> notify["Notificar CRM o n8n"]
```

***

## Paso 1: Actualizar contacto

Usa `update_contact` para mapear respuestas del formulario hacia campos del contacto.

Ejemplo:

```text theme={null}
{{lead.field.full_name}} -> name
{{lead.field.email}} -> email
{{lead.field.company}} -> company
{{lead.field.city}} -> city
{{lead.field.budget}} -> custom:presupuesto
```

El builder puede sugerir mappings cuando seleccionas un formulario específico.

<Note>
  El teléfono normalmente se usa para crear o encontrar el contacto. No necesitas mapearlo manualmente salvo que tengas un caso especial.
</Note>

***

## Paso 2: Clasificar el lead

Acciones útiles:

* `add_tag`: `meta-lead`, `campaña-abril`, `lead-frio`, `lead-caliente`
* `set_custom_field`: guardar campaña, presupuesto o servicio de interés
* `move_funnel_stage`: mover a `Nuevo lead`, `Contactar`, `Cotización`

Mantén una convención simple para tags. Evita crear tags distintos para lo mismo.

***

## Paso 3: Asignar agente

Usa `assign_agent` si alguien debe atender el lead.

Modos recomendados:

| Modo           | Cuándo usarlo                        |
| -------------- | ------------------------------------ |
| `fixed`        | Un solo responsable para esa campaña |
| `round_robin`  | Repartir leads entre vendedores      |
| `least_loaded` | Balancear carga activa               |
| `random`       | Reparto simple sin prioridad         |

Configura fallback para evitar que un lead quede sin dueño.

***

## Paso 4: Enviar template

Si vas a escribir al lead por WhatsApp y no hay ventana activa, usa `send_template`.

Ejemplo:

```text theme={null}
Hola {{contact.first_name}}, vimos que solicitaste información. Soy {{agent.first_name}} de Whaapy, ¿te puedo ayudar por aquí?
```

Si el template tiene variables, usa [Variables](/guides/automations/variables) para llenar nombre, agente, servicio o campaña.

***

## Paso 5: Notificar a sistemas externos

Si tu CRM o equipo necesita enterarse:

* usa `http_request` para un webhook directo
* usa [n8n](/integrations/n8n) si el flujo tiene varios pasos
* manda solo los datos necesarios

Payload ejemplo:

```json theme={null}
{
  "source": "meta_lead_ads",
  "name": "{{contact.name}}",
  "phone": "{{contact.phoneNumber}}",
  "email": "{{lead.field.email}}",
  "agent": "{{agent.email}}"
}
```

***

## Opciones avanzadas

| Opción             | Recomendación                                                   |
| ------------------ | --------------------------------------------------------------- |
| Ejecutar una vez   | Activar si el mismo lead no debe procesarse varias veces        |
| Omitir IA          | Activar si envías template o asignas humano inmediatamente      |
| Parar al coincidir | Activar si este flujo no debe combinarse con otras reglas       |
| Prioridad          | Alta si el lead debe procesarse antes de otras automatizaciones |

***

## Errores comunes

| Error                               | Resultado                    | Mejor enfoque              |
| ----------------------------------- | ---------------------------- | -------------------------- |
| Usar cualquier formulario para todo | Leads mal clasificados       | Crea reglas por formulario |
| No mapear email o empresa           | Contactos incompletos        | Usa `update_contact`       |
| Sin fallback de agente              | Leads sin responsable        | Define fallback            |
| Enviar texto libre fuera de ventana | Mensaje falla                | Usa template aprobado      |
| No probar payload externo           | CRM recibe datos incompletos | Usa test webhook           |

***

## Siguiente paso

Si el lead debe pasar a CRM, revisa [Webhooks y n8n](/guides/automations/webhooks-and-n8n).
