Módulo 6: CRM con HubSpot

Conectar HubSpot a n8n

Descripción de la cápsula

Conectar HubSpot sigue el patrón que ya conoces de Airtable, Notion y Slack: creas algo del lado de HubSpot, obtienes un token, lo pegas en n8n. No es "Sign in with Google" — HubSpot tiene su propio mecanismo, basado en una app privada (private app) dentro de tu cuenta de HubSpot.

La parte que tiene su matiz — y por eso le dedicamos atención — son los scopes. HubSpot organiza los permisos con bastante detalle: leer contactos, escribir contactos, leer deals, escribir deals, etc. Como con Slack, el principio es pedir solo lo que tu integración necesita. Y como con todas las herramientas del módulo anterior, hay un detalle de "qué puede ver" que conviene tener claro desde el inicio.

El objetivo: terminar con una credencial de HubSpot funcionando y una lectura de prueba de tus contactos.


Lo que vas a aprender

Al terminar esta cápsula serás capaz de:

  • Crear una app privada en HubSpot
  • Elegir los scopes que tu integración necesita
  • Obtener el token de acceso y crear la credencial en n8n
  • Hacer una lectura de prueba de tus contactos
  • Entender qué tipo de cuenta de HubSpot necesitas (y cuál no)

Qué cuenta de HubSpot necesitas

Antes del setup, lo importante: el CRM gratuito de HubSpot es suficiente para todo este módulo. No necesitas Sales Hub, Marketing Hub ni ningún plan de pago. El CRM gratuito te da contactos, empresas, deals, pipelines y actividades — todo lo que vamos a automatizar.

Si tu empresa ya tiene HubSpot de pago, perfecto — todo lo del módulo aplica igual. Si no, crea una cuenta gratuita para aprender. Lo que construyas funciona idéntico en ambas.


Por qué una "app privada"

HubSpot ofrece dos formas de conectar integraciones: apps públicas (para integraciones que se distribuyen a muchas cuentas, con OAuth completo) y apps privadas (para conectar tu propia cuenta con tus propias herramientas).

Para n8n conectándose a tu CRM, lo correcto es una app privada:

  • Vive dentro de tu cuenta de HubSpot
  • Te da un token de acceso directo (sin el flujo OAuth completo)
  • Tú controlas exactamente qué scopes tiene
  • Si algo sale mal, la desactivas sin afectar tu cuenta

Es el mismo modelo que la "integración interna" de Notion (cápsula 02 del Módulo 5): una identidad propia, para tu uso, con permisos que tú defines.


Paso a paso: crear la app privada

Paso A: ir al panel de apps privadas

  1. En tu cuenta de HubSpot, ve a Configuración (el engranaje)
  2. En el menú lateral, busca Integraciones → Apps privadas
  3. Click en Crear una app privada

Paso B: nombrar y elegir scopes

  1. Dale un nombre (Asistente n8n) y, opcionalmente, una descripción
  2. Ve a la pestaña de Scopes (alcances)
  3. Marca los scopes que tu integración necesita

Los scopes básicos para este módulo (trabajar con contactos, empresas y deals):

Scope (área)Permite
crm.objects.contacts (read / write)Leer y crear/actualizar contactos
crm.objects.companies (read / write)Leer y crear/actualizar empresas
crm.objects.deals (read / write)Leer y crear/actualizar deals
crm.schemas.* (read)Leer la estructura (propiedades, pipelines)

Principio (igual que en Slack): pide solo lo que necesitas. Si tu workflow solo va a crear contactos, no marques los scopes de escritura de deals. Siempre puedes agregar scopes después — editas la app y se actualiza. Cada scope de más es permiso que tu integración no necesitaba.

Paso C: obtener el token

  1. Termina de crear la app
  2. HubSpot te muestra un token de acceso (access token)
  3. Cópialo — es la llave que usará n8n

Trátalo como una contraseña: quien tenga ese token puede actuar sobre tu CRM con los scopes que le diste. Si se filtra, en el panel de la app privada puedes rotar (regenerar) el token.


Paso a paso: la credencial en n8n

  1. En n8n → CredentialsAdd credential
  2. Busca HubSpot
  3. Selecciona la opción de token de app privada (suele aparecer como HubSpot App Token o similar — no la opción de OAuth2, que es para apps públicas)
  4. Pega el token de acceso
  5. Nombra la credencial: HubSpot - cuenta negocio

Lectura de prueba

El workflow

  1. Workflow nuevo → Manual Trigger
  2. Agrega un nodo HubSpot
  3. Credential: la que acabas de crear
  4. Resource: Contact
  5. Operation: Get Many (o Search)
  6. Limit: un número pequeño, ej. 5

Ejecutar

Click en Test step. Si recibes tus contactos como items (o una respuesta vacía pero sin error, si tu CRM está vacío): la conexión funciona.

Si da un error de permisos → revisa que marcaste el scope de lectura de contactos. Si da error de autenticación → revisa que copiaste el token completo y elegiste la credencial de token de app privada, no OAuth2.


Trampas comunes

Trampa 1: Intentar usar OAuth2 en vez del token de app privada

Qué pasa: Eliges la credencial OAuth2 de HubSpot y te enredas con un flujo que no necesitas.

Cómo evitar: Para conectar tu propia cuenta, usa una app privada y su token de acceso. OAuth2 es para apps públicas distribuidas a terceros.


Trampa 2: Faltan scopes

Qué pasa: Puedes leer contactos pero falla al crear deals, o no ves los pipelines.

Cómo evitar: Marca los scopes de lectura y escritura de cada objeto que vas a usar, más los de leer la estructura (schemas). Si te falta uno, edita la app privada y agrégalo.


Trampa 3: Buscar un plan de pago que no necesitas

Qué pasa: Crees que necesitas Sales Hub para automatizar y te frenas.

Cómo evitar: El CRM gratuito de HubSpot cubre todo este módulo. Empieza ahí.


Trampa 4: Exponer el token

Qué pasa: Pegas el token en un mensaje, repo o screenshot. Cualquiera con él accede a tu CRM.

Cómo evitar: Trátalo como contraseña. Si se filtra, rota el token desde el panel de la app privada.


Trampa 5: No anotar qué scopes le diste

Qué pasa: Meses después, un workflow falla por permisos y no recuerdas qué scopes tiene la app.

Cómo evitar: El panel de la app privada siempre muestra sus scopes actuales — es tu fuente de verdad. Cuando algo falle por permisos, revísalos ahí.


Ejercicio: conecta y lee

Objetivo: terminar con una credencial de HubSpot y una lectura de contactos.

Tu tarea

  1. Crea (o usa) una cuenta de HubSpot con el CRM gratuito
  2. Crea una app privada Asistente n8n con los scopes de lectura/escritura de contactos, empresas y deals, más los de schemas
  3. Copia el token de acceso
  4. Crea la credencial de token de app privada en n8n
  5. Si tu CRM está vacío, crea 2-3 contactos de prueba a mano en HubSpot
  6. Construye Manual Trigger → HubSpot (Contact, Get Many) y verifica que recibes los contactos

Checklist de éxito:

  • La app privada existe con los scopes correctos
  • La credencial de n8n usa el token de app privada (no OAuth2)
  • La lectura de prueba devuelve tus contactos sin error
  • Sabes dónde rotar el token si se filtra

Resumen y siguiente paso

  • El CRM gratuito de HubSpot es suficiente para todo el módulo — no necesitas planes de pago
  • Para conectar tu propia cuenta, se usa una app privada (no OAuth2 — eso es para apps públicas distribuidas)
  • La app privada es una identidad interna con scopes que tú defines — el mismo modelo que la integración de Notion
  • HubSpot organiza los scopes con detalle (read/write por objeto) — pide solo lo que necesitas, agrega después si hace falta
  • El token de acceso de la app privada es la llave que va a n8n — trátalo como contraseña, rótalo si se filtra
  • 5 trampas: usar OAuth2 por error, faltan scopes, buscar un plan de pago innecesario, exponer el token, no saber qué scopes diste

Antes de avanzar deberías poder:

  • Crear una app privada de HubSpot con scopes
  • Crear la credencial correcta en n8n (token de app privada)
  • Leer tus contactos desde un workflow

Lo que sigue (cápsula 03):

Ya conectado, vamos al objeto central del CRM: el Contacto. Todo en HubSpot gira alrededor de una persona — crear leads, buscarlos, actualizarlos, y el detalle que define el módulo: cómo HubSpot maneja las propiedades de un contacto.


Recursos adicionales

  1. HubSpot: apps privadas - Cómo crear y configurar apps privadas.
  2. HubSpot: scopes - Lista de scopes disponibles.
  3. n8n HubSpot Credentials Docs - Setup de la credencial en n8n.

Creado: Mayo 14, 2026 Versión: 1.0