> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# On HubSpot CRM event

> Run for every supported HubSpot CRM lifecycle event.

Use `hubspot.onCrmEvent` to run for every supported HubSpot CRM lifecycle event.

```ts automations/on-hubspot-crm-event.automation.ts theme={null}
import { automation } from "automate.ax"
import { hubspot } from "automate.ax/hubspot"

export default automation("On HubSpot CRM event", () => {
  const event = hubspot.onCrmEvent()
  // Route the HubSpot CRM event by object and event type.
})
```

Optional static `account` selects a named HubSpot OAuth binding; the project binding is the default. HubSpot triggers require OAuth because Automate.ax manages Journal subscriptions for each installed HubSpot account.

## Trigger data

Returns a typed HubSpot CRM event with `portalId`, `objectId`, `objectType`, `action`, `occurredAt`, and `journalOffset`. `publishedAt` is present when HubSpot includes the Journal publication time. The event identifies its `objectType` and semantic `action`. Updated events include `propertyChanges`; association and merge events include their corresponding metadata. Use a semantic trigger when the automation handles only one lifecycle event.

Automate.ax consumes HubSpot's ordered Webhooks Journal and deduplicates replayed events.
