Cómo recibir el webhook de Facebook Leads y enviar un SMS automático

Recibe el webhook de Facebook Lead Ads y dispara un SMS automático con la API REST: pasos reales, código listo y costos desde $0.13 MXN.

Cómo recibir el webhook de Facebook Leads y enviar un SMS automático

Respuesta rápida El webhook de Facebook Lead Ads notifica a tu servidor cada vez que alguien llena tu formulario de anuncio. Con un endpoint que reciba ese payload y una llamada a la API de SMS Masivos, el lead se convierte en un SMS en segundos.

Un webhook es una llamada HTTP que un servicio hace a una URL tuya cuando ocurre un evento; en Facebook Lead Ads, el evento es un lead nuevo. El problema que resuelve: un lead se enfría rápido. Si el primer contacto tarda horas, el número ya está viendo la oferta de tu competencia; con el webhook, el aviso llega al momento de generarse.

Qué resuelve el webhook de Facebook Leads con SMS

El flujo responde a un job: que un lead de Facebook te avise por SMS en segundos o reciba una respuesta automática mientras está caliente. Dos usos típicos:

  • Aviso al vendedor: el teléfono del asesor suena con el nombre y número del lead nuevo.
  • Respuesta automática: el lead recibe un mensaje de confirmación en segundos, con el siguiente paso.

SMS Masivos es una plataforma mexicana de mensajería empresarial con conexión directa a 4 carriers (Telcel, Movistar, AT&T y Altán) y una API REST para enviar mensajes desde tu propio código.

Cómo funciona el flujo completo

Son tres piezas, y la única que te toca escribir es la del medio:

Meta detecta el lead. Cuando alguien llena tu formulario de Lead Ads, Meta genera el evento y hace un POST a tu endpoint. El payload JSON trae el nombre, el teléfono y los campos que definiste.

Tu endpoint llama a la API de SMS. Extraes el nombre y el teléfono del payload para armar el aviso y llamas a la API de SMS Masivos con tu apikey. Aquí está el detalle que casi nadie te dice: no configures la URL pública de la API como webhook de Meta, porque Meta no envía el payload en el formato que la API espera; tu endpoint es el traductor.

Requisitos: una app en Meta for Developers, un endpoint público (servidor propio, Vercel o Railway) y una API key de SMS Masivos.

Configura el webhook de Lead Ads en Meta for Developers

En tu app de Meta for Developers, activa el producto de Lead Ads y ve a la sección de webhooks. Registra la URL de tu endpoint con un token de verificación: Meta lo confirma antes de enviar el primer evento. Luego suscríbete al campo leads, el que entrega los leads nuevos. La documentación oficial detalla cada paso: webhooks de Graph API.

Recibe el payload y dispara el SMS con la API de SMS Masivos

Un ejemplo en Node.js (Express) con la petición real:

// Meta verifica tu endpoint con un GET antes de enviar el primer evento
app.get("/webhook/facebook", (req, res) => {
  if (req.query["hub.verify_token"] === process.env.META_VERIFY_TOKEN) {
    return res.send(req.query["hub.challenge"]);
  }
  res.status(403).send("Token de verificación inválido");
});

// Tu endpoint recibe el webhook de Meta y dispara el SMS al asesor
app.post("/webhook/facebook", async (req, res) => {
  const lead = req.body?.entry?.[0]?.changes?.[0]?.value;
  const nombre = lead?.field_data?.find(c => c.name === "full_name")?.values[0];
  const telefono = lead?.field_data?.find(c => c.name === "phone_number")?.values[0];
  if (!telefono) return res.status(400).send("Falta el teléfono del lead");

  // El teléfono del asesor que recibe el aviso, desde tus variables de entorno
  const TELEFONO_ASESOR = process.env.TELEFONO_ASESOR; // ej. "525598765432"

  try {
    const respuesta = await fetch("https://api.smsmasivos.com.mx/sms/send", {
      method: "POST",
      headers: {
        "apikey": "TU_API_KEY",
        "Content-Type": "application/json"
      },
      body: JSON.stringify({
        message: "Nuevo lead de Facebook: " + nombre + ", " + telefono + ". Contesta ahora.",
        numbers: TELEFONO_ASESOR,
        sender: "MIEMPRESA",
        country_code: "52"
      })
    });
    const data = await respuesta.json();
    res.status(200).json(data); // confirma a Meta que recibiste el evento
  } catch (error) {
    res.status(500).send("No se pudo enviar el SMS: " + error.message);
  }
});

La respuesta confirma el envío por cada número:

// Con TELEFONO_ASESOR = "525598765432", el envío es de un solo mensaje
{
  "success": true,
  "message": "sent_messages",
  "status": 200,
  "code": "sms_11",
  "total_messages": 1,
  "references": [
    { "reference": "abc123def456ghi789jkl", "number": "525598765432" }
  ],
  "credit": 1.5
}

Algunos límites a la mano: el mensaje debe mantenerse en 160 caracteres para salir como un solo SMS, una petición acepta varios números separados por comas, y el remitente personalizado (el sender) primero tiene que estar contratado; sin contrato, se usa el de tu cuenta. El detalle completo está en API SMS.

Un caso real: el aviso llega antes de que el lead se enfríe

María deja su número en tu anuncio de "Cotiza tu crédito". El webhook dispara el SMS al asesor: Nuevo lead de Facebook: María García, 55 1234 5678. Contesta ahora. El asesor llama mientras María aún tiene abierto el formulario. La atención pasó de horas a minutos.

¿Programar no es lo tuyo? Existe la ruta con Zapier

Sin un desarrollador en el equipo, Zapier conecta Facebook Leads con SMS Masivos sin escribir una línea; el mensaje se envía en los próximos minutos. ¿Tu meta es registrar el lead en un CRM? sincroniza tus leads de Facebook Lead Ads a un CRM.

La diferencia: el webhook reacciona en segundos y vive en tu infraestructura; Zapier lo hace en minutos y sin mantenimiento. Más opciones en integraciones con SMS Masivos y una guía de integración de webhooks en webhooks: guía de integración.

Preguntas frecuentes

¿Necesito un programador para conectar Facebook Leads a SMS?

Para el flujo de webhook sí: alguien tiene que escribir el endpoint que reciba el payload y llame a la API. Sin programador, la ruta con Zapier hace lo mismo en minutos.

¿Cuánto cuesta enviar un SMS a un lead de Facebook?

Desde $0.13 MXN por mensaje en volumen muy alto (la prueba piloto arranca en 500 mensajes a $0.90 + IVA); con un aviso de 160 caracteres, el costo por lead es de centavos.

¿Puedo usar un remitente personalizado en estos mensajes?

Sí, pero primero tiene que estar contratado en tu cuenta; sin contrato, el mensaje sale con el remitente por defecto.

La parte más difícil de capturar un lead es la primera conversación. Con el webhook de Facebook Leads y la API de SMS, esa conversación arranca sola, en segundos. Crea tu cuenta y prueba el envío; los costos están en precios de SMS.

Herramientas recomendadas

Estas son algunas de las herramientas que te pueden ayudar

Envíos Masivos

Envía un mensaje a todos tus clientes al mismo tiempo, tú decides el mensaje que le quieres dar, la fecha y la hora de envío.

Los mensajes pueden ir personalizados con el nombre y datos de tu cliente para que parezca que te tomó tiempo redactarlos cuando en realidad solo requieres un par de minutos.

Conoce los envíos masivos SMS
Arrow - Elements Webflow Library - BRIX Templates
Envíos Masivos
Envíos Masivos
Envíos Masivos

Formularios

Son pequeñas páginas web diseñadas para recabar datos de tus prospectos.

Tan pronto como el prospecto llena uno de estos formularios, recibe por SMS o WhatsApp un mensaje de confirmación.

Estos mensajes pueden ser usados para enviar catálogos, ebooks, cupones de descuento o lo que tu quieras.

Conoce los formularios digitales
Arrow - Elements Webflow Library - BRIX Templates
Formularios
Formularios
Formularios

API REST

Conecta tus propios sistemas a través de nuestra API en cuestión de minutos y logra que manden SMS y WhatsApp.

Ideal para activar la funcionalidad de envío de mensajes a CRMs, sistemas ERP, aplicaciones móviles, entre muchos otros.Usa nuestras librerías con varios lenguajes de programación para un inicio sin complicaciones.

Conoce nuestra API
Arrow - Elements Webflow Library - BRIX Templates
API REST
API REST
API REST