For Agents
Create, read, update, archive and search records of HubSpot custom object types via batch and single-record endpoints on the EU region.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the HubSpot CRM Custom Objects, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with HubSpot CRM Custom Objects API.
Create a single custom object record of a given objectType with property values
Read a custom object record by internal ID with selectable properties and associations
Update a custom object record by ID with partial property changes
Search custom object records by property filters with sort and pagination
GET STARTED
Use for: I need to create a custom object record of type subscription, Search for vehicle records owned by a specific contact, Find all custom object records modified in the last 24 hours, Retrieve a custom object record by its ID
Not supported: Does not define custom object schemas, manage standard objects (contacts, companies, deals, tickets), or handle marketing automation - use for managing records of pre-defined custom object types only.
The HubSpot CRM Custom Objects API manages records for object types beyond the four standard CRM objects (contacts, companies, deals, tickets) on the HubSpot EU region. It supports single-record create, read, update and archive plus high-volume batch and search operations, so agents and integrations can store domain-specific entities such as subscriptions, properties, or vehicles directly in the CRM. Custom object record management requires HubSpot Enterprise; schema definitions are managed via the separate CRM Schemas API.
Batch create, read, update, upsert or archive up to 100 records in one call
Merge two custom object records of the same type into one canonical record
Associate a custom object record with another CRM record using the default association
Patterns agents use HubSpot CRM Custom Objects API for, with concrete tasks.
★ Subscription record management
Store SaaS subscriptions as a custom object in HubSpot so renewal dates and MRR live alongside the company record. POST /crm/v3/objects/{objectType} creates a subscription with properties like start_date and plan_tier; GET /crm/v3/objects/{objectType}/{objectId} reads it back for renewal workflows. Custom objects require Enterprise tier.
POST /crm/v3/objects/subscription with properties for plan_tier, start_date and mrr, then verify the returned id.
Bulk inventory sync
Sync thousands of property listings from an external system into HubSpot as a Property custom object so sales reps can build deals against them. POST /crm/v3/objects/{objectType}/batch/upsert handles up to 100 records per call with idempotent upsert by a unique property, replacing manual CSV imports.
POST /crm/v3/objects/property/batch/upsert with up to 100 records keyed by external_id, then check for any errors in the response array.
Targeted record search
Find every custom object record matching multi-property filters, sorted and paginated, without scanning the full collection. POST /crm/v3/objects/{objectType}/search accepts filterGroups, sorts and a limit, returning matching record IDs and properties. This is the fastest way to power an internal lookup tool.
POST /crm/v3/objects/vehicle/search with a filterGroup of {propertyName: vin, operator: EQ, value: '1HG...'} and inspect the matching record.
Cross-object association
Tie a custom object record to a standard object so HubSpot timelines and reports surface the relationship. PUT /crm/v3/objects/{fromObjectType}/{fromObjectId}/associations/default/{toObjectType}/{toObjectId} creates a default association in one call without needing to know the labelled type ID.
PUT /crm/v3/objects/property/{propertyId}/associations/default/deals/{dealId} to associate a property listing with a deal.
Agent-driven CRM record management via Jentic
An AI agent receives a webhook from a billing system, looks up the matching subscription custom object via search, updates the renewal_date property, and confirms the change. Jentic mediates the OAuth scopes so the agent only ever sees the scoped token for the active call.
Search Jentic for 'update a HubSpot custom object record', load PATCH /crm/v3/objects/{objectType}/{objectId}, and execute with the new renewal_date.
15 endpoints — the hubspot crm custom objects api manages records for object types beyond the four standard crm objects (contacts, companies, deals, tickets) on the hubspot eu region.
METHOD
PATH
DESCRIPTION
/crm/v3/objects/{objectType}
List custom object records
/crm/v3/objects/{objectType}
Create a custom object record
/crm/v3/objects/{objectType}/{objectId}
Read a record by ID
/crm/v3/objects/{objectType}/{objectId}
Update a record by ID
/crm/v3/objects/{objectType}/batch/create
Create a batch of records
/crm/v3/objects/{objectType}/batch/upsert
Upsert a batch by unique property
/crm/v3/objects/{objectType}/search
Search records by property filters
/crm/v3/objects/{objectType}/merge
Merge two records of the same type
/crm/v3/objects/{objectType}
List custom object records
/crm/v3/objects/{objectType}
Create a custom object record
/crm/v3/objects/{objectType}/{objectId}
Read a record by ID
/crm/v3/objects/{objectType}/{objectId}
Update a record by ID
/crm/v3/objects/{objectType}/batch/create
Create a batch of records
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth 2.0 refresh tokens and client secrets are held in the Jentic MAXsystem vault. The agent receives only a scoped access token with the specific crm.objects.custom.* scopes needed for the active call.
Intent-based discovery
Agents search by intent such as 'create a HubSpot custom object record' and Jentic returns the matching POST /crm/v3/objects/{objectType} operation with its property-bag input schema, so the agent does not have to map 15 endpoints across batch, search and association variants.
Time to first call
Direct HubSpot Custom Objects integration: 2-4 days for OAuth, scope negotiation, batch error handling and search filterGroups. Through Jentic: under an hour - search, load, execute.
Alternatives and complements available in the Jentic catalogue.
HubSpot CRM Schemas
Defines the custom object types whose records this API manages
Use first to create or modify a custom object type, then use Custom Objects to manage its records
Salesforce API
Salesforce custom objects offer the same modelling pattern in a different CRM
Choose Salesforce when the agent needs to model custom entities in a Salesforce-based CRM stack
Pipedrive API
Pipedrive's custom objects (Products, Activities) cover lighter custom modelling needs
Choose Pipedrive when the agent needs custom data on a sales-focused CRM without HubSpot Enterprise
Zoho CRM API
Zoho CRM offers custom modules with similar create/search/associate semantics
Choose Zoho CRM when the agent operates inside the Zoho ecosystem rather than HubSpot
Specific to using HubSpot CRM Custom Objects API through Jentic.
What authentication does the HubSpot CRM Custom Objects API use?
OAuth 2.0 authorization-code flow. The relevant scopes are crm.objects.custom.read and crm.objects.custom.write; specific custom object types may require additional standard-object scopes for associations. Through Jentic the OAuth refresh token is stored in the MAXsystem vault.
Can I batch upsert custom object records?
Yes. POST /crm/v3/objects/{objectType}/batch/upsert accepts up to 100 records keyed by a unique property. The response includes per-record status so partial failures can be retried without resending the entire batch.
What are the rate limits for the HubSpot CRM Custom Objects API?
HubSpot applies tier-based rate limits across all CRM v3 endpoints (typically 100 requests / 10 seconds for the CRM v3 surface). The exact ceiling depends on your subscription and is documented in the HubSpot developer rate-limits page; the OpenAPI spec does not encode it.
Do I need HubSpot Enterprise to use this API?
Yes. The custom object record endpoints require HubSpot Enterprise. Without Enterprise the API responds with a 403, and the linked CRM Schemas API will not let you define new object types.
How do I search for custom object records through Jentic?
Use the Jentic search query 'search HubSpot custom object records', which resolves to POST /crm/v3/objects/{objectType}/search. Provide the objectType and a filterGroups array, and Jentic injects the OAuth token automatically.
How do I associate a custom object record with a contact or deal?
Call PUT /crm/v3/objects/{fromObjectType}/{fromObjectId}/associations/default/{toObjectType}/{toObjectId}. The 'default' association uses HubSpot's standard association type so you do not have to look up labelled association type IDs first.
/crm/v3/objects/{objectType}/batch/upsert
Upsert a batch by unique property
/crm/v3/objects/{objectType}/search
Search records by property filters
/crm/v3/objects/{objectType}/merge
Merge two records of the same type