calendar_create_event
Create an event on the user's calendar. This is a REAL action: every attendee gets an email invite — confirm the title, time, attendees and repeat with the user first. start/end: '2026-10-05T14:00' (user's timezone unless an offset is given) or '2026-10-05' for all-day; end defaults to the user's usual meeting length. attendees: email addresses. video_meeting=true adds a Google Meet (Gmail) or Teams (Outlook) link (iCloud has none) — if the account can't make one the event is still created and 'notes' says so. Repeat: repeat=daily|weekly|monthly|yearly, repeat_interval (3 with weekly = every 3 weeks), repeat_days (MO,TU,WE,TH,FR,SA,SU for weekly; with repeat_week_of_month 1-4 or -1 for monthly like 'second Tuesday'), end with repeat_count OR repeat_until (YYYY-MM-DD). To book a meeting with a contact, put their email in attendees so they get an invite. account (required) = which connected calendar to put it on, as its email or connection_id; never pick one yourself — a blank account comes back asking which calendar. ALWAYS ask the user which of their calendars to add it to (list them with calendar_list_calendars, by name and email) before calling, even when only one is connected. calendar_id from calendar_list_calendars (default: that account's primary).
Parameters
- title (string, required)
- start (string, required)
- account (string, required)
- end (string)
- all_day (boolean)
- timezone (string)
- location (string)
- description (string)
- attendees (array)
- video_meeting (boolean, default false)
- reminder_minutes (integer)
- repeat (string)
- repeat_interval (integer, default 1)
- repeat_days (array)
- repeat_week_of_month (integer)
- repeat_count (integer)
- repeat_until (string)
- calendar_id (string)