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

# 44 - Conecta formularios de Meta y otras apps con Zapier

> Trae a Relevant los leads de los formularios instantáneos de Meta, o de cualquier app que Zapier soporte, con una llave de API y Webhooks by Zapier; cómo probarlo sin sorpresas y cómo escribirles después.

Si anuncias con formularios instantáneos de Meta (los anuncios de Facebook o Instagram donde la persona deja sus datos sin salir de la app), esos leads se quedan en Meta. Con Zapier puedes mandarlos solos a Relevant: cada persona que llena el formulario aparece en el embudo y la etapa que elijas, con un origen propio para que sepas de dónde vino. Lo mismo sirve para cualquier otra app que Zapier soporte, como Typeform, Google Forms o Calendly.

## ¿Formulario o clic a WhatsApp?

Meta tiene dos tipos de anuncio para conseguir leads, y entran a Relevant de forma distinta:

* **Clic a WhatsApp.** La persona toca el botón del anuncio y te escribe. Entra sola a Relevant, con origen **WhatsApp Ads**, y la conversación ya está abierta: tu equipo, o la IA si la tienes encendida, le contesta como a cualquier chat. No hay nada que conectar.
* **Formulario instantáneo.** La persona deja sus datos en Meta y no te escribe. Para traerla a Relevant necesitas el Zap de este artículo, y el primer mensaje lo mandas tú, a mano o con una automatización, con un Mensaje aprobado por Meta, porque no hay conversación abierta. Más abajo te explicamos cómo.

## Antes de empezar

* **Cualquier plan de Relevant.** Recibir leads por la API está en todos los planes y no gasta mensajes de tu plan.
* **Rol de Owner o Admin** en Relevant, para crear la llave.
* **Un plan de pago de Zapier.** Webhooks by Zapier, la acción que manda los leads a Relevant, no está en el plan gratuito de Zapier.
* **Para Meta:** una cuenta de Facebook que administre la página del anuncio, y un formulario que pida el **nombre completo** y el **teléfono**. Relevant registra un lead solo si trae los dos.
* **El embudo y la etapa donde quieres que caigan.** Te recomendamos una etapa solo para estos leads (por ejemplo "Formulario Meta"); más abajo te explicamos por qué. Si todavía no existe, agrégala en **Configurar Embudo** con **Agregar Etapa**.

## Paso 1: crea la llave en Relevant

La llave es la contraseña con la que Zapier se identifica ante Relevant. También decide a qué embudo y etapa llegan los leads y con qué origen.

<Steps>
  <Step title="Abre Nueva llave">
    Ve a [Ajustes, sección API](https://app.relevantleads.io/dashboard/settings/api), en el grupo **Admin Center**. En la tarjeta **API de leads** haz clic en **Nueva llave**; se abre la ventana **Nueva llave de API**.
  </Step>

  <Step title="Ponle nombre">
    En **Nombre** escribe algo que la identifique, por ejemplo "Formularios de Meta (Zapier)".
  </Step>

  <Step title="Elige embudo y etapa">
    En **Embudo destino** elige el embudo, y en **Etapa destino**, la etapa donde quieres que caigan estos leads. No dejes **Sin embudo (solo contacto)**: con esa opción Relevant guarda solo el contacto, sin lead ni tarjeta en el tablero, y aun así responde que todo salió bien, así que en Zapier la prueba se ve exitosa.
  </Step>

  <Step title="Nombra el origen">
    En **Origen de los leads** escribe "Formulario Meta" y elige un color. Con ese nombre los reconoces en Contactos y en el tablero, y también en **Atribución** si tu plan es Pro o Ultra.
  </Step>

  <Step title="Crea y guarda la llave">
    Haz clic en **Crear llave**. En la ventana **Guarda tu llave ahora**, cópiala con el botón de copiar y guárdala en un lugar seguro antes de cerrar con **Ya la guardé**. Es la única vez que se muestra completa: si la pierdes, revócala y crea otra.
  </Step>
</Steps>

<Warning>
  La llave es una contraseña. No compartas capturas donde se vea, por ejemplo la del paso de **Headers** en Zapier. Si se expone, crea otra, ponla en el Zap y revoca la anterior con **Revocar**, en su fila de **API de leads**: deja de funcionar al instante.
</Warning>

<Tip>
  Usa una llave por fuente. Si además traes leads de Typeform o de otra app, crea otra llave con su propio origen: así ves cada fuente por separado y puedes revocar una sin afectar a las demás. Todo sobre las llaves, en [Conecta tu sistema a Relevant](/conecta-tu-sistema-a-relevant).
</Tip>

## Paso 2: el disparador en Zapier

Crea un Zap nuevo en Zapier. Los nombres de este paso y del siguiente son los que muestra Zapier.

<Steps>
  <Step title="Elige Facebook Lead Ads">
    Como disparador (trigger), elige la app **Facebook Lead Ads** y el evento **New Lead**.
  </Step>

  <Step title="Conecta tu cuenta de Facebook">
    Conecta una cuenta de Facebook que administre la página donde corre el anuncio.
  </Step>

  <Step title="Elige página y formulario">
    Elige la página y el formulario del anuncio. Revisa que el formulario pida el nombre completo y el teléfono.
  </Step>

  <Step title="Prueba el disparador">
    Zapier trae un lead del formulario para usarlo en el paso siguiente. Si es un lead de prueba de Meta, sus datos son falsos: en [Probar sin sorpresas](#probar-sin-sorpresas) te decimos cómo probar con él.
  </Step>
</Steps>

<Warning>
  **Webhooks by Zapier no va en el disparador.** Como disparador, Zapier te ofrece **Catch Hook**, **Catch Raw Hook** y **Retrieve Poll**: sirven para que Zapier reciba datos de otro sistema o consulte una dirección, no para traer tus leads de Meta. El disparador es **Facebook Lead Ads**; Webhooks by Zapier va en el paso 3, como acción.
</Warning>

<Info>
  Si Zapier no te muestra tu página o tu formulario, a la cuenta de Facebook probablemente le faltan permisos sobre la página o sobre sus leads. La [ayuda de Zapier sobre Facebook Lead Ads](https://help.zapier.com/hc/en-us/articles/8496061306253-How-to-get-started-with-Facebook-Lead-Ads-on-Zapier) explica cuáles hacen falta.
</Info>

## Paso 3: la acción que manda el lead a Relevant

<Steps>
  <Step title="Agrega Webhooks by Zapier">
    Agrega un paso de acción con la app **Webhooks by Zapier** y el evento **POST**.
  </Step>

  <Step title="Dirección y formato">
    En **URL** pega `https://app.relevantleads.io/api/v1/leads`; es la misma para todas las cuentas. En **Payload Type** elige `json`. Deja **Wrap Request In Array** en **No**: Relevant recibe un lead por envío.
  </Step>

  <Step title="Los datos del lead">
    En **Data** agrega una fila por campo. A la izquierda va el nombre del campo, escrito tal cual; a la derecha, el dato que eliges del lead de Facebook o un texto fijo.

    * `name` (obligatorio): el nombre completo del lead.
    * `phone` (obligatorio): su teléfono.
    * `email`: su correo.
    * `external_id`: el ID del lead que manda Facebook. Con él, si Zapier reintenta un envío, Relevant reconoce al lead y no lo duplica.
    * `utm_source`: el campo **Platform** del lead, que dice si vino de Facebook (`fb`) o de Instagram (`ig`).
    * `utm_medium`: un texto fijo, por ejemplo `formulario`.
    * `utm_campaign`: el nombre de tu campaña, escrito a mano o tomado del lead si Zapier lo trae.

    Si tu formulario no pide el nombre completo, en Zapier ese dato aparece como "No data" y Relevant rechaza todos los leads reales, porque `name` es obligatorio. Agrega la pregunta de nombre completo al formulario, junta en `name` el nombre y el apellido (los dos datos, con un espacio en medio) o escribe un texto fijo.
  </Step>

  <Step title="El encabezado con tu llave">
    En **Headers** agrega una fila: a la izquierda `Authorization`; a la derecha, la palabra `Bearer`, un espacio y tu llave completa (empieza con `rk_live_`).
  </Step>
</Steps>

## Probar sin sorpresas

Al probar el paso 3, Zapier manda el lead a Relevant de verdad. La respuesta de Relevant trae los datos del lead: el código es `201` cuando crea algo nuevo (el contacto o su lead) y `200` cuando la persona y su lead ya existían. Esto es lo que conviene saber antes:

* **Los leads de prueba de Meta traen datos falsos.** El teléfono llega como texto ("test lead: dummy data..."), no como número, y Relevant responde `422` porque `phone` no tiene entre 10 y 15 dígitos. Para probar, en la fila `phone` de **Data** escribe a mano un teléfono real que no esté en tus contactos. Si la respuesta marca otro campo, haz lo mismo con ese.
* **Revisa que `deal_id` traiga un valor.** Si viene `null`, Relevant solo guardó el contacto: la llave no tiene embudo destino. En [Ajustes, sección API](https://app.relevantleads.io/dashboard/settings/api), haz clic en **Editar** en la fila de la llave, elige **Embudo destino** y **Etapa destino** y haz clic en **Guardar cambios**. La llave sigue siendo la misma, así que en Zapier no cambias nada.
* **Si la prueba falla,** abre en Zapier la pestaña **Troubleshoot** del paso: ahí está la respuesta de Relevant. En los errores de datos trae `fields`, que dice qué campo falló y qué pide. Los códigos están en las preguntas frecuentes de abajo.
* **Cada prueba repetida usa el mismo lead de Facebook**, con el mismo `external_id`. Relevant reconoce ese contacto y lo reutiliza: actualiza el nombre y el correo, pero no el teléfono. Si quieres probar con otro teléfono, antes borra el contacto de prueba (ver el paso 4).

<Warning>
  **Antes de publicar el Zap, regresa `phone` al teléfono del lead de Facebook**, y cualquier otro campo que hayas escrito a mano. Si lo dejas con el número de la prueba, todos los leads reales llegan con ese teléfono y Relevant los junta en un mismo contacto.
</Warning>

## Paso 4: revisa en Relevant y publica el Zap

<Steps>
  <Step title="Busca el lead de prueba">
    En [Contactos](https://app.relevantleads.io/dashboard/contacts), la columna **Origen** del lead de prueba debe mostrar el origen de tu llave, y su tarjeta debe estar en el embudo y la etapa que elegiste. En **Ajustes → API**, la llave ya muestra la fecha en **Último uso**.
  </Step>

  <Step title="Borra el contacto de prueba">
    Bórralo al terminar, y también entre una prueba y otra: en su fila de Contactos, abre el menú de la fila (los tres puntos), elige **Eliminar contacto** y confirma con **Eliminar**. Solo Owner y Admin tienen esa opción. Borra a la persona con todos sus leads, mensajes, notas y tareas, y no hay papelera.
  </Step>

  <Step title="Regresa los datos de prueba">
    En el paso 3 del Zap, regresa `phone`, y lo que hayas escrito a mano para probar, al dato del lead de Facebook.
  </Step>

  <Step title="Publica el Zap">
    En Zapier, publica el Zap. Desde ese momento, cada lead nuevo del formulario entra solo a Relevant.
  </Step>
</Steps>

<Warning>
  Antes de borrar, revisa la respuesta de la prueba en Zapier. Si `created_contact` dice `false`, Relevant usó un contacto que ya existía. Si es el de tu prueba anterior (el mismo lead de Facebook), bórralo sin problema. Si es una persona real, porque el teléfono que escribiste coincide con el de uno de tus contactos, no lo borres: te llevarías su historial.
</Warning>

## Nadie le escribe solo: cómo contactar a estos leads

El lead entra a Relevant, pero nadie le escribe en automático. Esa persona llenó un formulario; no te mandó un WhatsApp. No hay conversación ni ventana de 24 horas abierta, y la IA no le contesta: la IA responde cuando el lead escribe, no escribe primero. Con la ventana cerrada, WhatsApp solo deja mandar Mensajes aprobados por Meta ([La ventana de 24 horas](/ventana-24-horas)).

Tienes dos caminos:

* **Que alguien de tu equipo lo contacte.** En su chat, como nunca te ha escrito, en lugar del campo de texto verás tus Mensajes aprobados: eliges uno y lo mandas con **Enviar mensaje**. Si usas [auto-asignación](/asignar-leads-automaticamente), cada lead le llega a alguien de tu equipo como cualquier otro.
* **Una automatización que le mande un Mensaje aprobado.** En [Automatizaciones](https://app.relevantleads.io/dashboard/automatizaciones), crea una con el disparador **Nuevo lead en etapa** (el embudo y la etapa de tu llave) y la acción **Enviar plantilla** con un Mensaje aprobado. El mensaje sale en los dos minutos siguientes a que entra el lead. Cada Mensaje entregado cuesta \$1.20 MXN aparte de tu plan, como una difusión; si WhatsApp no lo entrega, no se cobra. Cómo se arma, en [Automatizaciones](/automatizaciones).

<Warning>
  **Dale a estos leads una etapa propia.** **Nuevo lead en etapa** se dispara con cualquier lead que llegue a esa etapa, venga de donde venga. Si la automatización escucha la etapa donde también caen los leads que te escriben por WhatsApp, a ellos también les manda el Mensaje, y también se cobra.
</Warning>

Cuando el lead contesta, se abre la ventana de 24 horas y la conversación sigue como cualquier otra: tu equipo le escribe libremente y la IA le contesta si está encendida en ese embudo y en esa etapa ([Cómo la IA responde automáticamente](/como-la-ia-responde-automaticamente)).

## Otras apps: Typeform, Google Forms, Calendly y más

El paso 3 es igual para cualquier app que Zapier soporte; solo cambia el paso 2. En lugar de Facebook Lead Ads, elige el disparador de esa app que avise de una respuesta o un registro nuevo. Toma en cuenta:

* La app tiene que pedir el nombre y el teléfono; sin ellos, Relevant rechaza el envío.
* En `external_id` usa el identificador que esa app le da a cada respuesta, y en `utm_source`, el nombre de la app.
* Crea una llave aparte para cada app, con su propio origen ("Typeform", "Calendly").
* De Calendly u otra agenda entra la persona que agendó, no la cita: la cita no aparece en Relevant.

## Preguntas frecuentes

<AccordionGroup>
  <Accordion title="Zapier marca un error al probar el paso 3">
    En Zapier, la pestaña **Troubleshoot** del paso muestra la respuesta de Relevant. El código dice qué pasó:

    * `401` (`unauthorized`): la llave no llegó bien. Revisa que el encabezado se llame `Authorization` y que su valor sea `Bearer`, un espacio y la llave completa. Si revocaste la llave, crea otra.
    * `400` (`invalid_json`): Relevant no recibió un JSON. Revisa que **Payload Type** sea `json` y que **Wrap Request In Array** esté en **No**.
    * `422` (`validation_error`): falta un dato o no tiene el formato correcto, y `fields` dice cuál. Lo más común es `phone`: Relevant pide 10 dígitos con lada o el número con código de país (hasta 15 dígitos), y con un lead de prueba de Meta pasa siempre (ver [Probar sin sorpresas](#probar-sin-sorpresas)). Si marca `name`, revisa que el formulario pida el nombre completo.
    * `422` (`blocked`): ese número está bloqueado en tu cuenta. Se desbloquea en **Ajustes → WhatsApp**, pestaña **Bloqueados**.

    Todos los errores, en la [Referencia de la API](/referencia-de-la-api).
  </Accordion>

  <Accordion title="¿Qué pasa si esa persona ya estaba en Relevant?">
    Relevant la reconoce por el `external_id` o, si no coincide, por los últimos 10 dígitos del teléfono, y usa su mismo contacto: actualiza su nombre y su correo con lo que llegó del formulario, y conserva su teléfono y el origen con el que llegó la primera vez. Si ya tiene un lead abierto en el embudo de la llave, no crea otro; si no, le crea uno en ese embudo.
  </Accordion>

  <Accordion title="¿Un reintento de Zapier duplica el lead?">
    No. Relevant reconoce al lead por el `external_id` (o por el teléfono) y, mientras su lead siga abierto en ese embudo, responde con el mismo `deal_id` en lugar de crear otro.
  </Accordion>

  <Accordion title="En Integraciones, Zapier dice Próximamente. ¿Entonces esto funciona?">
    Sí. Lo que aparece como **Próximamente** en **Ajustes → Integraciones** es la app de Relevant dentro de Zapier, que todavía no existe. Este camino no la necesita: usa Webhooks by Zapier y la API de leads de Relevant, que funciona hoy en todos los planes.
  </Accordion>

  <Accordion title="¿Cuánto cuesta?">
    En Relevant, recibir los leads no cuesta: la API de leads está en todos los planes y no gasta mensajes. Lo que se cobra es lo que les mandes: el Mensaje de una automatización cuesta \$1.20 MXN por entrega, y lo que mande tu equipo desde el chat cuenta como un mensaje enviado de tu plan ([Planes, mensajes y excedentes](/planes-mensajes-y-excedentes)). En Zapier necesitas un plan de pago.
  </Accordion>
</AccordionGroup>

Si quieres el detalle técnico, está en la [Referencia de la API](/referencia-de-la-api); todo sobre las llaves y los orígenes, en [Conecta tu sistema a Relevant](/conecta-tu-sistema-a-relevant).

***

¿Necesitas ayuda? Escríbenos a **[soporte@relevantleads.io](mailto:soporte@relevantleads.io)** y con gusto te apoyamos.
