Automatización de flujos con piezas

WhatsApp en Activepieces: Catch Webhook y Send HTTP request con ZapZap

Activepieces es una plataforma de automatización de flujos basada en piezas (pieces). Según el catálogo oficial (leído el 11/11/2026), la pieza Webhook trae el disparador Catch Webhook, que recibe solicitudes HTTP de cualquier método y dispara el flujo, y la pieza HTTP trae la acción Send HTTP request, que llama a cualquier URL con método, autenticación opcional y cuerpo. Con esas dos, ZapZap entra sin un nodo dedicado.

Actualizado el

Por qué conectar

Para quien quiere un flujo visual sin alojar código: llegó un mensaje a WhatsApp, el flujo consulta una hoja de cálculo o un CRM y responde. O al revés: un lead nuevo del formulario dispara la confirmación por WhatsApp. ZapZap no tiene una pieza propia en Activepieces: el camino es webhook y HTTP. ZapZap conecta números por un canal no oficial: WhatsApp puede limitar o bloquear cualquier número, así que el ritmo, el consentimiento y el calentamiento importan. Cuesta R$15 por número activo al mes, prepago, sin cobro por mensaje, y empiezas con un crédito de bienvenida al verificar el teléfono, sujeto a la campaña vigente.

Paso a paso

  1. 1

    Crea el flujo con el disparador Catch Webhook

    Crea un flujo nuevo y elige el disparador Webhook > Catch Webhook, que acepta cualquier método HTTP. Copia la URL que muestra el disparador. Para probar, dispara un evento real (por ejemplo, la prueba de webhook de ZapZap, POST /instances/{id}/webhook/test) y mira la ejecución del flujo.

  2. 2

    Registra la URL en la instancia de ZapZap

    Llama a PUT https://api.zapzapapi.com/api/v1/instances/{id}/webhook con webhook_url (la URL del paso anterior, en HTTPS) y events (por ejemplo, messages). Cabeceras x-api-key y x-api-secret, de Settings > API. Los eventos vienen desactivados por defecto: pide solo los que vas a usar.

  3. 3

    Lee el cuerpo del evento

    El envelope trae delivery_id, event_id, version, instance_id, instance_name, event y data. Usa los campos en los pasos siguientes del flujo. Usa delivery_id para no tratar la misma entrega dos veces.

  4. 4

    Envía la respuesta con Send HTTP request

    Agrega la acción HTTP > Send HTTP request. Método POST, URL https://api.zapzapapi.com/api/v1/{instanceId}/send/text, cabeceras x-api-key, x-api-secret y Content-Type application/json, cuerpo JSON con number y text. Guarda los valores de las cabeceras en una conexión o variable del proyecto en vez de escribirlos en cada flujo.

  5. 5

    Maneja los fallos

    Si la respuesta es 429 o 5xx, reintenta más tarde; 400, 401 y 403 indican un error de configuración y repetir no lo resuelve. Prueba primero el mismo envío con curl (ejemplo abajo).

Ejemplo

# What the "Send HTTP request" step does, as a curl you can test first
curl -X POST "https://api.zapzapapi.com/api/v1/INSTANCE_ID/send/text" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $ZAPZAP_API_KEY" \
  -H "x-api-secret: $ZAPZAP_API_SECRET" \
  -d '{"number":"5511999999999","text":"Hello! Your booking is confirmed."}'

# Set the webhook on the instance so the Catch Webhook trigger receives events
curl -X PUT "https://api.zapzapapi.com/api/v1/instances/INSTANCE_ID/webhook" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $ZAPZAP_API_KEY" -H "x-api-secret: $ZAPZAP_API_SECRET" \
  -d '{"webhook_url":"https://YOUR-ACTIVEPIECES-WEBHOOK-URL","events":"messages"}'

Ilustrativo. Los campos y endpoints exactos están en la documentación.

Lo que leí y lo que queda por tu cuenta

  • Leído el 11/11/2026 (activepieces.com/pieces): Catch Webhook recibe HTTP de cualquier método; Send HTTP request llama a cualquier URL con método, autenticación opcional y cuerpo.
  • No pude confirmar en las páginas leídas el nombre exacto de cada campo de la acción HTTP ni el formato de la URL del webhook: revísalos en la interfaz de tu Activepieces.
  • La X-ZapZap-Signature necesita el cuerpo bruto; la página leída no dice si el disparador entrega el cuerpo bruto, así que valida la firma solo si tu versión lo permite.

Preguntas frecuentes

¿Existe una pieza de ZapZap en Activepieces?

No. Usa Catch Webhook para recibir y Send HTTP request para enviar, como en esta página.

¿Necesito un plan de pago en Activepieces?

Las páginas que leí (piezas Webhook y HTTP) no informan planes ni precios; consulta el sitio de Activepieces antes de decidir.

¿Cómo evito responder dos veces al mismo evento?

Guarda el delivery_id de las entregas ya tratadas e ignora las repeticiones, porque ZapZap reintenta cuando tu endpoint no responde con éxito.

¿Qué endpoint uso para enviar texto?

POST https://api.zapzapapi.com/api/v1/{instanceId}/send/text, con number y text en el cuerpo JSON.

¿Cuánto cuesta ZapZap?

Cuesta R$15 por número activo al mes, prepago, sin cobro por mensaje, y empiezas con un crédito de bienvenida al verificar el teléfono, sujeto a la campaña vigente.

Empieza ahora

Crea tu cuenta, conecta un número en minutos y prueba la API con calentamiento y anti-bloqueo. R$15 por número activo/mes, prepago, sin permanencia.