Una integración outbound–HubSpot cierra el loop cuando hace tres cosas: busca al contacto por correo y lo crea o lo actualiza (un upsert) en cuanto contesta, deja la respuesta registrada en HubSpot, y usa el estado del contacto en el CRM para que un cliente actual no reciba otra secuencia fría. Las guías oficiales de Smartlead e Instantly (consultadas el 2026-10-02) documentan bien la primera y dejan la tercera casi sin describir.
Cerrar el loop significa que el dato viaja en las dos direcciones: de la herramienta de envío al CRM cuando alguien responde, y del CRM a la herramienta de envío cuando el contacto cambia de estado. Esta pieza lee la documentación pública de las dos herramientas contra la de HubSpot, y dice qué escribe cada una, qué calla y qué decisión de diseño pesa más que la marca.
En el método IMPRO (Investiga, Mensajes que llegan, Personalizados, Respuestas, Oportunidades) esto vive en la R: lo que pasa con una respuesta desde que llega hasta que un humano la ve en el CRM. Es lectura de documentación, no de la configuración de ningún cliente. La capa de CRM dentro del stack completo está en infraestructura outbound.
¿Qué hace por dentro la integración nativa de Smartlead con HubSpot?
La guía de SmartAgents de Smartlead describe un flujo de seis pasos: un trigger (programado o por evento de campaña), la lectura de respuestas del inbox, un nodo de lógica de IA que evalúa condiciones, el upsert del contacto en HubSpot, una actualización opcional del lead en la campaña y un aviso opcional a Slack (helpcenter.smartlead.ai, consultada el 2026-10-02). Nace de la respuesta, no de la lista.
| Paso | Qué hace | Decisión que representa |
|---|---|---|
| Trigger | Corre a una hora programada o ante un evento de campaña | El sync es por evento o por lote, no continuo. Un trigger por evento no se edita después de crear el agente |
| Fetch Inbox Replies | Trae las respuestas del inbox | Solo entra quien contestó |
| AI Logic Node | Evalúa condiciones contra la respuesta | Una regla, no un humano, decide qué respuesta merece CRM |
| HubSpot: Upsert Contact | Busca por correo; crea si no existe, actualiza si existe | El correo es la llave |
| Smartlead: Update Campaign Lead | Cambia el estado del lead en la campaña (opcional) | Evita que el lead siga en secuencia |
| Slack: Send Message | Avisa al equipo (opcional) | Un humano se entera sin abrir el CRM |
Los campos que la guía documenta como sincronizados son cuatro: correo, nombre, apellido y empresa. La frase que más importa para quien ya usa HubSpot es textual: "Empty fields in Smartlead will not overwrite existing values in HubSpot". Si ventas enriqueció el contacto con cargo o teléfono, un campo vacío en Smartlead no lo borra.
La conexión se hace una vez, por OAuth. La guía no menciona plan, límites de API ni fecha de última actualización.
Quién promete qué. La página comercial smartlead.ai/integrations dice "Automatically sync leads, deals, updates, and activities" (consultada el 2026-10-02). La guía de ayuda documenta 4 campos y un flujo de respuestas. Las dos son de Smartlead: trata la guía como lo especificado y la página como lo prometido. Si tu proceso depende de que deals o actividades lleguen al timeline, pide confirmación escrita de qué objeto escribe tu plan.
¿Qué cambia en la integración de Instantly y cuál conviene en 2026?
Instantly arma el loop con Automations, no con un upsert por respuesta: un trigger más una o varias acciones, y el trigger puede venir de HubSpot. Su documentación (help.instantly.ai, consultada el 2026-10-02) enumera acciones como "Create or update contact", "Create message", "Create task", "Create note", "Send event", "Create or update record" y "Find contact (to get HubSpot Contact ID)".
Los eventos que Instantly empuja de vuelta son tres: "Positive replies", "Status changes" y "Engagement outcomes". Los triggers que escuchan a HubSpot incluyen contacto y deal creado, actualizado o eliminado, tareas, notas, comunicaciones, mensajes nuevos en conversaciones y "Deal association changed".
El artículo no describe el criterio de coincidencia, el plan que lo habilita ni cómo sacar un lead de una campaña. El marketplace de Instantly afirma que importa contactos de HubSpot "with field mapping and deduplication" (instantly.ai/marketplace/hubspot, consultado el 2026-10-02), pero es texto comercial del vendor y no dice con qué propiedad deduplica.
| Capacidad | Smartlead SmartAgent | Instantly Automations | API de HubSpot directa |
|---|---|---|---|
| Dirección que describe | Herramienta de envío hacia HubSpot, desde la respuesta | Ambas, con triggers desde HubSpot | La que tú programes |
| Objetos | Contacto (4 campos) | Contacts, Messages, Tasks, Notes, Records | Los que expone la API |
| Deduplicación | Upsert por correo, documentado | No documentada en el artículo consultado | idProperty, documentado |
| Plan o límite | No documentado en la guía consultada | No documentado en el artículo consultado | Límites por plan, documentados |
| Trigger desde HubSpot | No descrito en la guía consultada | Sí, documentado | Webhook, según plan de HubSpot |
"No documentado" dice lo que el artículo consultado no contiene, no que la herramienta no pueda hacerlo. Precios y a quién sirve cada una: Smartlead o Instantly en 2026.
Regla de decisión. Si HubSpot tiene que disparar algo en la herramienta de envío (por ejemplo, parar una secuencia cuando un contacto pasa a cliente), el modelo de triggers de Instantly lo describe y la guía de Smartlead no. Si solo necesitas que las respuestas lleguen al CRM, el flujo de SmartAgents ya lo hace. La dirección que necesitas decide; la marca no.
¿Qué deja sin cubrir la documentación y quién lo resuelve?
Ninguna de las dos guías describe, de principio a fin, la exclusión de clientes actuales. Instantly tiene el trigger "Contact updated" y Smartlead la acción de actualizar el lead de campaña, pero el artículo de Instantly no detalla cómo sacar un lead de una campaña y la guía de Smartlead no describe un disparo desde HubSpot (consultadas el 2026-10-02).
Faltan dos piezas:
- El registro de la respuesta como actividad en el timeline, que es lo que el vendedor lee antes de llamar.
- La regla que une las dos mitades: excluir de la secuencia fría a cualquiera cuyo
lifecyclestagesea cliente o que ya tenga unhubspot_owner_id, dos propiedades estándar de contacto (HubSpot, propiedades predeterminadas de contacto, consultadas el 2026-10-02). Sin esa regla escrita en alguna parte, el loop está abierto aunque las respuestas lleguen.
Conectores de terceros. OutboundSync, middleware de un vendor, declara que escribe en HubSpot sends, replies, opens, clicks, bounces y eventos de timeline (outboundsync.com/integrations/hubspot, consultado el 2026-10-02). Es lo más cercano a "toda la actividad en el CRM", y es la declaración de un vendor sobre su propio producto: no describe cómo deduplica. Su precio no figura en la página consultada, así que no se cita ninguno.
El trigger que cierra el otro lado. HubSpot ofrece el trigger de workflow "when a webhook is received", pero solo en suscripciones Professional y Enterprise de Marketing Hub, Sales Hub, Service Hub, Data Hub o Smart CRM, y exige que la propiedad de enrolamiento tenga marcada "Require unique values for property" (HubSpot Knowledge Base, consultado el 2026-10-02). Sin ese plan, la exclusión desde HubSpot no se dispara con webhook.
Costo. Ninguna guía consultada nombra un cargo por la integración nativa, y tampoco dice que sea gratis. Pregunta por escrito antes de asumir cero.
¿Cómo evita HubSpot el duplicado y cuándo falla?
HubSpot deduplica contactos por la propiedad Correo electrónico y empresas por el dominio. Al agregar un contacto nuevo, "HubSpot buscará un valor coincidente en la propiedad Correo electrónico" y, para empresas, busca en los valores primarios de la propiedad de dominio (HubSpot, documentación de fusión automática, consultada el 2026-10-02). Por eso un correo mal escrito crea un contacto nuevo en vez de actualizar el existente.
El punto de falla son las empresas: "Las empresas creadas a través de la API no serán desduplicadas por la propiedad de empresa. Esto incluye las aplicaciones de sincronización de terceros instaladas" (misma fuente). Una integración que crea empresas por API sin buscar antes por dominio duplica cuentas aunque los contactos estén limpios.
Hay un segundo borde. Si ya existen varias empresas con el mismo dominio, la importación da error y esa empresa no se importa, con lenguaje similar para contactos con correo duplicado. La limpieza se hace antes de conectar, no después.
El upsert por API. La guía de contactos de HubSpot (developers.hubspot.com, consultada el 2026-10-02) dice que las operaciones batch están limitadas a 100 registros por solicitud, y que idProperty indica si usas email o una propiedad de identificador único propia. Agrega una advertencia que conviene citar tal cual: "Partial upserts are not supported when using email as the idProperty for contacts". La ruta de la documentación lleva versión por fecha; la visible ese día era la de 2026-09.
La forma mínima de una entrada de batch upsert, con valores ilustrativos:
{
"inputs": [
{
"id": "correo-del-contacto",
"idProperty": "email",
"properties": {
"firstname": "Nombre",
"company": "Empresa"
}
}
]
}
Son tres campos por entrada: id (el valor del identificador), idProperty (qué propiedad es) y properties (lo que se escribe). Si tu herramienta o tu conector usa este endpoint, esa es la forma de lo que llega a HubSpot. Para duplicados en la capa de datos, cuando el enriquecimiento corre dos veces sobre el mismo contacto, ve Clay y Apollo sin duplicar enriquecimiento.
¿Cuántas llamadas y cuánto ruido cuesta sincronizar toda la lista?
El límite de la API de HubSpot casi nunca es el problema; el problema es qué escribes en el CRM. Con los datos de la operación propia de Improvitz en MailBridge (mayo a agosto de 2026), de 23,224 contactos tocados, 537 contestaron (2.31%). Es el conteo de una operación, no una proyección para tu empresa.
| Escenario | Registros | Solicitudes batch (100 por solicitud) | Registros que nunca contestaron |
|---|---|---|---|
| Sincronizar la lista tocada | 23,224 | 233 | 22,687 (97.7%) |
| Sincronizar solo respuestas | 537 | 6 | 0 |
La aritmética: 23,224 / 100 = 232.24, que son 233 solicitudes. 537 / 100 = 5.37, que son 6. Y 23,224 − 537 = 22,687, el 97.7% de la lista.
Los límites de HubSpot para aplicaciones privadas (developers.hubspot.com, usage guidelines, consultadas el 2026-10-02) son de 100 solicitudes cada 10 segundos y 250,000 al día en Free y Starter, 190 y 625,000 en Professional, y 190 y 1,000,000 en Enterprise. Una aplicación pública con OAuth tiene 110 cada 10 segundos. El límite diario se comparte entre todas las aplicaciones de la cuenta y, al excederlo, la API responde 429.
Las 233 solicitudes caben en unos 24 segundos al ritmo máximo de Free y Starter y usan 0.09% del límite diario de 250,000. Ambos escenarios caben. Lo que cambia es lo que queda dentro del CRM: sincronizar la lista fría deja 22,687 contactos que nunca respondieron, cada uno con su propiedad, su dueño y su lugar en las vistas del vendedor. El denominador de ese 2.31% está en tasa de respuesta normal y su denominador.
Regla de decisión. Sincroniza desde la respuesta humana; la lista fría se queda en la herramienta de envío. Si necesitas medir la lista completa, hazlo en la herramienta o en un reporte, no en el CRM.
¿Cuándo no conviene automatizar el sync?
No conviene cuando todavía no existe un criterio escrito de qué respuesta merece un registro en HubSpot, o cuando el plan de HubSpot no incluye el trigger que necesitas. Automatizar sin criterio reproduce el desorden más rápido. Casos concretos:
- Sin Professional o Enterprise no hay trigger de webhook. La alternativa manual es exportar cada semana los contactos con
lifecyclestageigual a customer y subirlos a la herramienta de envío como lista de exclusión. Sin ninguna de las dos, un cliente actual recibe un correo frío, que es peor que no haber integrado nada. - Actividad de bajo valor en el timeline. Si cada envío, apertura y rebote se escribe como actividad, el historial que lee el vendedor se llena de ruido y la respuesta que importa queda enterrada.
- Un conector para no definir quién es dueño del dato. Si nadie decidió si el contacto lo gobierna HubSpot o la herramienta de envío, el conector solo escribe más rápido en dos sitios que no coinciden. Y una vez decidido, el sistema que es fuente de verdad empuja sus cambios al CRM; si alguien "los pasa después" a mano, ese canal lateral vuelve a abrir la diferencia.
- Calificar la respuesta. Que una respuesta sea una oportunidad no se automatiza; el loop mueve datos, y calificar sigue siendo trabajo de una persona.
Si el siguiente movimiento es cambiar de herramienta de envío, la integración se reconstruye de cero. Los pasos están en migrar de herramienta de outbound sin perder la operación.
¿Qué revisas el lunes?
Tres preguntas, en este orden:
- ¿Qué campos escribe hoy tu integración? Ábrela y compárala con la tabla del primer apartado. Si escribe correo, nombre, apellido y empresa y tú pensabas que escribía actividad, el timeline no es lo que crees. Pide por escrito qué objeto escribe tu plan.
- ¿La exclusión de HubSpot hacia la herramienta de envío existe o es manual? Si es manual, escribe la regla (
lifecyclestageigual a customer, o conhubspot_owner_id) y ponle fecha semanal. Con Professional o Enterprise, evalúa el trigger de webhook. - ¿Quién crea empresas por API? Si lo hace una integración o un conector, busca por dominio antes de crear; si no puedes, programa una fusión periódica, porque HubSpot no las deduplica por ti.
La revisión más barata: mira qué porcentaje de lo que hay en HubSpot desde tu herramienta de envío son contactos que nunca respondieron. Si es la mayoría, el cambio de diseño es sincronizar desde la respuesta.
Si prefieres no armarlo tú, Improvitz, consultoría de prospección B2B con IA en México, opera la prospección y el enlace con el CRM; el primer paso es el diagnóstico.
Las capacidades, los planes y los límites de Smartlead, Instantly y HubSpot cambian varias veces al año. Todo lo documentado aquí se consultó el 2026-10-02; revísalo antes de decidir.
Fuentes (todas consultadas el 2026-10-02):
- Guía de SmartAgents con HubSpot, Smartlead (consultada el 2026-10-02)
- HubSpot en Automations, Instantly (consultada el 2026-10-02)
- Fusión automática de duplicados, HubSpot (consultada el 2026-10-02)
- Trigger de webhook en workflows, HubSpot (consultada el 2026-10-02)
- Guía de contactos de la API, HubSpot (consultada el 2026-10-02)
- Límites de uso de la API, HubSpot (consultada el 2026-10-02)