create_event
Create bookings, appointments, meetings, or holds on a calendar. Block agent availability and auto-release tentative holds with expiration.
Instructions
Create a booking, appointment, meeting, hold, or any scheduled event on a calendar. The calendar_id comes from create_calendar or list_events. Once created, this event blocks the agent's availability during that time and appears in availability queries. Use status="hold" with hold_expires_at to tentatively reserve a slot that auto-releases on TTL.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Event title | |
| status | No | Event status. "hold" creates a tentative reservation that auto-expires at hold_expires_at. Defaults to "confirmed". | |
| all_day | No | Whether this is an all-day event | |
| end_time | Yes | End time (ISO 8601) | |
| reminders | No | Reminder offsets in minutes before start_time (e.g. [10, 1440]). Each fires an event.reminder webhook and shows as an alarm in the iCal feed. Omit or null to inherit the calendar default (then the system default of 10 min); [] for no reminders. | |
| start_time | Yes | Start time (ISO 8601) | |
| calendar_id | Yes | Calendar ID to add the event to | |
| description | No | Optional event description | |
| hold_priority | No | Only valid with status="hold". Higher-priority overlapping holds pre-empt lower-priority ones. Defaults to 0. | |
| hold_expires_at | No | Required when status="hold". ISO 8601 timestamp 30s-15min in the future. Auto-releases the hold when reached. | |
| recurrence_rule | No | Make this a recurring series (RFC 5545 RRULE subset, no "RRULE:" prefix), e.g. "FREQ=WEEKLY;BYDAY=MO,WE;COUNT=12". Supports FREQ=DAILY/WEEKLY/MONTHLY/YEARLY, INTERVAL, COUNT (max 730) or UNTIL, BYDAY (weekly list or monthly ordinal like 2TU/-1FR), BYMONTHDAY (1-28 or -1). start_time must match the rule pattern; expansion is UTC-only. Not allowed with status="hold". Free plan: max 5 recurring events, series must end within 90 days. |