HubSpot - Crear objeto
↩ Parte de la integración HubSpot.
Descripción
Sección titulada «Descripción»Crea un registro en el CRM de HubSpot (POST /crm/v3/objects/{object_type}). Elegís el tipo de objeto y pasás las propiedades como un mapa plano en JSON; el nodo devuelve el objeto que creó HubSpot, incluido su id.
Es el nodo que ponés justo después de un formulario, un webhook o un pedido para convertir un lead que entra en un registro real del CRM.
Configuración
Sección titulada «Configuración»| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
credentials_id | credentials | Sí | Credencial de HubSpot |
object_type | text | Sí | Tipo de objeto: contacts, companies, deals, tickets. Si lo dejás vacío se usa contacts |
properties | json | Sí | Mapa plano de propiedades, ej. {"email":"a@b.com","firstname":"Ana"} |
Tanto object_type como properties aceptan variables dinámicas. El texto de properties se resuelve antes de parsearse como JSON, así que {"email":"{{data.email}}"} es válido.
Credenciales
Sección titulada «Credenciales»Este módulo necesita una credencial de HubSpot:
| Campo | Descripción |
|---|---|
token | Token de la Private App (empieza con pat-), desde HubSpot → Settings → Integrations → Private Apps |
data es el objeto que devuelve HubSpot para el registro recién creado:
{ "id": "701", "properties": { "email": "ana@acme.com", "firstname": "Ana", "lastname": "Pérez", "createdate": "2026-08-05T10:00:00.000Z", "hs_object_id": "701" }, "createdAt": "2026-08-05T10:00:00.000Z", "updatedAt": "2026-08-05T10:00:00.000Z", "archived": false}Junto con él, _meta:
{ "moduleVersion": "1.0.0", "success": true, "id": "701", "objectType": "contacts", "totalMs": 240 }Ejemplo de uso
Sección titulada «Ejemplo de uso»Contacto desde un formulario
Sección titulada «Contacto desde un formulario»{ "credentials_id": "hubspot_marketing", "object_type": "contacts", "properties": { "email": "{{data.email}}", "firstname": "{{data.nombre}}", "phone": "{{data.telefono}}", "lifecyclestage": "lead" }}Empresa
Sección titulada «Empresa»{ "credentials_id": "hubspot_marketing", "object_type": "companies", "properties": { "name": "ACME S.A.", "domain": "acme.com", "industry": "MANUFACTURING", "city": "Madrid" }}Negocio en un pipeline
Sección titulada «Negocio en un pipeline»{ "credentials_id": "hubspot_ventas", "object_type": "deals", "properties": { "dealname": "ACME — renovación anual", "amount": "12000", "pipeline": "default", "dealstage": "appointmentscheduled", "closedate": "2026-12-31" }}Ticket de soporte
Sección titulada «Ticket de soporte»{ "credentials_id": "hubspot_soporte", "object_type": "tickets", "properties": { "subject": "{{data.asunto}}", "content": "{{data.mensaje}}", "hs_pipeline": "0", "hs_pipeline_stage": "1" }}- Las claves de las propiedades son los nombres internos de HubSpot, no las etiquetas de la interfaz (
firstname, noNombre). Los encontrás en HubSpot → Settings → Properties. propertiestiene que ser un objeto plano. Los objetos anidados y los arrays se envían tal cual y HubSpot los rechaza.- Si
propertiesestá vacío o el JSON no parsea, el nodo se detiene con un error de validación antes de llamar a HubSpot. - Crear un contacto con un email que ya existe devuelve
409 Conflict. Ese error no se reintenta: leé el contacto existente con Buscar objetos y actualizalo. - Este nodo no crea asociaciones (contacto ↔ empresa, negocio ↔ contacto). Para eso usá el nodo HTTP contra el endpoint de asociaciones.
Nodos relacionados
Sección titulada «Nodos relacionados»- HubSpot: Leer objeto — releé el registro que acabás de crear.
- HubSpot: Actualizar objeto — cambiale las propiedades más adelante.
- HubSpot: Buscar objetos — comprobá si el contacto ya existe antes de crearlo.