For Agents
Log, search, and update HubSpot meeting engagement records, including batch operations and association links to contacts, deals, and companies.
Get started with Meetings 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:
"log a HubSpot meeting with a contact and deal"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Meetings API.
Create individual or batched meeting records and link them to contacts, companies, and deals
Search meetings by title, owner, start time, or associated record
Update meeting outcomes, notes, or status with single PATCH or batch update calls
Archive meeting records that should no longer appear in active reporting
GET STARTED
Use for: I need to log a meeting that just happened with a contact, I want to sync meetings from Google Calendar into HubSpot, Search for all meetings owned by a specific rep this week, List every meeting associated with a deal
Not supported: Does not handle calendar booking pages, video conferencing links, or external calendar invites — use for HubSpot CRM meeting engagement records only.
The HubSpot CRM Meetings API manages the meeting engagement object that records calendar interactions between reps and contacts in the HubSpot CRM. It supports single-record CRUD, batch read, batch create, batch update, batch upsert, batch archive, and search across meeting properties and associations. Use it to log meetings from an external calendar, sync meeting outcomes back into HubSpot, or surface meeting history on a contact or deal timeline.
Upsert meetings by an external calendar event ID to keep HubSpot in sync with Google Calendar or Outlook
Patterns agents use Meetings API for, with concrete tasks.
★ Sync Calendar Meetings into HubSpot
Mirror meetings from Google Calendar or Microsoft Outlook into HubSpot so the CRM timeline shows every customer-facing interaction without manual logging by reps. Batch upsert keyed by an external calendar event ID handles both create and update in one call, which fits a webhook-driven sync that fires whenever a calendar event is created or updated.
POST /crm/v3/objects/meetings/batch/upsert with up to 100 meeting records keyed by google_calendar_event_id, each with associations to the matching contact and deal.
Surface Meeting History on a Deal
Build a deal-room view that lists every past and upcoming meeting with the deal's contacts so reps and AI agents have the full conversation history. The search endpoint accepts a filter on associated deal ID, and the response can be paginated to surface the most recent N meetings ordered by start time. Returns are typically sub-second for filtered queries against a single deal.
POST /crm/v3/objects/meetings/search with filterGroups for associations.deal equals the deal ID, sorted by hs_meeting_start_time descending, returning the first 50 records.
Agent-Driven Meeting Logging
An AI agent that participates in a meeting (transcription bot, sales copilot) can log the meeting record into HubSpot with notes and outcome at the end of the call. Through Jentic, the agent finds the meeting create operation by intent, loads its schema, and writes the record with associations to the contact and deal, all without manual rep entry.
POST /crm/v3/objects/meetings with hs_meeting_title, hs_meeting_body containing summary notes, hs_meeting_outcome set to COMPLETED, and an associations array linking the meeting to the contact and deal IDs.
11 endpoints — the hubspot crm meetings api manages the meeting engagement object that records calendar interactions between reps and contacts in the hubspot crm.
METHOD
PATH
DESCRIPTION
/crm/v3/objects/meetings
Create a meeting
/crm/v3/objects/meetings
List meetings
/crm/v3/objects/meetings/{meetingId}
Read a specific meeting
/crm/v3/objects/meetings/{meetingId}
Update a meeting
/crm/v3/objects/meetings/search
Search meetings by property filters
/crm/v3/objects/meetings/batch/upsert
Upsert meetings by unique property
/crm/v3/objects/meetings
Create a meeting
/crm/v3/objects/meetings
List meetings
/crm/v3/objects/meetings/{meetingId}
Read a specific meeting
/crm/v3/objects/meetings/{meetingId}
Update a meeting
/crm/v3/objects/meetings/search
Search meetings 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., 'log a HubSpot meeting') and Jentic returns the matching meeting operation with its full input schema, including the associations array shape.
Time to first call
Direct integration: 1-2 days for OAuth, calendar webhook plumbing, and batch sync. Through Jentic: under 30 minutes.
Alternatives and complements available in the Jentic catalogue.
HubSpot CRM Calls
Calls are the sibling engagement object for phone-call interactions
Use CRM-calls when logging phone calls instead of meetings
HubSpot CRM Contacts
Meetings are typically associated with one or more contacts
Use CRM-contacts to look up the contact ID before creating a meeting that links to it
Calendly API
Calendly is a separate scheduling system that often feeds meetings into HubSpot
Choose Calendly when the goal is to schedule a new meeting; choose CRM-meetings to log a meeting that already happened
Specific to using Meetings API through Jentic.
What authentication does the HubSpot Meetings 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 access reference, so the raw token never enters the agent's context.
Can I link a meeting to a contact and deal in the same call?
Yes. POST /crm/v3/objects/meetings accepts an associations array on the request body, so the meeting record is created and linked to one or more contacts, companies, and deals in a single request.
What are the rate limits for the HubSpot Meetings 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 a single request, which is the recommended pattern for calendar-sync jobs.
How do I sync a calendar event into HubSpot through Jentic?
Run pip install jentic, call client.search('upsert a HubSpot meeting from a calendar event'), client.load to get the schema for POST /crm/v3/objects/meetings/batch/upsert, and client.execute with the calendar event ID as the unique property and the meeting properties and associations.
Can I search meetings by start-time range?
Yes. POST /crm/v3/objects/meetings/search accepts filterGroups with operators including BETWEEN on hs_meeting_start_time, so you can return all meetings within a date window for a given owner, contact, or deal.
Is this the same as the HubSpot Meetings (scheduling pages) API?
No. This API manages the meeting engagement record on a contact's timeline. The HubSpot scheduling pages product, which lets external visitors book time, is a separate API surface.
/crm/v3/objects/meetings/batch/upsert
Upsert meetings by unique property