Skip to main content

Run in Postman

La API de Webhooks permite suscribirse a eventos que ocurren en una cuenta de HubSpot con la integración instalada. En lugar de hacer una llamada de API cuando ocurre un evento en una cuenta conectada, HubSpot puede enviar una solicitud HTTP a un punto de terminación que configures. Puedes configurar eventos suscritos en la configuración de tu aplicación o usar los puntos de terminación que se detallan a continuación. Los webhooks pueden ser más escalables que la interrogación frecuente por cambios, especialmente para aplicaciones con una gran base instalada. El uso de la API de Webhooks requiere de lo siguiente:
  • Debes configurar una aplicación de HubSpot para usar webhooks mediante la suscripción a los eventos sobre los que deseas recibir notificaciones y la especificación de una URL para enviar esas notificaciones. Consulta la documentación de requisitos previos para obtener más detalles sobre cómo crear una aplicación.
  • Debes implementar un punto de terminación de HubSpot disponible públicamente y seguro (HTTPS) para esa URL que pueda manejar las cargas útiles del webhook especificadas en esta documentación.
Los webhooks se configuran para una aplicación de HubSpot, no para cuentas individuales. Cualquier cuenta que instale tu aplicación a través del flujo de OAuth se suscribirá a las suscripciones a webhook de la aplicación. Puedes suscribirte a eventos de objetos de CRM, que incluyen contactos, empresas, negocios, tickets, productos y elementos de línea, así como eventos de conversación.

Nota:

Alcances

Para usar webhooks para suscribirte a eventos de CRM, tu aplicación deberá estar configurada para requerir el alcance asociado que corresponde al tipo de objeto de CRM al que quieres suscribirte. Por ejemplo, si deseas suscribirte a eventos de contacto, debersá solicitar el alcance crm.objects.contacts.read.
  • Si vas a crear suscripciones en la interfaz de usuario de configuración de tu aplicación pública, se te pedirá que agregues el ámbito requerido en el panel Crear nuevas suscripciones a webhook antes de que termines de crear tu suscripción.
  • Si vas a crear una suscripción realizando una solicitud POST al punto de terminación/webhooks/v3/{appId}/subscriptions, la respuesta incluirá un error que proporcionará el nombre del ámbito que tendrás que configurar en la interfaz de usuario de configuración de tu aplicación pública.
  • Si tu aplicación ya está usando webhooks, no podrás eliminar ningún ámbito requerido por las suscripciones de webhook activas sin primero pausar y eliminar las suscripciones.
  • Puedes revisar los alcances requeridos para cada tipo de suscripción de webhook en la siguiente tabla.
Consulta la documentación de OAuth para obtener más detalles sobre los alcances y la configuración de la URL de autorización para tu aplicación.

Configuración de webhook

Antes de configurar tus suscripciones de webhook, debes especificar una URL a la que se enviarán esas notificaciones. Sigue las instrucciones de las secciones a continuación para obtener información sobre cómo configurar completamente las suscripciones para tu aplicación.

Nota:

  • La configuración de Webhook puede ser almacenada en cache hasta por cinco minutos. Cuando se realizan cambios en la URL del webhook, en los límites de concurrencia o en la configuración de suscripción, puede tardar hasta cinco minutos para ver tus cambios entren en vigencia.
  • HubSpot establece un límite de concurrencia de 10 solicitudes al enviar datos de eventos de suscripción asociados con una cuenta que instaló tu aplicación. Este límite de concurrencia es el número máximo de solicitudes en curso que HubSpot intentará a la vez. Cada solicitud puede contener hasta 100 eventos.

Administrar la configuración de tu cuenta de desarrollador

Puedes administrar tu URL y el límite de supresión a través de la página de configuración de tu aplicación en tu cuenta de desarrollador
  • En tu cuenta de desarrollador, navega al panel de tu aplicación.
  • Haz clic en el nombre de la aplicación para la que deseas configurar los webhooks.
app_id_list
  • En el menú de la barra lateral izquierda, ve a Webhooks.
  • En el campo URL de destino, escribe la URL a la que HubSpot realizará una solicitud POST cuando se desencadenen eventos.
  • Utiliza la configuración de Supresión de eventos para ajustar el número máximo de eventos que HubSpot intentará enviar.
webhook_settings
  • Haz clic en Guardar.

Administrar la configuración a través de API

Puedes usar los siguientes puntos de terminación y tu clave de API de desarrollador para configurar de forma programática la configuración de webhook para una aplicación. Para ver cualquier configuración de webhook configurada actualmente para una aplicación, realiza una solicitud GET a webhooks/v3/{appId}/settings. Deberás incluir el ID de la aplicación en la solicitud, que puedes encontrar debajo del nombre de la aplicación en tu panel de control de Aplicaciones o en la pestaña Autenticación en la configuración de tu aplicación. El objeto de configuración contiene los siguientes campos: Para hacer ediciones a esta configuración, haz una solicitud PUT a webhooks/v3/{appId}/settings e incluye los siguientes campos en el cuerpo de la solicitud: Por ejemplo, el cuerpo de tu solicitud puede tener un aspecto similar al siguiente:

Suscripciones a webhooks

Una vez que hayas establecido las configuraciones de tu URL de webhook y del límite de supresión de eventos, deberás crear una o más suscripciones. Las suscripciones a webhooks le indican a HubSpot los eventos que te gustaría recibir a una aplicación en particular. Las suscripciones se aplican a todos los clientes que han instalado tu integración. Esto significa que solo debes especificar las suscripciones que necesitas una vez. Una vez que hayas activado una suscripción para una aplicación, comenzarás automáticamente a recibir webhooks para todos los clientes que hayan instalado tu aplicación y tu integración comenzará a recibir desencadenantes de webhook desde cualquier cliente nuevo. Para todas las suscripciones de webhook associationChange , el webhook activará dos eventos para ambos lados de la asociación.
  • Al asociar dos contactos, una suscripción a contact.associationChange activará dos eventos, que representan el contacto 1 al contacto 2 y el contacto 2 al contacto 1.
  • Al asociar una empresa, si tienes dos suscripciones de webhook contact.associationChange y company.associationChange, recibirás dos eventos. Estos representarán el contacto 1 a la empresa 1 y la empresa 1 al contacto 1.
Los siguientes tipos de suscripción son compatibles y se pueden usar como valor para el campo eventType al crear suscripciones a través de API: Los siguientes tipos de suscripción de conversaciones están disponibles para que te suscribas si estás usando la bandeja de entrada de conversaciones y la API de mensajes, que actualmente está en versión beta: Para las suscripciones de cambio de propiedad, deberás especificar la propiedad de la que deseas recibir notificaciones. Puedes especificar varias suscripciones de cambios de propiedad. Si la cuenta de un cliente no tiene la propiedad que especificas en una suscripción, no recibirás ningún webhooks de ese cliente para esa propiedad. Algunas propiedades no están disponibles para suscripciones de cambio de propiedad de CRM. Estas propiedades son:
  • num_unique_conversion_events
  • hs_lastmodifieddate
Si estás usando los mensajes de conversación y la API de la bandeja de entrada, que se encuentra actualmente en versión beta, las siguientes propiedades están disponibles:
  • assignedTo: el hilo de conversación se ha reasignado o no asignado. Si se reasignó el hilo, el valor propertyValue será un ID de actor en la carga útil de webhooks; si no se asigna, estará vacío.
  • status: el estado del hilo de conversación ha cambiado. En la carga útil de webhooks, el valor propertyValue estará OPEN o CLOSED.
  • isArchived: se ha restaurado el hilo de conversación. El valor propertyValue en la carga útil de webhooks siempre será FALSE.

Crear suscripciones en tu cuenta de desarrollador

Puedes crear suscripciones de webhook en tu cuenta de desarrollador de HubSpot.
  • En tu cuenta de desarrollador de HubSpot, navega al panel de Aplicaciones.
  • Haz clic en el nombre de una aplicación.
  • En el menú de la barra lateral izquierda, ve a Webhooks.
  • Haz clic en Crear suscripción.
  • En el panel derecho, haz clic en el menú desplegable ¿Qué tipos de objetos? y selecciona los objetos para los que deseas crear una suscripción.
  • Haz clic en el menú desplegable ¿Escuchar cuáles eventos? y selecciona los tipos de eventos.
create-contact-create-subscription
  • Si estás creando una suscripción para eventos de cambio de propiedad, haz clic en el menú desplegable ¿Qué propiedades? y selecciona las propiedades que quieres escuchar.
  • Haz clic en Suscribirse.
La suscripción aparecerá en la configuración de tus webhooks. Las nuevas suscripciones se crean en un estado en pausa, por lo que deberás activar la suscripción para que se envíen webhooks:
  • En la sección Suscripciones de eventos, coloca el cursor sobre el tipo de objeto y haz clic en Ver suscripciones.
  • Selecciona la casilla de comprobación junto al evento y, a continuación, en el encabezado de la tabla, haz clic en Activar.
activate-subscription

Crear suscripciones a través de la API

Puedes crear suscripciones mediante programación usando los siguientes puntos de terminación. Deberás usar tu clave de API de desarrollador al realizar solicitudes a estos puntos de terminación. Un objeto de suscripción puede incluir los siguientes campos:

Obtener suscripciones

Para recuperar la lista de suscripciones, realiza una solicitud GET a webhooks/v3/{appId}/subscriptions. La respuesta será una matriz de objetos que representan tus suscripciones. Cada objeto incluirá información sobre la suscripción, como el ID, la fecha de creación, el tipo y si está habilitado actualmente. Así es como se vería un ejemplo de respuesta:

Crear una nueva suscripción

Para crear una nueva suscripción, haz una solicitud POST a webhooks/v3/{appId}/subscriptions. En el cuerpo de la solicitud, puedes incluir los siguientes campos: No necesitas incluir id, createdAt o createdBy, ya que esos campos se establecen automáticamente. Por ejemplo, el cuerpo de tu solicitud puede tener un aspecto similar al siguiente:
El eventType debe ser un tipo de suscripción válido según se define en la sección anterior y el propertyName debe ser un nombre de propiedad válido. Si un cliente no tiene una propiedad definida que coincida con este valor, esta suscripción no generará notificaciones.

Actualizar una suscripción

Para activar o pausar una suscripción, haz una solicitud PUT a webhooks/v3/{appId}/subscriptions/{subscriptionId}. En el cuerpo de la solicitud, incluye lo siguiente:

Eliminar una suscripción

Para eliminar una suscripción, haz una solicitud DELETE a webhooks/v3/{appId}/subscriptions/{subscriptionId}.

Cargas útiles de webhook

El punto de terminación de la URL de destino que especifiques en la configuración de webhooks de tu aplicación recibirá solicitudes POST que contienen datos con formato JSON de HubSpot. Para asegurarte de que las solicitudes que recibes en tu punto de terminación de webhook provengan de HubSpot, HubSpot rellena un encabezado de X-HubSpot-Signature con un hash SHA-256 creado con el secreto del cliente de tu aplicación combinado con los detalles de la solicitud. Más información sobre cómo validar firmas de solicitudes. Utiliza las tablas a continuación para ver detalles sobre los campos que pueden estar contenidos en la carga útil.
Como se muestra anteriormente, debes esperar recibir una matriz de objetos en una sola solicitud. El tamaño del lote puede variar, pero tendrá menos de 100 notificaciones. HubSpot enviará varias notificaciones solamente cuando hayan ocurrido muchos eventos dentro de un período corto de tiempo. Por ejemplo, si te has suscrito a nuevos contactos y un cliente importa una gran cantidad de contactos, HubSpot te enviará las notificaciones de estos contactos importados en lotes y no una por solicitud. HubSpot no garantiza que recibas estas notificaciones en el orden en que ocurrieron. Usa la propiedad occurredAt para cada notificación para determinar cuándo ocurrió el evento que desencadenó la notificación. Además, HubSpot no garantiza que solo recibas una notificación para un evento. Aunque esto debería ser poco común, es posible que HubSpot te envíe la misma notificación varias veces.

Eliminaciones de contactos conforme con la privacidad

Los usuarios de HubSpot pueden eliminar permanentemente un registro de contacto para cumplir con las leyes de privacidad. Más información sobre cómo realizar una eliminación conforme al RGPD. Puedes suscribirte al tipo de suscripción contact.privacyDeletion para recibir notificaciones de webhook cuando un usuario realice una eliminación de contactos conforme con la privacidad. Las notificaciones de eliminación conforme con la privacidad tienen un comportamiento especial
  • Un evento de eliminación conforme con la privacidad también desencadenará el evento de eliminación de contacto, por lo que recibirás dos notificaciones si estás suscrito a ambos eventos.
  • Estas notificaciones no se enviarán necesariamente en ningún orden en particular o en el mismo lote de mensajes. Deberás usar el objectId para que coincida con los mensajes separados.

Seguridad

Para asegurarte de que las solicitudes que recibes en tu punto de terminación de webhook provienen de HubSpot, HubSpot llena un encabezado de X-HubSpot-Signature con un hash SHA-256 de la concatenación del secreto de aplicación para tu aplicación y el cuerpo de la solicitud que estamos enviando. Para verificar esta firma, concatena el secreto de la aplicación de tu aplicación y el cuerpo de solicitud no interpretado de la solicitud que estás manejando y obtén un hash SHA-256 del resultado. Compara el hash resultante con el valor de X-HubSpot-Signature. Si estos valores coinciden, se confirma que esta solicitud es proveniente de HubSpot. O bien, la solicitud provino de otra persona que conoce el secreto de tu aplicación. Es importante mantener este valor en secreto. Si estos valores no coinciden, es posible que esta solicitud haya sido manipulada en tránsito o que alguien esté falsificando notificaciones de webhook a tu punto de terminación. Más información sobre la validación de solicitudes de firmas.

Reintentos

Si tu servicio tiene problemas para manejar las notificaciones en cualquier momento, HubSpot intentará volver a enviar notificaciones fallidas hasta 10 Veces. HubSpot lo intentará nuevamente en los casos siguientes:
  • Falló la conexión: HubSpot no puede abrir una conexión http a la URL de webhook proporcionada
  • Tiempo de espera: tu servicio demora más de 5 segundos en enviar una respuesta a un lote de notificaciones
  • **Códigos de error:**tu servicio responde con cualquier código de estado HTTP (4xx o 5xx).
Las notificaciones se volverán a intentar hasta 10 Veces. Estos reintentos se distribuirán durante las próximas 24 horas, con distintos retrasos entre las solicitudes. Las notificaciones individuales serán enviadas de manera aleatoria, para evitar que un gran número de errores concurrentes se vuelva a intentar en el mismo momento.

Límites

Las solicitudes de POST que HubSpot envía a tu servicio a través de tus suscripciones de webhook no contarán para los límites de tasa de API de tu aplicación. Puedes crear un máximo de 1000 suscripciones por aplicación. Si intentas crear más, recibirá una solicitud incorrecta 400 con el siguiente cuerpo:
Última modificación el 10 de abril de 2026