Cada solicitud, donde la necesitas
Cuando alguien completa un formulario con tu asistente, Elocuenta puede enviar la respuesta al momento a una URL: la de Zapier, la de Make o la de tu propio sistema. Así llega sola a tu hoja de cálculo, a tu CRM o a tu programa de gestión.
Cómo se activa
- En el panel, entra en Formularios y edita el formulario.
- En Integraciones → Webhook, pega la URL que te dé Zapier, Make o tu sistema (tiene que empezar por
https://) y guarda. - Pulsa Enviar prueba: llega una respuesta de ejemplo con todos los campos, para que puedas preparar el resto del flujo.
Desde ese momento, cada respuesta completada se envía sola. En el editor ves cuándo fue el último envío y si se entregó.
Con Zapier
- Crea un Zap y elige como disparador Webhooks by Zapier → Catch Hook.
- Copia la URL que te da Zapier y pégala en el webhook del formulario.
- Pulsa Enviar prueba en Elocuenta y, en Zapier, Test trigger: verás los campos de la respuesta.
- Añade la acción que quieras: una fila en Google Sheets, un contacto en tu CRM, un email…, usando los campos de
respuestas.
«Webhooks by Zapier» depende del plan de Zapier que tengas: compruébalo en tu cuenta antes de montar el Zap.
Con Make
- Crea un escenario y añade el módulo Webhooks → Custom webhook.
- Pulsa Add, copia la dirección que te da Make y pégala en el webhook del formulario.
- Pulsa Enviar prueba en Elocuenta: Make reconoce la estructura de los datos.
- Conecta el siguiente módulo (Google Sheets, tu CRM, un email…) con los campos de
respuestas.
Qué se envía
Una petición POST con este JSON (los campos de respuestas son los códigos de los pasos de tu formulario):
{
"evento": "formulario.completado",
"prueba": false,
"id": "219",
"fecha": "2026-10-02T11:40:29+02:00",
"negocio": "Clínica Dental Ejemplo",
"formulario": { "codigo": "cita-dental", "nombre": "Solicitud de cita" },
"canal": "whatsapp",
"telefono": "+34600000000",
"conversacion": "https://elocuenta.com/conversaciones/hilo/931",
"respuestas": {
"nombre": "Elena Prieto",
"motivo": "Limpieza",
"franja": "Tarde"
},
"campos": [
{ "codigo": "nombre", "etiqueta": "Nombre", "pregunta": "¿Cómo te llamas?", "valor": "Elena Prieto" }
]
}
telefono es el número de WhatsApp de la persona (en el chat web va vacío: si tu formulario pide el teléfono, está en respuestas). campos repite las respuestas con su etiqueta y su pregunta, por si prefieres mostrarlas así.
Firma y reintentos
- Cada envío lleva la cabecera
X-Elocuenta-Firma: sha256=…: el HMAC-SHA256, en hexadecimal, de{X-Elocuenta-Timestamp}.{cuerpo}con el secreto de firma que ves en el editor del formulario. Así sabes que el envío es de Elocuenta y que nadie lo ha cambiado. X-Elocuenta-Entregaidentifica cada respuesta (por ejemplo,resp-219): si recibes dos veces la misma, puedes ignorar la segunda.- Si tu URL no responde con un código 2xx en 15 segundos, Elocuenta lo reintenta varias veces durante unas horas, cada vez más espaciado.
- Solo se envía a direcciones públicas de Internet con
https, y no se siguen redirecciones.
Comprobar la firma en Node.js:
const crypto = require('crypto');
function firmaValida(cuerpo, cabeceras, secreto) {
const ts = cabeceras['x-elocuenta-timestamp'];
const esperada = 'sha256=' + crypto.createHmac('sha256', secreto).update(`${ts}.${cuerpo}`).digest('hex');
const recibida = cabeceras['x-elocuenta-firma'] || '';
return recibida.length === esperada.length &&
crypto.timingSafeEqual(Buffer.from(recibida), Buffer.from(esperada));
}
Y en PHP:
$cuerpo = file_get_contents('php://input');
$ts = $_SERVER['HTTP_X_ELOCUENTA_TIMESTAMP'] ?? '';
$esperada = 'sha256=' . hash_hmac('sha256', $ts . '.' . $cuerpo, $secreto);
$valida = hash_equals($esperada, $_SERVER['HTTP_X_ELOCUENTA_FIRMA'] ?? '');
Calcula la firma sobre el cuerpo tal como llega, antes de convertirlo a JSON. Si además quieres descartar envíos antiguos, rechaza los que tengan un X-Elocuenta-Timestamp de hace más de cinco minutos.
¿Usas una herramienta concreta?
Si quieres que las solicitudes lleguen a tu agenda o a tu programa de gestión y no sabes cómo, cuéntanoslo y te ayudamos a conectarlo.
Escríbenos