For Agents
Create, update, search, and link HubSpot note records to contacts, companies, deals, and tickets, including batch operations.
Get started with Notes in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"create a HubSpot note on a contact"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Notes API.
Create individual or batched note records and associate them with one or more CRM records
Search notes by body content, owner, creation date, or associated record
Update note body or attachments with single PATCH or batch update calls
Archive notes that are obsolete or were created in error
Upsert notes by an external system identifier to keep HubSpot in sync with a source-of-truth annotation store
GET STARTED
Use for: I need to log a note on a contact summarising the call we just had, I want to sync notes from Gong into HubSpot timelines, Search for notes mentioning 'pricing concern' across all deals, List every note attached to a specific company
Not supported: Does not handle email threads, call recordings, or task creation — use for HubSpot CRM note engagement records only.
The HubSpot CRM Notes API manages the note engagement object that captures free-text annotations on contacts, companies, deals, and tickets in HubSpot. It supports single-record CRUD, batch read, batch create, batch update, batch upsert, batch archive, and search across note properties and associations. Use it to log AI-generated meeting summaries, sync notes from a sales engagement tool, or surface annotation history on a contact timeline.
Patterns agents use Notes API for, with concrete tasks.
★ Log AI-Generated Meeting Summaries
After a call or meeting, an AI summarisation pipeline can post the summary as a HubSpot note linked to the contact and deal so reps see the recap on the timeline without leaving the CRM. The note creation endpoint accepts an associations array, and rich-text bodies render natively in the HubSpot UI.
POST /crm/v3/objects/notes with hs_note_body containing the meeting summary text and an associations array linking the note to the contact and deal IDs.
Sync Notes from a Sales Engagement Platform
Mirror notes captured in a dialer, email tool, or revenue-intelligence platform into HubSpot so the CRM remains the unified record of conversations. Batch upsert keyed by an external note ID handles both create and update in one call, which suits a sync that runs every few minutes off platform webhooks.
POST /crm/v3/objects/notes/batch/upsert with up to 100 note records keyed by external_note_id and associations to the corresponding contact records.
Agent-Driven Note Search and Triage
An AI agent inside a sales-ops copilot can search across notes for keywords (objections, blockers, named competitors) to surface accounts that need attention. Through Jentic, the agent finds the note search operation by intent and runs filterGroups against hs_note_body, returning the matching deals or contacts for downstream action.
POST /crm/v3/objects/notes/search with filterGroups for hs_note_body CONTAINS_TOKEN 'pricing', sorted by created date descending, returning the top 50 with associated contact and deal IDs.
11 endpoints — the hubspot crm notes api manages the note engagement object that captures free-text annotations on contacts, companies, deals, and tickets in hubspot.
METHOD
PATH
DESCRIPTION
/crm/v3/objects/notes
Create a note
/crm/v3/objects/notes
List notes
/crm/v3/objects/notes/{noteId}
Read a specific note
/crm/v3/objects/notes/{noteId}
Update a note
/crm/v3/objects/notes/search
Search notes by property filters
/crm/v3/objects/notes/batch/upsert
Upsert notes by unique property
/crm/v3/objects/notes
Create a note
/crm/v3/objects/notes
List notes
/crm/v3/objects/notes/{noteId}
Read a specific note
/crm/v3/objects/notes/{noteId}
Update a note
/crm/v3/objects/notes/search
Search notes by property filters
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth and Private App tokens are stored encrypted in the Jentic vault. Agents receive scoped access references, never raw tokens.
Intent-based discovery
Agents search by intent (e.g., 'create a HubSpot note') and Jentic returns the note operation with its full input schema, including the associations array shape.
Time to first call
Direct integration: 1-2 days for OAuth, association handling, and batch sync. Through Jentic: under 30 minutes.
Alternatives and complements available in the Jentic catalogue.
HubSpot Meetings
Meetings are the sibling engagement object for calendar interactions
Use CRM-meetings when the engagement is a scheduled meeting rather than a free-text annotation
HubSpot CRM Calls
Calls are the sibling engagement object for logged phone interactions
Use CRM-calls when the engagement was a phone call; CRM-notes for free-text annotations
HubSpot CRM Contacts
Notes are typically associated with one or more contact records
Use CRM-contacts to look up the contact ID before posting a note that links to it
Specific to using Notes API through Jentic.
What authentication does the HubSpot Notes API use?
OAuth 2.0 Bearer tokens or HubSpot Private App tokens in the Authorization header. Jentic stores the token encrypted in the vault and provides the agent with a scoped reference, never the raw token.
Can I attach a note to multiple records in one call?
Yes. POST /crm/v3/objects/notes accepts an associations array on the request body so a note can link to a contact, the contact's company, and a related deal in a single request.
What are the rate limits for the HubSpot Notes API?
Standard HubSpot quotas apply: 100 requests per 10 seconds for OAuth apps and 110 for Private Apps, with daily caps that vary by Hub tier. Batch endpoints accept up to 100 records per call and count as one request, which is the right pattern for high-volume note ingestion.
How do I post an AI-generated meeting summary as a note through Jentic?
Run pip install jentic, call client.search('create a HubSpot note on a contact'), client.load to get the schema for POST /crm/v3/objects/notes, and client.execute with hs_note_body containing the summary text and an associations array linking the contact and deal IDs.
Can I search notes by their text content?
Yes. POST /crm/v3/objects/notes/search supports filters on hs_note_body using operators such as CONTAINS_TOKEN, which is how you find notes mentioning specific keywords across the portal.
Does this API support attachments on notes?
Yes. The hs_attachment_ids property on a note holds a comma-separated list of file IDs from the HubSpot Files API. Set the property at create or update time to attach files to the note.
/crm/v3/objects/notes/batch/upsert
Upsert notes by unique property