Un formulario de HubSpot es una máquina de captación de contactos: cada envío crea
o actualiza un registro de contacto, establece propiedades y puede inscribir a ese
contacto en un flujo de trabajo. Lo que no hará es decirte si la dirección que
alguien escribió es realmente real. El campo de correo de HubSpot ejecuta una
comprobación de formato —confirma que hay una @ y un dominio—, pero no puede ver
que el buzón está muerto, que es desechable o que es una errata de gmail.com. Esta
guía muestra dos formas prácticas de verificar los correos de los formularios de
HubSpot con Qualisend: en tiempo real, con un flujo de trabajo de Operations Hub
que hace un POST de cada nueva dirección a la API de Qualisend, y de forma masiva,
exportando los contactos a un CSV. Ninguna necesita un conector nativo —todavía no
existe uno—, solo las acciones de flujo de trabajo integradas de HubSpot o su botón
de exportación.
La respuesta corta#
Elige la ruta que se ajuste a cuándo necesitas la respuesta:
- Tiempo real — inscribe a los nuevos remitentes de formularios en un flujo de
trabajo. Una acción de código personalizado o de webhook llama a la API
de Qualisend con el correo, y una rama escribe el veredicto en una propiedad del
contacto, para luego derivar o suprimir el registro según el
statusdevuelto. - Masivo — exporta tus contactos a CSV, pásalos por la verificación masiva de Qualisend y suprime los no entregables antes de tu próximo envío.
Por qué el campo de formulario de HubSpot no puede confirmar un buzón#
El campo email de HubSpot valida el formato: comprueba que la cadena parece una
dirección antes de dejar que el formulario se envíe. Esa es la misma clase de
comprobación que hace una expresión regular, y falla por las mismas razones:
el formato no es entregabilidad.
jane@gmial.com supera la comprobación de formato. También lo hace
throwaway@mailinator.com, y también una dirección de aspecto real en un dominio
que cerró el año pasado.
Ninguna de esas se detecta hasta que envías, y para entonces una dirección muerta es un rebote duro que erosiona tu tasa de rebote y tu reputación como remitente. La verificación real añade las capas que HubSpot no puede: una consulta DNS/MX y un sondeo SMTP del buzón, además de marcadores para direcciones desechables, de rol y catch-all. Si esta cadena de procesos es nueva para ti, qué comprueba realmente la verificación de correo es la introducción.
Dos formas de verificar los correos de los formularios de HubSpot#
Primero, la restricción importante: un formulario estándar de HubSpot no puede bloquear un correo incorrecto a mitad del envío. No hay ninguna manera compatible de llamar a una API externa entre el clic en "Enviar" y la creación del registro, así que la verificación en tiempo real ocurre justo después del envío, dentro de un flujo de trabajo, no como una barrera en línea. Eso condiciona ambas rutas de abajo.
| Ruta | Cuándo se ejecuta | Ideal para |
|---|---|---|
| Flujo de trabajo en tiempo real | Segundos después de cada envío | Captación en vivo: etiquetar, derivar o retener el seguimiento antes del primer envío |
| CSV masivo | Bajo demanda, por lotes | Acumulaciones de contactos existentes e higiene periódica de listas |
Ruta 1: en tiempo real con un flujo de trabajo de Operations Hub#
Crea un flujo de trabajo basado en contactos y establece el desencadenante de inscripción en "Envío de formulario", acotado al formulario que te interesa. Cada nuevo remitente fluye ahora hacia el flujo de trabajo, donde haces la llamada de verificación y actúas sobre el resultado.
Hay dos maneras de hacer esa llamada: elige la que encaje con tu portal y tu stack.
Opción A — una acción de código personalizado (autónoma). Si estás en
Operations Hub Professional o Enterprise, una acción de código personalizado
ejecuta Node.js (o Python) directamente dentro del flujo de trabajo. Añade el
email del contacto inscrito como propiedad de entrada, guarda tu clave como un
secreto llamado QUALISEND_API_KEY y llama a Qualisend desde la acción:
// HubSpot custom-code action (Node.js) — input property: email, secret: QUALISEND_API_KEY
const QUALISEND_ENDPOINT = "https://api.qualisend.com/v1/verify"; // confirm the path in /developers
exports.main = async (event, callback) => {
const email = event.inputFields.email;
const res = await fetch(QUALISEND_ENDPOINT, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.QUALISEND_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ email }),
});
// Fail open — never block a real lead on a transient API error.
if (!res.ok) return callback({ outputFields: { email_status: "unknown" } });
const { result } = await res.json();
callback({
outputFields: {
email_status: result.status, // deliverable / risky / undeliverable / unknown
email_score: result.score,
},
});
};
La acción expone email_status y email_score como salidas. A continuación, añade
un paso de Copiar valor de propiedad que escriba email_status en una propiedad
de contacto personalizada, y luego usa una rama if/then para derivar según ese
valor, que es la razón entera por la que ejecutaste la comprobación.
Opción B — una acción de webhook hacia tu propia función. ¿Prefieres mantener la lógica en tu propia base de código, o no estás en un nivel con código personalizado? Añade una acción de webhook que haga un POST a una pequeña función serverless que tú controlas. La función extrae el correo, llama a Qualisend y escribe el veredicto de vuelta en el contacto con la API del CRM de HubSpot. Es la misma forma del lado del servidor que el patrón de verificar en el registro: la clave de la API nunca sale del servidor, y tú actúas sobre el resultado. El código del endpoint del tutorial de Node.js o del tutorial de Python encaja casi tal cual; solo el análisis del payload es específico de HubSpot.
En cualquier caso, la solicitud subyacente es la misma, y los marcadores de posición son tuyos para rellenarlos desde la documentación para desarrolladores:
POST https://api.qualisend.com/v1/verify
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{ "email": "jane@example.com" }
Una dirección entregable vuelve así: un status, un score de 0 a 100, un reason
y un conjunto de sub_flags:
{
"result": {
"status": "deliverable",
"score": 95,
"reason": null,
"sub_flags": { "disposable": false, "role": false, "free": false, "catch_all": false }
}
}
Dos reglas mantienen esto robusto. Usa una clave con alcance limitado creada
para este flujo de trabajo en lugar de una clave de acceso completo, para que si
alguna vez se filtra de un registro solo pueda verificar, nada más. Y falla en
abierto: si Qualisend agota el tiempo de espera o se alcanza el límite del plan,
trata la dirección como unknown y conserva el contacto en lugar de descartar un
lead real por un fallo transitorio, que es exactamente lo que hace la rama !res.ok
de arriba.
Aguas abajo, el veredicto no es más que una rama. Establece una propiedad
personalizada "Estado del correo" a partir de la salida, y luego deja que tu
flujo de trabajo decida: un contacto deliverable continúa en la secuencia de
maduración; a uno undeliverable o disposable se le retiene el seguimiento, se le
marca para revisión o se le fija como no comercial para excluirlo de las listas y
los envíos activos. El flujo de trabajo es la fontanería; la derivación es tuya.
Ruta 2: verificar de forma masiva una exportación CSV#
Si ya tienes miles de contactos, o prefieres limpiar según un calendario en lugar de ejecutar comprobaciones por cada envío, hazlo por lotes; y esta ruta no necesita ningún flujo de trabajo, así que también funciona por debajo de los niveles de Operations Hub. En HubSpot, abre Contactos, elige una lista o un filtro y Exporta a CSV. Obtendrás una fila por contacto con el correo en su propia columna.
Luego:
- Sube el CSV a la verificación masiva de Qualisend y deja que ejecute la cadena completa —MX, SMTP y los marcadores de desechable/rol/catch-all— sobre cada fila.
- Descarga el archivo anotado. Cada dirección vuelve con un
status, unreasony unscorede 0 a 100. - Suprime las no entregables de vuelta en HubSpot: importa los resultados para establecer tu propiedad "Estado del correo" y luego excluye de tus listas activas y envíos de marketing todo lo que no sea entregable.
Lo masivo es la herramienta adecuada para una acumulación, pero es limpieza, no prevención: una dirección que capturas aquí normalmente ya lleva tiempo sentada en tu base de datos. Combina una pasada masiva periódica con el flujo de trabajo en tiempo real para que las nuevas direcciones incorrectas se marquen en el momento en que llegan.
Actuar sobre el veredicto#
Sea cual sea la ruta que devuelva el resultado, la forma es la misma: un status,
un reason, un score y las sub-flags. Asocia cada uno a una acción:
| Resultado | Qué hacer en HubSpot |
|---|---|
deliverable | Acepta: continúa el flujo de trabajo y envía con normalidad. |
undeliverable | Suprime. Fija el contacto como no comercial o exclúyelo de los envíos;
revisa el reason para ver si es un dominio incorrecto o un buzón
muerto. |
marcador disposable | Rechaza o etiqueta, según lo estricto que sea tu embudo; consulta direcciones de rol, desechables y gratuitas. |
risky / catch-all | Acepta pero segmenta. Un dominio catch-all no puede confirmar el buzón individual, así que envía con cautela. |
unknown | Acepta y vuelve a comprobar más tarde: la infraestructura no respondió, así que nunca descartes un lead real por ello. |
Si estás sopesando el enfoque de flujo de trabajo de HubSpot frente a llamar a la API directamente desde tu propio backend, se aplica la misma disyuntiva que con cualquier pegamento: los flujos de trabajo ganan en rapidez de puesta en marcha, una integración directa gana en coste y control a escala. El mismo patrón de webhook también impulsa las guías hermanas de Zapier y Typeform si parte de tu captación vive fuera de HubSpot.
Preguntas frecuentes#
¿Existe una integración nativa de Qualisend para HubSpot?#
Ahora mismo no. Las integraciones nativas de plataforma de Qualisend se están reconstruyendo, así que todavía no hay una app de marca que instalar en el Marketplace de HubSpot; está en la hoja de ruta. Hasta que llegue, la forma compatible de verificar los correos de los formularios de HubSpot es una acción de código personalizado o de webhook en un flujo de trabajo apuntando a la API de Qualisend, exactamente como describe esta guía. Ese enfoque también es más flexible: tú controlas la solicitud, la ramificación y en qué propiedad del contacto aterriza el veredicto.
¿Necesito Operations Hub para verificar los correos de los formularios de HubSpot?#
Para el flujo de trabajo en tiempo real, básicamente sí. Los flujos de trabajo requieren un nivel Professional, y las acciones de webhook y de código personalizado requieren específicamente Operations Hub Professional o Enterprise. Si tu portal está en un nivel inferior, usa en su lugar la ruta de exportación a CSV y verificación masiva: no necesita ningún flujo de trabajo ni código personalizado, solo una exportación y la subida de un archivo, así que funciona en cualquier plan que te permita exportar contactos.
¿Puedo bloquear un correo incorrecto antes de que se envíe el formulario?#
No de forma fiable. Un formulario estándar de HubSpot no tiene ninguna manera compatible de llamar a una API externa a mitad del envío y detener la creación del registro, así que la verificación en tiempo real se ejecuta justo después del envío, dentro del flujo de trabajo. En la práctica no pasa nada: verificas en cuestión de segundos y actúas antes de que la dirección reciba ningún mensaje; retienes el correo de bienvenida, etiquetas el contacto o lo derivas a revisión en lugar de bloquear el formulario en sí.
¿En qué se diferencia esto de limpiar mi lista existente de HubSpot?#
Verificar en la entrada impide que entren nuevas direcciones incorrectas; limpiar tu lista existente elimina las que ya están dentro. Esta guía trata sobre lo primero: capturar cada envío en cuanto aterriza. Para lo segundo, haces una pasada puntual (o programada) sobre toda tu base de datos, decidiendo qué suprimir y cómo reactivar los contactos inactivos. La rutina completa, incluyendo dónde encaja cada estado, está en cómo limpiar una lista de correo. La mayoría de los equipos hacen ambas cosas.
¿Listo para conectarlo todo? Consigue una clave con alcance limitado y el formato exacto de la solicitud en la documentación para desarrolladores, comprueba una sola dirección en el verificador de correo gratuito, o empieza con los 100 créditos gratis de cada plan para probar el flujo de trabajo de principio a fin antes de activarlo.