> ## 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 transactional event

> Start an automation for any supported Brevo transactional email event.

`onBrevoTransactionalEvent` is the broad subscription for delivery,
engagement, bounce, invalid-address, spam, unsubscribe, and provider-error
events. Use a typed helper when only one semantic category matters.

## Example

```ts theme={null}
import { automation, log } from "automate.ax"
import { onBrevoTransactionalEvent } from "automate.ax/brevo"

export default automation("Audit Brevo events", () => {
  const event = onBrevoTransactionalEvent()

  log({ value: event })
})
```

## Options

`account?: string | IntegrationAccountReference<"brevo">` selects a static
Brevo API-key binding and defaults to the project's default binding. A signal
cannot choose the watched account at runtime.

## Trigger data

```ts theme={null}
interface BrevoTransactionalEvent {
  event:
    | "blocked"
    | "click"
    | "deferred"
    | "delivered"
    | "error"
    | "hard_bounce"
    | "invalid_email"
    | "opened"
    | "request"
    | "soft_bounce"
    | "spam"
    | "unique_opened"
    | "unsubscribed"
  occurredAt: number
  webhookId: number
  email?: string
  messageId?: string
  data: Record<string, JSONValue>
}
```

`occurredAt` is Unix time in seconds. `data` preserves the complete
provider-native webhook, including fields Automate.ax has not promoted. Email
and message identity can be absent on some provider events. Automate.ax manages
one authenticated, non-batched transactional webhook per connected account and
deduplicates exact provider retries.

If one automation subscribes through both this broad helper and a matching
typed helper, the same provider callback intentionally emits once to each
subscription.
