Calendar & Booking

Space MCP tools in the Calendar & Booking scope (calendar). Reach these with a wks_live_ key over space-mcp or space-api.

Tools in the calendar scope, callable over space-mcp (tools/call) or space-api (REST) with a wks_live_* key that grants calendar.

create_calendar_event

Scope: calendar:write

Put an event on the space's calendar. Requires title and start_at (ISO 8601). Can invite guests (they get an email with Accept/Decline), set reminders (minutes before), link a contact, repeat it, and mark it free (doesn't block booking pages). For a Wakato Meet video call with people use schedule_meeting (it invites them with the join link).

ParameterTypeRequiredDescription
titlestringyes
start_atstringyes
end_atstring
is_all_dayboolean
timezonestring
descriptionstring
locationstring
categorystringA category key or label (list_calendar_categories). Default 'event'.
colorstring#RRGGBB — overrides the category's color.
recurrence_rulestringRRULE string for recurring events, e.g. FREQ=WEEKLY;BYDAY=MO.
recurrence_end_atstring
show_asbusy | freebusy (default) closes booking-page slots; free doesn't.
remindersnumber[]Minutes before the start to remind the space's people, e.g. [10, 60].
contact_idstringA contact of this space the event is with.
guestsobject[]People to invite: { email, name } or { contact_id }.
send_invitationsbooleanEmail the guests an invitation (default true).
invitation_notestringA line shown in the invitation email.

delete_calendar_category

Scope: calendar:write

Remove a calendar category; its events move to move_to (default 'event'). 'event' and 'meeting' can't be removed.

ParameterTypeRequiredDescription
keystringyes
move_tostring

delete_calendar_event

Scope: calendar:write

Delete an event made in this space (to cancel a booking use cancel_booking). Refused for an event synced from another calendar.

ParameterTypeRequiredDescription
event_idstringyes

invite_event_guests

Scope: calendar:write

Invite people to an event made in this space: each gets an email with the time, place and Accept/Decline (unless send_invitations is false). Someone already invited is skipped.

ParameterTypeRequiredDescription
event_idstringyes
guestsobject[]yes
send_invitationsboolean
invitation_notestring

list_calendar_categories

Scope: calendar:read

The space's calendar categories (key, label, color) — what events are sorted and colored by.

list_calendar_events

Scope: calendar:read

List the space calendar's events — made here, bookings, and ones synced from Google/Outlook/phones. Each says where it is from (from, calendar) and read_only when it lives on another calendar. Filters: start_date/end_date (ISO), category, calendar (a key from list_calendars), search.

ParameterTypeRequiredDescription
start_datestring
end_datestring
categorystringA category key (list_calendar_categories).
calendarstringOnly this calendar: 'space', 'conn:<id>' or 'phone:<id>' from list_calendars.
searchstring
limitnumber

list_calendars

Scope: calendar:read

The calendars in this space: its own, Google / Outlook accounts assigned to it, and members' phone calendars — each with whether it is syncing (and what is wrong if not), and which booking pages its busy times close. Use the keys with list_calendar_events and with a booking page's checks_calendars / copy_bookings_to.

list_event_guests

Scope: calendar:read

Who is invited to an event and their answers (going / declined / maybe / no answer yet). For a synced event, the guests its own calendar lists.

ParameterTypeRequiredDescription
event_idstringyes

remove_event_guest

Scope: calendar:write

Take one guest off an event made in this space (by guest_id from list_event_guests, or email).

ParameterTypeRequiredDescription
event_idstringyes
guest_idstring
emailstring

save_calendar_category

Scope: calendar:write

Add a calendar category (label + color), or rename / recolor one by its key.

ParameterTypeRequiredDescription
keystringAn existing category's key to change it; omit to add a new one.
labelstring
colorstring#RRGGBB

sync_calendars

Scope: calendar:read

Sync the space's Google and Outlook calendars now instead of waiting for the automatic pass (every few minutes) — e.g. right after someone says they just added a meeting. At most once a minute. Answers with each calendar's state, like list_calendars. A phone's calendar syncs from the phone itself.

update_calendar_event

Scope: calendar:write

Change an event made in this space: time, title, place, category, color, repeat, busy/free, reminders, linked contact. Guests already invited are told about a new time or place. Refused for an event synced from another calendar (change it there).

ParameterTypeRequiredDescription
event_idstringyes
titlestring
descriptionstring
start_atstring
end_atstring
is_all_dayboolean
timezonestring
locationstring
categorystringA category key or label (list_calendar_categories).
colorstring
recurrence_rulestring
recurrence_end_atstring
show_asbusy | freebusy closes booking-page slots; free doesn't.
remindersnumber[]Replaces the reminders: minutes before the start. [] = none.
contact_idstring,nullLink a contact of this space; null unlinks.

On this page