> ## 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.

# Mark booking absence

> Marks a host or attendee present or absent.

`calcom.markBookingAbsence` marks a host or attendee present or absent.

```ts automations/mark-booking-absence.automation.ts theme={null}
import { automation, markSignificant } from "automate.ax"
import { calcom } from "automate.ax/calcom"

export default automation("Mark booking absence", () => {
  markSignificant(
    calcom.markBookingAbsence({
      bookingUid: "booking-uid",
      host: false,
      attendees: [{ email: "guest@example.com", absent: true }],
    }),
  )
})
```

## Input

Pass these fields:

| Field        | Type       | Required | Description                 |
| ------------ | ---------- | -------- | --------------------------- |
| `bookingUid` | `string`   | Yes      | —                           |
| `host`       | `boolean`  | No       | Whether the host was absent |
| `attendees`  | `object[]` | No       | Minimum items: 1.           |

## Output

The action removes the outer Cal.com status envelope. It returns either one ordinary booking object or one recurring booking object. Only the recurring branch has `recurringBookingUid`.

Cal.com enforces account role, plan, and availability requirements. Provider rejections surface as structured action failures with the HTTP status and any `Retry-After` delay.
