> ## 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 out of office created

> Subscribes when a user creates an out-of-office entry.

`calcom.onOutOfOfficeCreated` subscribes when a user creates an out-of-office entry.

```ts automations/on-out-of-office-created.automation.ts theme={null}
import { automation, markSignificant } from "automate.ax"
import { calcom } from "automate.ax/calcom"

export default automation("On out of office created", () => {
  const event = calcom.onOutOfOfficeCreated()
  markSignificant(event)
})
```

## Event

| Field                                   | Type                 | Required |
| --------------------------------------- | -------------------- | -------- |
| `createdAt`                             | `string (date-time)` | Yes      |
| `payload`                               | `object`             | Yes      |
| `payload.oooEntry`                      | `object`             | Yes      |
| `payload.oooEntry.createdAt`            | `string (date-time)` | Yes      |
| `payload.oooEntry.end`                  | `string`             | Yes      |
| `payload.oooEntry.id`                   | `integer`            | Yes      |
| `payload.oooEntry.notes`                | `string \| null`     | Yes      |
| `payload.oooEntry.reason`               | `object`             | Yes      |
| `payload.oooEntry.reason.emoji`         | `string`             | No       |
| `payload.oooEntry.reason.reason`        | `string`             | No       |
| `payload.oooEntry.reasonId`             | `integer`            | Yes      |
| `payload.oooEntry.start`                | `string`             | Yes      |
| `payload.oooEntry.toUser`               | `object \| null`     | Yes      |
| `payload.oooEntry.toUser.email`         | `string (email)`     | No       |
| `payload.oooEntry.toUser.id`            | `integer`            | Yes      |
| `payload.oooEntry.toUser.name`          | `string \| null`     | No       |
| `payload.oooEntry.toUser.timeZone`      | `string`             | No       |
| `payload.oooEntry.toUser.username`      | `string \| null`     | No       |
| `payload.oooEntry.updatedAt`            | `string (date-time)` | Yes      |
| `payload.oooEntry.user`                 | `object`             | Yes      |
| `payload.oooEntry.user.email`           | `string (email)`     | Yes      |
| `payload.oooEntry.user.id`              | `integer`            | Yes      |
| `payload.oooEntry.user.language`        | `object`             | Yes      |
| `payload.oooEntry.user.language.locale` | `string`             | Yes      |
| `payload.oooEntry.user.name`            | `string \| null`     | Yes      |
| `payload.oooEntry.user.phoneNumber`     | `string \| null`     | No       |
| `payload.oooEntry.user.timeZone`        | `string`             | Yes      |
| `payload.oooEntry.user.username`        | `string \| null`     | Yes      |
| `payload.oooEntry.user.utcOffset`       | `number`             | No       |
| `payload.oooEntry.uuid`                 | `string`             | Yes      |
| `triggerEvent`                          | `"OOO_CREATED"`      | 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.
