canonical: https://jentic.com/apis/hubapi.com/hubspot-custom-behavioral-events

# HubSpot Custom Behavioral Events API

Jentic publishes the only available OpenAPI specification for Custom Behavioral Events API, keeping it validated and agent-ready. HubSpot's Custom Behavioral Events API lets product and marketing teams send custom events into HubSpot's behavioral analytics so those events can drive segmentation, automation, and reporting alongside form submissions and page views. The single endpoint accepts a defined event name and per-event property values keyed to a contact. It is the integration point for piping product usage signals - feature_used, plan_upgraded, trial_started - into HubSpot's customer record.

## For AI agents

Send a custom behavioral event into HubSpot's analytics so it becomes available for segmentation, workflows, and reporting on the matching contact.

## Scope

Does not define event schemas, manage contacts, or read event history - use only for sending instances of pre-defined custom behavioral events.

## Capabilities

- Send a custom behavioral event for a contact via POST /events/v3/send
- Attach typed event properties (string, number, datetime, enum) defined up front in HubSpot
- Identify the contact by email, utk, or objectId on the same send call
- Trigger downstream HubSpot workflows that listen for the named event
- Power segmentation lists based on whether a contact has fired the event

## Use cases

### Pipe Product Usage Events into HubSpot

Send product events such as feature_used, trial_started, or plan_upgraded into HubSpot so marketing can build segments and workflows on real product behaviour, not just web activity. POST a single event to /events/v3/send with the event name, the contact identifier, and the event properties.

Example prompt: POST to /events/v3/send with eventName pe123_feature_used, email user@example.com, and properties {feature: dashboard_export}.

### Drive Lifecycle Marketing on Real Behaviour

Trigger HubSpot lifecycle workflows when users hit specific in-product milestones. Sending a trial_completed or activation_reached event fires any workflow that listens for that event name, removing the need to poll HubSpot lists.

Example prompt: POST to /events/v3/send with eventName pe123_trial_completed and the contact email so the corresponding nurture workflow fires.

### Build Segments on In-App Behaviour

After events flow into HubSpot, marketing can build active lists that filter on event recency or property values - for example, contacts who fired plan_downgraded in the last 14 days. The send endpoint is the only programmatic way to land those events as first-class HubSpot data.

Example prompt: POST 100 plan_downgraded events for the affected cohort to /events/v3/send, then build a HubSpot active list filtering on that event in the last 14 days.

### AI Agent Behavioural Telemetry via Jentic

An AI agent that detects an in-product action - for example, abandoning checkout - uses Jentic to find and call the Custom Behavioral Events endpoint and record the event against the matching HubSpot contact, with the API key held in your Jentic One instance.

Example prompt: Search Jentic for send a hubspot behavioral event, load /events/v3/send, and execute with eventName, email, and properties.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /events/v3/send | Send a custom behavioral event for a contact |

## Key resources

- **Behavioral Events Tracking** — The /events/v3/send endpoint that lands custom events against a HubSpot contact

## Why Jentic

- **Setup:** Wiring HubSpot custom behavioral events by hand means choosing between its hapikey query, OAuth, and private-app auth, keeping the api.hubapi.com host straight, and handling errors yourself. Through Jentic you install once, import the Custom Behavioral Events API from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** This API exposes one send operation, so scope your agent to the operation it needs: sending an instance of a pre-defined behavioral event. You choose the operations it may call, so nothing beyond that send is included in the allowed set.
- **Credential handling:** Your HubSpot credential is stored once, encrypted, by your own Jentic One instance and injected per call at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send a behavioral event to HubSpot', and Jentic returns the POST /events/v3/send operation with its input schema (eventName, email, properties) so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **HubSpot Events API** — Read built-in HubSpot CRM events rather than sending custom behavioral events
- **HubSpot CRM API** — Look up or upsert the contact record that the behavioral event is keyed to
- **Segment** — Generic customer data platform that can fan-out events to HubSpot among many destinations

## FAQ

### Why is there no official OpenAPI spec for Custom Behavioral Events API?

HubSpot does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Custom Behavioral Events API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Custom Behavioral Events API use?

The API supports HubSpot hapikey (query parameter), OAuth 2.0 authorization code with the analytics.behavioral_events.send scope, and private-app legacy tokens (private-app-legacy header). Through Jentic, whichever credential you have configured is held encrypted in the vault and injected at call time.

### Can I send a custom event keyed by email instead of HubSpot contact ID?

Yes. The /events/v3/send body accepts email, utk, or objectId to identify the contact. Email is the simplest when integrating from a product backend that already stores the customer's email.

### What are the rate limits for the Custom Behavioral Events API?

HubSpot enforces standard hapikey and OAuth rate limits - generally 100 requests per 10 seconds per key on Marketing Hub Enterprise. Behavioral event volume can be high, so check the developer dashboard before sending bulk batches.

### How do I send a behavioral event through Jentic?

Search Jentic for send a hubspot behavioral event, load /events/v3/send, and execute with eventName (the internal event name like pe123_feature_used), an email or utk to identify the contact, and the properties payload defined in HubSpot.

### Do custom events automatically appear in HubSpot reports?

Yes, once the event definition exists in HubSpot. The API send call lands an instance of the event against the contact; HubSpot's analytics, lists, and workflows then treat that event the same as built-in ones.

### Can I limit what my agent is allowed to do with the HubSpot Custom Behavioral Events API?

Yes. This API exposes a single send operation (POST /events/v3/send), and because Jentic One is self-hosted, your own rules decide which operations and credentials the agent may use. You can scope the agent to just this send call, so it can record instances of pre-defined behavioral events against a contact and nothing else. The HubSpot credential you configure stays under your control and is never exposed to the agent, so the agent can only fire the events you have allowed.
