MICROSOFT 365 · CALENDAR
Read free/busy and schedule meetings through Microsoft Graph.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
microsoft_calendar_check_availabilityREADCheck free/busy availability for one or more users over a time range. Requires Schedule.Read.All.
microsoft_calendar_create_eventWRITECreate a new calendar event.
microsoft_calendar_create_event_in_shared_calendarWRITECreate an event in a calendar shared with the user. Requires Calendars.ReadWrite.Shared.
microsoft_calendar_delete_eventWRITEDelete a calendar event.
microsoft_calendar_delete_event_in_shared_calendarWRITEDelete an event in a shared calendar. Requires Calendars.ReadWrite.Shared.
microsoft_calendar_find_meeting_timesWRITEFind available meeting times for a group of attendees using Microsoft's scheduling intelligence. Requires Schedule.Read.All. User.ReadBasic.All is used to resolve attendee names.
microsoft_calendar_get_eventREADGet a specific calendar event by ID.
microsoft_calendar_get_free_busyREADGet free/busy status for users without exposing event details. Requires Calendars.ReadBasic (lower privilege than get_schedule).
microsoft_calendar_get_scheduleREADGet full schedule including calendar items for users over a time range. Requires Schedule.Read.All.
microsoft_calendar_get_user_timezoneREADGet the user's configured time zone from mailbox settings. Requires MailboxSettings.Read. This timezone is used by Calendar to display event times and affects scheduling.
microsoft_calendar_get_user_working_hoursREADGet the user's configured working hours from mailbox settings. Requires MailboxSettings.Read. Working hours determine availability shown to others in scheduling and Bookings.
microsoft_calendar_list_calendarsREADList the user's Microsoft calendars.
microsoft_calendar_list_eventsREADList calendar events in a time range.
microsoft_calendar_list_room_listsREADList room lists (building/floor groupings of meeting rooms) in the organization. Requires Place.Read.All. Use to browse rooms by physical location before creating events.
microsoft_calendar_list_roomsREADList bookable meeting rooms in the organization. Requires Place.Read.All. Returns room name, email address, capacity, and location — used to select a physical location when creating calendar events.
microsoft_calendar_list_shared_calendar_eventsREADList events in a calendar shared with the user. Requires Calendars.Read.Shared.
microsoft_calendar_list_shared_calendarsREADList calendars shared with the authenticated user. Requires Calendars.Read.Shared.
microsoft_calendar_resolve_attendeesREADSearch for users by name or email prefix to resolve full email addresses. Requires User.ReadBasic.All. Use before find_meeting_times or create_event to look up attendee addresses from partial names.
microsoft_calendar_update_eventWRITEUpdate an existing calendar event.
microsoft_calendar_update_event_in_shared_calendarWRITEUpdate an event in a shared calendar. Requires Calendars.ReadWrite.Shared.
microsoft_calendar_update_user_timezoneWRITEUpdate the user's time zone in mailbox settings. Requires MailboxSettings.ReadWrite. Affects how calendar events are displayed and scheduled for this user across all Microsoft 365 apps.
microsoft_calendar_update_user_working_hoursWRITEUpdate the user's working hours in mailbox settings. Requires MailboxSettings.ReadWrite. Affects the user's availability block visible to others when scheduling meetings.
Put Microsoft Calendar behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.