For Agents
Send custom behavioural event occurrences (one or in batches up to 100) against HubSpot contacts so they appear in CRM timelines and trigger workflows.
Get started with Events Send Event Completions 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:
"send hubspot custom event"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Events Send Event Completions API.
Send a single custom event occurrence against a contact identified by utk, email, or objectId
Send up to 100 event occurrences in one batch call to reduce request overhead
Attach typed property values to each occurrence to enrich downstream reporting
Backdate event occurrences using the occurredAt timestamp for historical imports
GET STARTED
Use for: I need to send a checkout_completed event for contact contact@example.com, Record a batch of 50 onboarding_step_finished events at once, Emit a custom event with order_value and currency properties attached, Backfill historical event occurrences using a custom occurredAt timestamp
Not supported: Does not query event history, define event schemas, or manage contacts — use for sending custom event occurrences only.
The HubSpot Send Event Completions API records occurrences of custom behavioural events against contacts in a HubSpot account. A single send endpoint posts one event with its eventName, contact identifiers (utk, email, or objectId), occurrence time, and property values, while a batch endpoint sends up to 100 occurrences in one call. Once recorded, occurrences flow into the same event store that powers HubSpot reporting, contact timelines, and workflow triggers — closing the loop between product behaviour and CRM segmentation.
Trigger HubSpot workflows by emitting the event names that workflow enrolment criteria watch
Patterns agents use Events Send Event Completions API for, with concrete tasks.
★ Real-Time Product Event Reporting
Forward product behaviour from your application to HubSpot in real time so the same events that exist in your product analytics also appear on the contact's CRM timeline. POST /events/v3/send delivers a single occurrence with its property bag and contact identifier; HubSpot then surfaces it in the contact record and exposes it to reporting and segmentation. Useful for closing the gap between product engagement and lifecycle marketing.
Call POST /events/v3/send with eventName=pe12345_checkout_completed, email=user@example.com, and properties {order_value: 49.99, currency: "USD"}.
Batch Backfill of Historical Events
When migrating from another analytics tool or replaying logs, send historical occurrences in batches of up to 100 with explicit occurredAt timestamps so the events land on the correct day in HubSpot. The batch endpoint returns per-event status so failed items can be retried without resending the whole batch. Useful for one-off migrations and nightly reconciliation jobs.
Call POST /events/v3/send/batch with an inputs array of up to 100 event objects, each with eventName, email, occurredAt, and properties, then read the results array for per-item status.
Workflow Triggering from External Systems
HubSpot workflows can enrol contacts based on a custom event firing. Send the enrolment event from an external system using POST /events/v3/send to trigger a nurture sequence, internal notification, or lifecycle stage update without writing the workflow logic in your own service. Useful for connecting webhooks and serverless functions to HubSpot automation.
Call POST /events/v3/send with the eventName that the target workflow listens for and the matching contact email.
AI Agent Event Emission via Jentic
An AI agent reacting to a Stripe webhook (for example a successful payment) emits a corresponding HubSpot event so the marketing team's nurture flows can react. The agent searches Jentic for HubSpot event-send operations, loads the schema, and executes the call with the contact email, event name, and property bag pulled from the webhook payload. Jentic isolates the OAuth credential so the agent never handles tokens directly.
Search Jentic for "send hubspot custom event", load the schema for POST /events/v3/send, and execute with eventName, email, and properties from the inbound webhook.
2 endpoints — the hubspot send event completions api records occurrences of custom behavioural events against contacts in a hubspot account.
METHOD
PATH
DESCRIPTION
/events/v3/send
Send a single custom event occurrence
/events/v3/send/batch
Send up to 100 event occurrences in one batch
/events/v3/send
Send a single custom event occurrence
/events/v3/send/batch
Send up to 100 event occurrences in one batch
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth and private app tokens are stored encrypted in the Jentic MAXsystem vault. Agents receive scoped execution access — the raw bearer token never enters the agent's context window.
Intent-based discovery
Agents search Jentic with intents like 'send hubspot custom event' and Jentic returns the matching operation with its input schema, so the agent posts to /events/v3/send with the right payload shape without browsing HubSpot docs.
Time to first call
Direct HubSpot integration: 1-2 days for OAuth setup, batch error handling, and retry logic. Through Jentic: under 30 minutes — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Events Manage Event Definitions
Define the event schemas before sending occurrences
Choose this when an agent needs to register a new event name before send calls will succeed.
Events Events
Read back the events you sent for verification
Choose this when the agent needs to confirm that a sent event was recorded against the contact.
CRM Contacts
Resolve or create the contacts referenced by event occurrences
Choose this when an event needs to fire against a contact that does not yet exist in HubSpot.
Mixpanel
Higher-throughput event ingestion focused on product analytics
Choose Mixpanel when the events do not need to drive HubSpot CRM segmentation or workflows.
Specific to using Events Send Event Completions API through Jentic.
What authentication does the Send Event Completions API use?
It accepts HubSpot OAuth 2.0 access tokens or private app tokens, sent as Bearer in the Authorization header. Through Jentic, the token is stored encrypted in MAXsystem and never enters the agent's context.
Can I send events in batches?
Yes. POST /events/v3/send/batch accepts up to 100 event objects per call and returns a results array with per-event status so failed items can be retried individually.
How do I identify the contact an event belongs to?
Each event payload accepts one of three identifiers: email, utk (HubSpot user token cookie), or objectId (the CRM contact id). Provide whichever you have; HubSpot will resolve the contact record from it.
What are the rate limits for sending events?
Account-level limits are 100 requests per 10 seconds across HubSpot's authenticated APIs, with daily caps that depend on the subscription tier. Use the batch endpoint to fit more occurrences inside the per-second window.
How do I send a HubSpot event through Jentic?
Run pip install jentic, search for "send hubspot custom event", load the schema for POST /events/v3/send, and execute with eventName, email, occurredAt, and properties. Sign up at https://app.jentic.com/sign-up to get an ak_* key.
Does the eventName have to match an existing event definition?
Yes. The eventName must correspond to a custom event definition created via the Manage Event Definitions API, otherwise HubSpot rejects the occurrence. Internal event names typically take the form pe{portalId}_{eventName}.