> ## 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 form submitted

> Subscribes when a routing form schedules an event.

`calcom.onFormSubmitted` subscribes when a routing form schedules an event.

```ts automations/on-form-submitted.automation.ts theme={null}
import { automation, markSignificant } from "automate.ax"
import { calcom } from "automate.ax/calcom"

export default automation("On form submitted", () => {
  const event = calcom.onFormSubmitted()
  markSignificant(event)
})
```

## Event

| Field               | Type                         | Required |
| ------------------- | ---------------------------- | -------- |
| `createdAt`         | `string (date-time)`         | Yes      |
| `payload`           | `object`                     | Yes      |
| `payload.formId`    | `string`                     | Yes      |
| `payload.formName`  | `string`                     | Yes      |
| `payload.responses` | `Record<string, JSON value>` | Yes      |
| `payload.teamId`    | `integer \| null`            | No       |
| `triggerEvent`      | `"FORM_SUBMITTED"`           | Yes      |

Additional provider fields are preserved.

Automate.ax creates and maintains the Cal.com webhook, verifies `x-cal-signature-256`, and deduplicates provider retries. Use `calcom.onEvent` when one automation should receive every supported Cal.com event.
