Última modificación: 28 de agosto de 2025
Run in Postman
A partir del 16 de junio de 2025, las funcionalidades de las tarjetas clásicas del CRM, descritas en este artículo, dejarán de recibir soporte y quedarán oficialmente obsoletas el 31 de octubre de 2026. Más información sobre este cambio en el registro de cambios para desarrolladores.Las tarjetas clásicas del CRM son diferentes de las tarjetas de aplicación que puedes crear como extensiones de la interfaz de usuario con proyectos. Las nuevas tarjetas de aplicación ofrecen más flexibilidad, personalización e interactividad utilizando un conjunto de herramientas más moderno basado en React. Si tu aplicación incluye actualmente una tarjeta del CRM clásica, aprende cómo migrarla al marco de proyectos para utilizar las tarjetas de aplicación más recientes.


Permisos necesarios
Para crear tarjetas del CRM personalizadas, tu aplicación debe solicitar los permisos de OAuth necesarios a fin de modificar los registros del CRM donde aparecerá tu tarjeta. Por ejemplo, para que una tarjeta del CRM aparezca en los registros de contactos, la aplicación debe tener los permisoscrm.objects.contacts.read
y crm.objects.contacts.write
. Si más tarde necesitas retirar los permisos de los objetos del CRM de tu aplicación, primero deberás eliminar todas las tarjetas existentes de esos tipos de objetos.
Consulta la documentación de OAuth para obtener más detalles sobre los permisos y la configuración de la URL de autorización para tu aplicación.
Crear una tarjeta del CRM
Puedes crear tarjetas del CRM para tu aplicación usando la API o modificando la aplicación en tu cuenta de desarrollador. Para obtener más información sobre la configuración de una tarjeta mediante la API, consulta esta documentación de referencia. Para crear una tarjeta del CRM utilizando la interfaz del usuario de HubSpot:- En tu cuenta de desarrollador de HubSpot, navega a Aplicaciones en la barra de navegación principal.
- Selecciona la aplicación a la que quieres agregar una tarjeta.
- En el menú de la barra lateral izquierda, selecciona Tarjetas del CRM.
- En la parte superior derecha, haz clic en Crear tarjeta del CRM.

Las extensiones de la interfaz del usuario creadas mediante proyectos de desarrolladores ofrecen formas más flexibles de mostrar los datos y facilitar la interacción del usuario, lo que incluye la visualización de contenido externo en marcos. Si es posible usar una aplicación privada con tu integración, consulta la guía rápida sobre extensiones de la interfaz del usuario, o consulta los proyectos de ejemplo de HubSpot para saber qué puedes hacer.
Solicitud de datos
Cuando un usuario de HubSpot ve un registro del CRM en el que está activada una tarjeta del CRM, HubSpot hará una solicitud a la integración para obtener los datos. Esta solicitud se envía a la URL de destino especificada, que incluye un conjunto de parámetros de consulta predeterminados, junto con parámetros adicionales que contienen los datos de las propiedades según lo especificado en la configuración de la tarjeta.
- En el campo URL de obtención de los datos, introduce la URL de donde extraerás los datos. En la API, esta URL se agrega al campo
targetUrl
. - En la sección Tipos de registros de destino, haz clic para activar los interruptores y seleccionar en qué registros del CRM aparecerá la tarjeta. A continuación, utiliza los menús desplegables Propiedades enviadas desde HubSpot para seleccionar las propiedades de HubSpot que se incluirán como parámetros de consulta en la URL de la solicitud. En la API, cada tipo de registro y sus propiedades correspondientes se agregan como objetos en la serie
objectTypes
.
Solicitud de ejemplo
La configuración anterior daría como resultado que HubSpot envíe una solicitudGET
de la siguiente manera:
Parámetro | Tipo | Descripción |
---|---|---|
userId | Predeterminado | El ID del usuario de HubSpot que subió el registro del CRM. |
userEmail | Predeterminado | La dirección de correo electrónico del usuario que subió el registro del CRM. |
associatedObjectId | Predeterminado | El ID del registro del CRM que se subió. |
associatedObjectType | Predeterminado | El tipo de registro del CRM que se subió (por ejemplo, contacto, empresa, negocio). |
portalId | Predeterminado | El ID de la cuenta de HubSpot donde se subió el registro del CRM. |
firstname | Personalizado | El nombre del contacto, como se especifica en el menú desplegable Propiedades enviadas desde HubSpot (en la aplicación) y la serie del parámetro propertiesToSend (API). |
email | Personalizado | La dirección de correo del contacto, como se especifica en el menú desplegable Propiedades enviadas desde HubSpot (en la aplicación) y en la serie del parámetro propertiesToSend (API). |
lastname | Personalizado | El apellido del contacto, como se especifica en el menú desplegable Propiedades enviadas desde HubSpot (en la aplicación) y en la serie del parámetro propertiesToSend (API). |
Nota:
Una conexión debe realizarse antes de tres segundos y las solicitudes expirarán a los cinco segundos.Ejemplo de respuesta
A continuación se muestra un ejemplo de respuesta que el elemento de integración podría proporcionar a la solicitud anterior.Propiedad | Tipo | Descripción |
---|---|---|
results | Matriz | Una serie de hasta cinco propiedades de la tarjeta válidas. Si hay más propiedades disponibles para un objeto del CRM específico, tu aplicación puede establecer un enlace a ellos. |
objectId | Número | Un ID único para el objeto. |
title | Cadena | El título de el objeto. |
link | Cadena | La URL que el usuario puede seguir para obtener más detalles sobre el objeto. Esta propiedad es opcional, pero si ningún objeto tiene un enlace, deberías proporcionar un valor null . |
created | Cadena | Una propiedad personalizada, según como se define en la configuración de la tarjeta, que indica la fecha de creación del objeto. |
priority | Cadena | Una propiedad personalizada, según como se define en la configuración de la tarjeta, que indica el nivel de prioridad del ticket externo. |
actions | Matriz | Una lista de las acciones que un usuario puede realizar. |
properties | Propiedades | Una lista de propiedades personalizadas que no se definen en la configuración de la tarjeta. Puedes usar esta lista para mostrar las propiedades únicas de un objeto específico. Estas propiedades se mostrarán en el orden en que se proporcionan, pero después de las propiedades definidas en la configuración de la tarjeta. |
settingsAction | Objeto | Una acción del elemento iframe que permite a los usuarios cambiar la configuración de la aplicación. |
primaryAction | Objeto | La acción principal de un tipo de registro, normalmente es una acción de creación. |
secondaryActions | Matriz | Una lista de acciones que se muestran en la tarjeta. |
Solicitar firmas
Para garantizar que las solicitudes provienen realmente de HubSpot, se incluye el encabezado indicado abajo. Este encabezado contendrá un hash del secreto para tu aplicación y los detalles de la solicitud.X-HubSpot-Signature: <some base64 string>
Para verificar esta firma, lleva a cabo los siguientes pasos:
- Crea una cadena que concatene lo siguiente:
<app secret>
+<HTTP method>
+<URL>
+<request body> (if present)
. - Crea un hash SHA-256 de la cadena resultante.
- Compara el valor del hash a la firma. Si son iguales, la solicitud ha pasado la validación. Si los valores no coinciden, la solicitud puede haber sido manipulada en tránsito o alguien puede estar falsificando solicitudes en tu endpoint.
Propiedades de la tarjeta
En la pestaña Propiedades de la tarjeta, define las propiedades personalizadas que deseas que HubSpot muestre en la tarjeta del CRM. Una vez definida, la integración puede rellenar estas propiedades incluyéndolas en la respuesta.- Haz clic en Agregar propiedad a fin de agregar una nueva propiedad para que la tarjeta la muestre. La carga útil que proporciones en respuesta a la llamada de obtención de datos debe contener los valores de todas estas propiedades.
- En el panel derecho, establece el nombre único, la etiqueta de presentación y el tipo de datos de la propiedad. Puedes seleccionar entre los siguientes tipos: Divisa, Fecha, Fecha y hora, Correo electrónico, Enlace, Numérico, Estado y Cadena. Más información sobre el uso de los tipos de propiedades de extensión.
- Haz clic en Agregar para guardar la propiedad.

results
. Además de las propiedades configuradas en esta pestaña, la integración también puede incluir sus propias propiedades personalizadas sin necesidad de definirlas en la configuración de la tarjeta.
Por ejemplo, en la respuesta que se muestra abajo, los parámetros created
y priority
se definen en la pestaña Propiedades de la tarjeta, mientras que la serie del parámetro properties
envía sus propias definiciones y valores de propiedad. Estas propiedades específicas del objeto deben definirse por cada objeto.
dataType
de cada propiedad puede establecerse en uno de los siguientes: CURRENCY
, DATE
, DATETIME
, EMAIL
, LINK
, NUMERIC
, STATUS
, STRING
. Dependiendo del tipo de propiedad, es posible que la integración necesite campos adicionales. A continuación, encontrarás más información sobre cada tipo de propiedad.
Propiedades de divisa
Las propiedades con el atributoCURRENCY
deben incluir un valor currencyCode
, que debe ser un código ISO 4217 válido. Esto garantizará que el usuario vea el símbolo de divisa y el formato de número correctos.
Propiedades de fecha
Las propiedadesDATE
deben tener el formato yyyy-mm-dd
. Estas propiedades se mostrarán en un formato que coincida con la configuración regional del usuario. Si necesitas incluir una marca de tiempo, debes utilizar una propiedad DATETIME
.
Propiedades de fecha y hora
Las propiedades con el atributoDATETIME
indican una hora específica y deben proporcionarse en milisegundos desde el tiempo en Epoch. Estas propiedades se mostrarán en un formato que coincida con la configuración regional del usuario.
Propiedades de correo electrónico
Las propiedades con el atributoEMAIL
corresponden a valores que contienen una dirección de correo electrónico. Estas propiedades se mostrarán como enlaces mailto.
Propiedades de enlace
Las propiedades con el atributoLINK
muestran hipervínculos y se abren en una nueva ventana. Puedes especificar un valor linkLabel
; si no está, se mostrará la URL misma.
Propiedades numéricas
Las propiedades con el atributoNUMERIC
muestran números.
Propiedades de estado
Las propiedades con el atributoSTATUS
se muestran como indicadores de color. Para definir una propiedad de estado, la integración necesita un valor optionType
que indique los posibles estados. Los estados incluyen:
DEFAULT
: GrisSUCCESS
: VerdeWARNING
: AmarilloDANGER
: RojoINFO
: Azul
Propiedades de cadena
Las propiedades con el atributoSTRING
muestran texto.
Acciones personalizadas
En la pestaña Acciones personalizadas, puedes definir las URL de base que se solicitarán cuando un usuario haga clic en un botón de acción. Puedes incluir varias URL de acción para varias acciones en tu tarjeta del CRM. Las acciones de las tarjetas deben llamar al endpoint que se especifique en esta pestaña.
X-HubSpot-Signature
para verificar la solicitud. Las solicitudes de acción con el elemento iframe no incluirán una firma para la solicitud. Consulta la sección Solicitar firmas para obtener más información.
Las URL de acciones se acceden mediante el campo uri
en una acción. De manera similar a la solicitud de búsqueda de datos, los ganchos de acción incluirán un conjunto predeterminado de parámetros de consulta. Puedes incluir otros parámetros de consulta incluyendo un campo associatedObjectProperties
en la acción.
La respuesta será diferente según el tipo de acción. A continuación, encontrarás más información sobre los tipos de acción.
Tipos de acción
Acciones con el elemento iframe
Las acciones con el elementoIFRAME
abrirán un modal con un elemento iframe que apunta a la URL proporcionada. No se envía ninguna firma de solicitud cuando el iframe se abre desde la interfaz del CRM. Esto se debe a que la URL del iframe se incluye en la solicitud de obtención de datos original y no se necesitan solicitudes de proxy adicionales.
window.postMessage
para indicar al CRM que el usuario ha terminado. Se admiten los siguientes mensajes:
{"action": "DONE"}
: el usuario ha completado correctamente la acción.{"action": "CANCEL"}
: el usuario ha cancelado la acción.
Acciones de gancho de acción
Las acciones de tipoACTION_HOOK
envían una solicitud del lado del servidor al elemento de la integración. La única interfaz que el usuario ve para esta acción es un mensaje que indica el éxito o el fallo de la operación. Este tipo de acción es útil para operaciones simples que no requieren más información por parte del usuario. Se incluirá un encabezado X-HubSpot-Signature
en la solicitud de verificación. Encuentra más información sobre solicitar firmas.
httpMethod
se puede establecer con GET
, POST
, PUT
, DELETE
o PATCH
. Si utilizas GET
o DELETE
, los valores associatedObjectProperties
se agregarán a la URL de la solicitud como parámetros de consulta. Si usas las otras funciones, las propiedades se enviarán en el cuerpo de la solicitud.
Acciones de confirmación
Las acciones de tipoCONFIRMATION_ACTION_HOOK
se comportan igual que las acciones ACTION_HOOK
, excepto que se muestra un cuadro de diálogo de confirmación al usuario antes de ejecutar la solicitud del lado del servidor. Se incluirá un encabezado X-HubSpot-Signature
en la solicitud de verificación. Encuentra más información sobre solicitar firmas.
httpMethod
se puede establecer con GET
, POST
, PUT
, DELETE
o PATCH
. Si utilizas GET
o DELETE
, los valores associatedObjectProperties
se agregarán a la URL de la solicitud como parámetros de consulta. Si usas las otras funciones, las propiedades se enviarán en el cuerpo de la solicitud.
Eliminar una tarjeta del CRM
Una vez creada, puedes eliminar una tarjeta del CRM desde la configuración de la aplicación:- En tu cuenta de desarrollador de HubSpot, navega a Aplicaciones en la barra de navegación principal.
- Haz clic en el nombre de la aplicación de la que quieres borrar una tarjeta.
- En el menú de la barra lateral izquierda, selecciona Tarjetas del CRM.
- Pasa el cursor sobre la tarjeta y haz clic en Eliminar.

- En el cuadro de diálogo, confirma la eliminación haciendo clic en Eliminar esta tarjeta.