> ## Documentation Index
> Fetch the complete documentation index at: https://docs.macro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CreateCalendarEvent

> Prepare an event on the user's calendar, inviting any listed attendees through Google Calendar. In Macro chat this tool opens an inline composer so the user can review, edit, and confirm the event; use the tool to present the proposal instead of asking for a redundant confirmation in prose. When the pending call is executed, the event is written to Google immediately and attendees receive invitations. Other clients should confirm attendee events before executing the call.  The event lands on the user's primary calendar unless `calendarId` (from ListCalendars) targets another one. For recurring events pass RFC 5545 lines in `recurrenceLines`, e.g. ["RRULE:FREQ=WEEKLY;BYDAY=MO"]. Returns the created event with its `eventId` for later updates or deletion. Fails if the user has no writable calendar connected.  Set `eventType` to "out_of_office" to mark the user as out of office (e.g. "mark me out of office Thursday"). Out-of-office events must land on the user's primary calendar (omit `calendarId`), must be timed rather than all-day, and take no attendees or Google Meet (leave `addGoogleMeet` false); use `outOfOffice` to control whether conflicting meetings are auto-declined. The type cannot be changed afterward.

# CreateCalendarEvent

Prepare an event on the user's calendar, inviting any listed attendees through Google Calendar. In Macro chat this tool opens an inline composer so the user can review, edit, and confirm the event; use the tool to present the proposal instead of asking for a redundant confirmation in prose. When the pending call is executed, the event is written to Google immediately and attendees receive invitations. Other clients should confirm attendee events before executing the call.

The event lands on the user's primary calendar unless `calendarId` (from ListCalendars) targets another one. For recurring events pass RFC 5545 lines in `recurrenceLines`, e.g. \["RRULE:FREQ=WEEKLY;BYDAY=MO"]. Returns the created event with its `eventId` for later updates or deletion. Fails if the user has no writable calendar connected.

Set `eventType` to "out\_of\_office" to mark the user as out of office (e.g. "mark me out of office Thursday"). Out-of-office events must land on the user's primary calendar (omit `calendarId`), must be timed rather than all-day, and take no attendees or Google Meet (leave `addGoogleMeet` false); use `outOfOffice` to control whether conflicting meetings are auto-declined. The type cannot be changed afterward.

## Parameters

| Parameter         | Type                             | Required | Description                                                                                                                                                                                                                                                  |
| ----------------- | -------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `title`           | string                           | Yes      | The event title.                                                                                                                                                                                                                                             |
| `time`            | EventTimeInput                   | Yes      | The mutually exclusive time shape supplied to calendar tools.                                                                                                                                                                                                |
| `description`     | string                           | No       | Optional event body/description.                                                                                                                                                                                                                             |
| `location`        | string                           | No       | Optional physical or virtual location label.                                                                                                                                                                                                                 |
| `attendees`       | AttendeeInput\[]                 | No       | Attendees to invite by email. They are notified by Google Calendar as soon as the event is created. Omit for a solo event.                                                                                                                                   |
| `recurrenceLines` | string\[]                        | No       | Raw RFC 5545 recurrence lines (RRULE, RDATE, EXDATE), e.g. \["RRULE:FREQ=WEEKLY;BYDAY=MO,WE"]. Omit for a one-off event.                                                                                                                                     |
| `calendarId`      | string                           | No       | Calendar to create the event on, from ListCalendars. Omit to use the user's primary calendar.                                                                                                                                                                |
| `reminders`       | EventRemindersInput              | No       | Reminder configuration for the event. Omit to use the selected calendar's defaults.                                                                                                                                                                          |
| `addGoogleMeet`   | boolean                          | No       | Attach a freshly generated Google Meet video conference to the event.                                                                                                                                                                                        |
| `eventType`       | `"default"` \| `"out_of_office"` | No       | The kind of event a create tool call makes.                                                                                                                                                                                                                  |
| `outOfOffice`     | OutOfOfficeInput                 | No       | Out-of-office decline behavior, used only when eventType is "out\_of\_office". Omit to just block the time; set `autoDeclineMode` to "decline\_all" or "decline\_new\_only" to have Google decline conflicting meetings, optionally with a `declineMessage`. |
