For Agents
Define timeline event templates and emit events into HubSpot CRM record timelines so an agent can surface app activity (e.g., a webinar registration or a feature usage event) on the right contact, company, deal, or ticket.
Get started with Timeline 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 timeline event for a contact"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Timeline API.
Create a new event template for an app via POST /integrators/timeline/v3/{appId}/event-templates
List the event templates configured for an app with GET /integrators/timeline/v3/{appId}/event-templates
Add or update a token on an event template via PUT /integrators/timeline/v3/{appId}/event-templates/{eventTemplateId}/tokens/{tokenName}
Emit a single timeline event using POST /integrators/timeline/v3/events
GET STARTED
Use for: I need to define a timeline event template for webinar registrations, Add a custom token (e.g., webinar_title) to an existing event template, Create a single timeline event on a contact when they register for a webinar, Bulk-emit timeline events for a list of contacts after a campaign
Not supported: Does not handle CRM record CRUD, automation workflows, or marketing email activity ingestion — use for app-emitted custom timeline events and their templates only.
The HubSpot CRM Timeline API lets a public app create custom timeline events that appear on the timeline of CRM records — contacts, companies, tickets, and deals. Apps first define event templates that describe the event type, header, detail, and tokens (event-specific fields), then emit individual events that bind values to those tokens. The API supports template management (create, list, get, update, delete event templates), token management on a template, single and batch event creation, and rendering of an event's header and detail as HTML for display inside HubSpot.
Emit many events in one call with POST /integrators/timeline/v3/events/batch/create
Read a previously created event via GET /integrators/timeline/v3/events/{eventTemplateId}/{eventId}
Render a timeline event's header or detail as HTML using GET /integrators/timeline/v3/events/{eventTemplateId}/{eventId}/render
Patterns agents use Timeline API for, with concrete tasks.
★ Surfacing App Activity on CRM Records
Public apps that want their activity visible to HubSpot users define timeline event templates (e.g., 'Webinar Registered') and emit events that show up on the relevant contact's timeline. POST /integrators/timeline/v3/events accepts the event template ID, the object email or ID it should attach to, the timestamp, and the token values that fill out the header and detail. Sales reps then see the activity in context without leaving HubSpot.
Call POST /integrators/timeline/v3/events with eventTemplateId, email (the contact identifier), tokens={webinar_title:'Q3 Demo', registered_at:'2026-06-01T10:00Z'}, and timestamp.
App Onboarding: Defining Event Templates
When a public app first installs in a HubSpot portal it provisions its event templates so future events have somewhere to land. POST /integrators/timeline/v3/{appId}/event-templates creates the template with a name, headerTemplate, detailTemplate, and supported objectType. Tokens are then added via PUT /integrators/timeline/v3/{appId}/event-templates/{eventTemplateId}/tokens/{tokenName}, defining the typed fields the template expects.
Call POST /integrators/timeline/v3/{appId}/event-templates with name='Webinar Registered', objectType='contacts', headerTemplate, and detailTemplate, then add tokens via PUT for each token.
Bulk Event Backfill After Campaign
After a webinar or marketing event, an integration backfills HubSpot with timeline events for every registrant so reps can see who attended which session. POST /integrators/timeline/v3/events/batch/create accepts a list of events in one request, each with its own template, object, and tokens. This avoids per-event rate limit pressure and keeps the timeline up to date in seconds.
Call POST /integrators/timeline/v3/events/batch/create with one input per registrant containing eventTemplateId, email, tokens, and timestamp.
AI Agent Logging Activity to HubSpot
An AI agent that performs work on behalf of a HubSpot customer (e.g., generates a proposal, runs a check, kicks off a workflow) logs a record of its action to the relevant contact or deal timeline so users have full audit visibility. Through Jentic the agent searches for timeline event creation, loads the schema, and emits an event with templated tokens. Jentic stores OAuth credentials in its vault so the agent only handles scoped tokens.
Search Jentic for 'create hubspot timeline event for contact', load POST /integrators/timeline/v3/events, and emit an event with the relevant eventTemplateId and token values.
13 endpoints — the hubspot crm timeline api lets a public app create custom timeline events that appear on the timeline of crm records — contacts, companies, tickets, and deals.
METHOD
PATH
DESCRIPTION
/integrators/timeline/v3/events
Create a single timeline event
/integrators/timeline/v3/events/batch/create
Batch create timeline events
/integrators/timeline/v3/events/{eventTemplateId}/{eventId}
Read a timeline event
/integrators/timeline/v3/events/{eventTemplateId}/{eventId}/render
Render an event's header or detail as HTML
/integrators/timeline/v3/{appId}/event-templates
Create an event template for the app
/integrators/timeline/v3/{appId}/event-templates
List the app's event templates
/integrators/timeline/v3/{appId}/event-templates/{eventTemplateId}/tokens/{tokenName}
Add or update a token on a template
/integrators/timeline/v3/events
Create a single timeline event
/integrators/timeline/v3/events/batch/create
Batch create timeline events
/integrators/timeline/v3/events/{eventTemplateId}/{eventId}
Read a timeline event
/integrators/timeline/v3/events/{eventTemplateId}/{eventId}/render
Render an event's header or detail as HTML
/integrators/timeline/v3/{appId}/event-templates
Create an event template for the app
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth tokens, private app keys, and developer hapikeys are stored encrypted in the Jentic vault. Agents receive scoped execution tokens — the raw secrets never enter agent context or logs.
Intent-based discovery
Agents search Jentic with intents like 'create hubspot timeline event' and Jentic returns the matching Timeline operations with typed input schemas, so the agent can emit events without browsing HubSpot's docs.
Time to first call
Direct HubSpot Timeline integration with template provisioning, token management, and OAuth: 2-3 days. Through Jentic: under an hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Salesforce Platform Events
Salesforce Platform Events and custom feed items provide comparable timeline-style activity surfaces.
Choose Salesforce Platform Events when the customer's CRM is Salesforce and you need event-driven activity feeds inside Salesforce.
HubSpot Contacts
Timeline events most often attach to contacts — use Contacts to look up the right contactId or email.
Use Contacts to find or create the contact, then emit a Timeline event onto that contact's timeline.
HubSpot Deals
Many timeline events naturally attach to deals — use Deals to find the dealId before emitting.
Use Deals when the activity belongs on a sales pipeline record rather than a contact, then emit the timeline event with that dealId.
Specific to using Timeline API through Jentic.
What authentication does the HubSpot Timeline API use?
It supports OAuth 2.0, HubSpot private app access tokens, and the legacy developer hapikey for app-scoped operations. The Authorization header carries the Bearer token. Through Jentic credentials are stored encrypted in the vault and injected at execution time so the agent never holds the raw secret.
Can I emit a timeline event for a contact identified by email?
Yes. POST /integrators/timeline/v3/events accepts an email field that resolves to the contact, alongside objectId for direct ID-based binding. Provide one of the two — email is convenient when you only know the user's address.
What are the rate limits for the HubSpot Timeline API?
HubSpot enforces 100 requests per 10 seconds for OAuth apps and 190 per 10 seconds for private apps on Enterprise tiers, plus daily quotas. Use POST /integrators/timeline/v3/events/batch/create to keep ingestion well under the limit during high-volume backfills.
How do I create a new event template through Jentic?
Search Jentic for 'create hubspot timeline event template', load POST /integrators/timeline/v3/{appId}/event-templates, and execute it with name, objectType, headerTemplate, and detailTemplate. Add tokens afterwards via PUT on the tokens path.
Can I render the HTML for a timeline event programmatically?
Yes. GET /integrators/timeline/v3/events/{eventTemplateId}/{eventId}/render returns the rendered HTML for the event header or detail (controlled by a query parameter), useful for previewing how the event will look in HubSpot's UI.
What objects can a timeline event attach to?
An event template declares its supported objectType — typically contacts, companies, deals, or tickets — and emitted events attach to a specific record of that type. To support multiple object types you create one event template per object type.
/integrators/timeline/v3/{appId}/event-templates
List the app's event templates
/integrators/timeline/v3/{appId}/event-templates/{eventTemplateId}/tokens/{tokenName}
Add or update a token on a template