> ## 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 Vercel domain event

> Run an automation when Vercel reports domain event.

`vercel.onDomainEvent` starts an automation for any event in this Vercel lifecycle family.

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

export default automation("On Vercel domain event", () => {
  const event = vercel.onDomainEvent()
  event.transform((value) => {
    if (value.type === "domain.created") return value.payload.domain.name
    return value.type
  })
})
```

## Input

The trigger accepts optional static `account` selection. Without it, Automate.ax uses the project's Vercel OAuth binding.

## Output

Every event includes `id`, `createdAt`, `region`, `type`, and `payload`. The discriminated union covers all selected account-domain lifecycle events. Narrow `type` before reading event-specific fields such as `domain`, `cert`, `dnsNames`, or `changes`.

## Provider behavior

Automate.ax verifies Vercel's signature, routes the event to the matching installation, and deduplicates each delivery by event ID.
