¿Qué caso va contigo?
Caso A – fácil, para cualquiera: cada solicitud de demo aparece en una hoja de Google que usas como tu CRM, y recibes un correo electrónico para seguirla.
Caso B – pensado para equipos con CRM: cada solicitud de demo es un nuevo lead en HubSpot, listo para que el equipo de ventas lo tome en el momento.
Un visitante llena tu formulario de demo y, segundos después, el lead está ya en tu CRM. Una pyme ve cómo se suma la fila en su hoja de leads (y puede responder al correo electrónico directo), mientras que un equipo de ventas ve el nuevo contacto ya en HubSpot. En todos los casos, hablas con tu lead cuando aún sigue en tu sitio web.
Así es el correo electrónico que recibes por cada solicitud de demo nueva en el caso A:
Y este es el contacto nuevo en HubSpot en el caso B:
¿Cómo pasa esto? Survio envía cada Respuesta al webhook que tú indiques. Tu herramienta de automatización (en el ejemplo usamos n8n) la recibe y coloca el lead justo donde trabajas. Survio solo envía, n8n hace el resto.
¿Nunca usaste webhooks en Survio? Empieza por Webhooks: manda Respuestas a tus otras apps en tiempo real y después vuelve aquí.
Qué vas a montar
En ambos casos se arranca igual: un formulario sencillo de demo en tu sitio web, que Survio envía a n8n por webhook.
De un vistazo | Caso A: hoja como CRM | Caso B: HubSpot |
Resultado | Cada solicitud agrega una fila en Google Sheets con una columna Estado y recibes un correo electrónico | Cada solicitud crea un nuevo contacto en HubSpot CRM, listo para el equipo de ventas |
Herramientas | Survio, n8n, Google Sheets, Gmail | Survio, n8n, HubSpot |
Ideal para | Negocios pequeños que gestionan sus propios leads | Equipos de ventas que ya usan HubSpot |
Antes de empezar
Una Encuesta de Survio en un plan de pago. Los webhooks no están en el plan Free y cada plan tiene un número limitado de webhooks por Encuesta (ver el artículo de webhooks).
Cuenta de n8n, sea Cloud o autohospedada.
Caso A: una cuenta de Google para Sheets y Gmail. Caso B: una cuenta de HubSpot.
En la guía vamos a usar un formulario sencillo para demo: nombre, correo de trabajo (una Pregunta tipo correo electrónico), empresa, tamaño de equipo (una Pregunta tipo opción) y un opcional "¿Qué quieres ver en la demo?". Puedes poner las Preguntas que quieras; vas a mapearlas según tus IDs en el paso A o B.
Paso 1 — Pon el formulario en tu sitio web
Abre tu Encuesta, entra en Recopilar respuestas y elige En la web.
Selecciona Ventana emergente y decide cuándo aparecerá. Si tu formulario es corto, activa Ocultar página de inicio y el visitante empieza directo con la primera Pregunta.
Haz clic en Insertar en el sitio web y pega el código en tu sitio web.
Hay más formas de insertarlo, como Botón o widget lateral, en Insertar una Encuesta en tu sitio web.
Paso 2 — Solo caso A: prepara tu hoja de leads
Crea una hoja de Google nueva y renombra la primera pestaña como
leads.En la fila 1, pon los títulos de columna:
Response ID,Received,Name,E-mail,Company,Team size,What they want to see,StatusyLanguage.Selecciona debajo de Status, elige Insertar → Lista desplegable, añade las opciones New, Contacted y Done (pulsa Añadir otro elemento) y dale a Hecho.
Tu hoja es tu CRM simple. Todo lead entra como New. Cuando lo contactes, pásalo a Contacted, y cuando cierres trato o lo pierdas, marca Done. Filtra por Estado para ver a quién falta responder.
Paso 3 — Crea el webhook en n8n
En n8n, haz un flujo nuevo y añade un nodo Webhook como disparador.
Pon Método HTTP en POST.
Abre la pestaña Production URL y copia tu dirección.
Haz clic en Publicar. Solo la Production URL recibe envíos si el flujo está publicado.
Usa la Production URL, no la Test URL. La Test URL solo funciona mientras el editor espera el test, y luego deja de escuchar. Si Survio manda y falla, reintenta unas horas pero a los 5 días apaga el webhook.
Paso 4 — Conecta la Encuesta en Survio
Abre la Encuesta y entra en Recopilar respuestas.
En el menú lateral izquierdo, bajo Automatizaciones e integraciones, ve a Webhooks y haz clic en + Añadir un webhook.
Pega la Production URL de n8n en Webhook URL y pulsa Guardar webhook. El webhook se activa en el momento.
Paso 5 — Haz una prueba y detecta los IDs de tus Preguntas
Llena tu formulario desde su enlace y mándalo. Survio solo envía si completas el formulario, así que ve hasta el final.
En n8n, abre la pestaña Executions. Llega en segundos.
Abre la ejecución y haz clic en el nodo Webhook. Despliega
body, luegodatay despuésanswers. Allí verásquestion.id, lalabely laanswerde cada Pregunta.Apunta el id de cada Pregunta. O bien haz clic en Pin para trabajar con esa Respuesta mientras sigues construyendo, sin tener que reenviar el formulario.
Siempre mapea por id, nunca por posición. Las Respuestas se reciben en lista: si cambias el formulario, se desordenan. El id no se mueve.
El correo electrónico del lead está en las Respuestas. No uses data.email: si el correo electrónico viene de una Pregunta tipo correo electrónico, ese campo va vacío. Toma el valor de la Respuesta a esa Pregunta.
Caso A — Una hoja como CRM + un correo electrónico
El flujo va así después del webhook: Preparar lead saca los datos, Guardar lead en la hoja añade la fila y Correo electrónico nuevo lead te avisa.
Preparar lead
Añade un nodo Editar campos (Set) tras el Webhook y llámalo
Preparar lead.En Campos a modificar, crea un campo por cada columna de tu hoja (tipo String). El nombre debe coincidir exactamente con el encabezado; el valor es la expresión de aquí abajo.
Pon tus IDs del paso 5 (90403243, etc.) y tu huso horario en vez de Europe/Praga.
Nombre de campo | Valor |
Response ID |
|
Received |
|
Name |
|
| |
Company |
|
Team size |
|
What they want to see |
|
Status |
|
Language |
|
Guardar lead en la hoja
Añade un nodo Google Sheets tras Preparar lead, nómbralo
Guardar lead en la hojay selecciona Añadir o actualizar fila.Enlaza tu cuenta de Google y elige tu hoja en Documento, y la pestaña
leadsen Hoja.Pon Modo de mapeo de columnas en Mapear automáticamente y Columna para comparar en Response ID.
En Opciones, agrega Formato de celda y selecciona Que n8n dé formato. Si no, Sheets convertirá respuestas tipo 2-10 en fechas.
¿Por qué separar de Preparar lead? Si eliges otra hoja o pestaña en Google Sheets, n8n borra los mapeos del propio nodo. Así, Preparar lead tiene siempre las expresiones y no pierdes nada.
Correo electrónico nuevo lead
Añade un nodo Gmail tras Guardar lead en la hoja, llámalo
Correo electrónico nuevo leady pon Mensaje y Enviar.Enlaza tu Gmail y pon tu correo electrónico en Para.
Pon el Asunto como
Solicitud de demo nueva: {{ $('Prepare lead').item.json.Name }} ({{ $('Prepare lead').item.json.Company }}).Pon Tipo de correo electrónico en HTML y redacta el Mensaje con los datos del lead, como
{{ $('Prepare lead').item.json['E-mail'] }}para el correo electrónico.En Opciones, añade Enviar respuestas a con
{{ $('Prepare lead').item.json['E-mail'] }}para que si contestas, llegue directo al lead. Desactiva Añadir atribución de n8n.
Haz clic de nuevo en Publicar. Si cambias algo tras publicar, solo contará cuando vuelvas a publicar.
Haz otra prueba. Aparecerá una fila con estado New en tu hoja y recibirás al instante el correo electrónico como en el ejemplo del inicio.
Caso B — Manda cada demo a HubSpot
Aquí el lead va directo como contacto a tu HubSpot CRM y se marca con la etapa Lead, para que el equipo de ventas lo recoja en su entorno habitual. El flujo tiene dos pasos tras el webhook: Preparar lead y Crear/actualizar contacto.
Preparar lead
Añade un nodo Editar campos (Set) justo tras el Webhook, ponle nombre Preparar lead y agrega estos campos String. Usa tus propios IDs.
Nombre de campo | Valor |
| |
First name |
|
Last name |
|
Company |
|
Mensaje |
|
First name y Last name salen de una sola Pregunta "Tu nombre". Si pides nombre y apellidos por separado, usa los ids de cada Pregunta.
Crear/actualizar contacto
Añade un nodo HubSpot tras Preparar lead, llámalo
Crear o actualizar contactoy escoge recurso Contacto y operación Crear o actualizar.Conecta tu cuenta de HubSpot.
Pon E-mail como
{{ $json['E-mail'] }}. HubSpot revisa por correo electrónico, así que si un lead repite correo electrónico, solo se actualiza: no se duplica.En Propiedades de contacto, pulsa Añadir propiedad y añade First Name, Last Name, Company Name y Mensaje con los datos del nodo de Preparar lead, y pon Nombre o ID de etapa como Lead.
Haz clic otra vez en Publicar.
El contacto se puede asociar a una empresa en automático. Si HubSpot encuentra una empresa con ese dominio de correo electrónico, la vincula y el contacto hereda el propietario de empresa. Es lo habitual, pero prueba una demo real para ver cómo queda.
Consigue el flujo ya listo
Si prefieres no crear el paso 3 y todo tu caso a mano, usa nuestro flujo como base. Descarga el archivo que te corresponda al final del artículo: survio-demo-requests-to-sheet-and-gmail.json para el caso A, o survio-demo-requests-to-hubspot.json para el B. Luego:
En n8n, crea un flujo vacío. Abre el menú (los tres puntitos) al lado del título y escoge Importar, luego Desde archivo. Selecciona el archivo que bajaste.
Entra a Preparar lead y mete tus IDs, y en caso A también tu zona horaria.
Caso A: entra a Guardar lead en la hoja. Hasta configurar todo, verás un símbolo rojo. Conecta Google y escoge tu hoja y la pestaña
leads. n8n pondrá Modo de mapeo en Mapear cada columna manualmente: ponlo en Mapear automáticamente y define Columna para comparar como Response ID. Luego entra a Correo electrónico nuevo lead, enlaza tu Gmail y pon tu correo electrónico en Para.Caso B: entra a Crear o actualizar contacto y conecta tu HubSpot.
Entra a Survio Webhook, copia la Production URL en Survio (paso 4) y dale a Publicar.
Test de extremo a extremo
Abre tu sitio web, llena el formulario integrado y mándalo.
Caso A: confirma que ves la fila en la pestaña
leadscon estado New y recibes el correo electrónico. Contéstalo y verifica que llega al lead.Caso B: entra a HubSpot y asegúrate de que está el contacto con etapa Lead y tu solicitud está en Mensaje.
Mira la pestaña Executions en n8n. Ahí puedes ver todos los envíos y sus datos.
Resolución de problemas
Síntoma | Causa | Solución |
n8n no recibe nada | Survio tiene la Test URL o el flujo no está publicado | Pon la Production URL en Survio y pulsa Publicar |
Survio no guarda el webhook de n8n autohospedado | n8n muestra dirección interna, no la pública | Configura |
"Listen for test event" no muestra nada tras enviar el formulario | Survio manda solo a Production URL y la escucha va a Test URL | Mejor revisa la pestaña Executions |
Último cambio no se aplica | El flujo está publicado pero no el cambio (el botón Publicar tiene un punto) | Pulsa Publicar otra vez |
Columna vacía y una nueva al final | Un campo en Preparar lead no coincide en nombre | Pon el nombre igual en Preparar lead y borra la columna sobrante |
Leads duplicados | Operación solo Añadir fila o falta Columna para comparar | Usa Añadir o actualizar fila y compara por Response ID |
Responder te llega a ti, no al lead | Falta opción Enviar respuestas a en Gmail | Añade Enviar respuestas a y pon el correo electrónico del lead |
Tamaño de equipo sale como fecha | Google Sheets lee un rango tipo 2-10 como fecha | En Guardar lead en la hoja, pon Formato de celda en Que n8n dé formato |
Falta el correo electrónico | Lees | Tómalo de la Respuesta de tu Pregunta de correo electrónico |
Fallo al crear/actualizar contacto | El correo electrónico está vacío o mal, o hay que volver a conectar HubSpot | Haz la Pregunta de correo electrónico obligatoria y reconecta HubSpot en el nodo |
Survio apagó el webhook | La URL falló cinco días seguidos | Soluciona el fallo y vuelve a activar el webhook en Survio |
Cosas a tener en cuenta
Survio solo manda Respuestas completas, una por envío, y es casi inmediato. Si el usuario cierra el formulario antes de acabar, no se envía nada.
No se envía nada retroactivamente: ni las Respuestas previas al webhook, ni cuando estuvo pausado.
Si falla, Survio lo reintenta hasta 8 veces en unas 27 horas, esperando hasta 30 segundos cada vez. Usar Response ID previene líneas duplicadas.
Si falla 5 días seguidos, Survio desactiva tu webhook y tienes que volver a activarlo.
Si pausas el webhook, lo puedes reactivar; si lo eliminas, es permanente.
Survio no guarda histórico de envíos en la app. Tu registro es la pestaña Executions en n8n.
Enviar Respuestas a webhooks no gasta más Respuestas de tu plan.
¿Quieres que te lo montemos? En la página de Webhooks de Survio, pulsa Solicitar configuración experta, cuéntanos lo que necesitas, y te lo dejamos funcionando, validado y listo.
