Outlook Calendar
Read the calendar, schedule and reschedule meetings, and answer invitations as the signed-in account.
Connect a Microsoft 365 account to work its calendar: read what is scheduled between two instants (recurring meetings expanded per occurrence), read one event with its attendee responses and join link, check free/busy across a set of people, ask Outlook for slots that work, and then create, update, respond to or cancel meetings. Acts as the signed-in account itself - creating a meeting with attendees sends them an invitation immediately.
Connect
Sign in with Microsoft. Sign in with Microsoft to read your calendar, schedule meetings, and respond to invitations as yourself. An organization admin configures the OAuth app once under Integrations → OAuth apps; after that, connecting is a consent screen.
-
Connecting signs in as YOU - tools see and change the calendars your Microsoft account can, and meetings you create are organized by you.
-
This connection asks for calendar access ONLY. It does not ask for your mailbox: mail is the separate Outlook connection.
-
Most Microsoft 365 tenants require an administrator to consent to calendar permissions - your admin registers the app in Entra ID and configures it under Integrations → OAuth apps, including your tenant id.
-
Free/busy lookups for other people return only what your organization's calendar sharing already lets you see.
Tools
| Tool | Access | What it does |
|---|---|---|
List calendars (yekar.outlook-calendar.list-calendars) | Read | List the calendars the signed-in account can see - their ids for List events and Create event, which one is the default, and whether each is writable. An account with many shared calendars pages via nextCursor. |
List events (yekar.outlook-calendar.list-events) | Read | What is on the calendar between two instants - the expanded view, so a recurring meeting appears once per occurrence in the window rather than as a single series. Times come back in UTC. Paginated via nextCursor. |
Read event (yekar.outlook-calendar.read-event) | Read | Read one event in full: times (UTC), location, join link, the attendee list with each person's response, and the meeting body. Reports whether the body was truncated and its true length. |
Get schedule (yekar.outlook-calendar.get-schedule) | Read | Free/busy for a set of people over a window - a per-interval availability strip plus the busy blocks behind it. Returns only what your organization's calendar sharing already exposes: where detail is hidden the strip reads 'unknown' and any lookup that failed carries an error, so an unreadable calendar is never reported as free. |
Find meeting times (yekar.outlook-calendar.find-meeting-times) | Read | Ask Outlook for meeting slots that work for a set of attendees inside a window - it scores candidates against everyone's free/busy and working hours and returns them best-first, with the attendees who can't make each one. Use this before Create event rather than guessing at a time. |
Create event (yekar.outlook-calendar.create-event) | Write | Create a calendar event as the signed-in account. Inviting attendees SENDS them an invitation immediately - there is no draft state for a meeting, so treat this as an outgoing message when a human should approve it. Optionally creates a Teams meeting. |
Update event (yekar.outlook-calendar.update-event) | Write | Change an event the signed-in account organizes - time, title, body, location, or attendees. Attendees on the meeting are notified of the change by Outlook. Note the attendee list is REPLACED, not appended to, and that updating one occurrence of a recurring meeting changes only that occurrence. |
Respond to event (yekar.outlook-calendar.respond-to-event) | Write | Accept, decline, or tentatively accept a meeting invitation as the signed-in account. By default the organizer is notified; set sendResponse false to update only your own calendar. Declining removes the meeting from your calendar. |
Cancel event (yekar.outlook-calendar.cancel-event) | Write | Cancel a meeting the signed-in account organizes - attendees receive a cancellation notice and the meeting leaves their calendars. Organizer only: to get out of someone else's meeting, use Respond to event with decline. |
Notes
- Sign in with Microsoft to connect - every tool acts as YOUR calendar, and meetings you create are organized by you.
- Times are UTC throughout: pass ISO-8601 instants, and read them back the same way.
- Prefer Find meeting times over guessing a slot - it scores candidates against everyone's free/busy and working hours.
- Creating a meeting with attendees sends invitations immediately; there is no draft state for a meeting, so gate it if a human should approve.
- Cancel is for meetings YOU organize; to get out of someone else's, decline it with Respond to event.
- This connection covers the calendar only - mail is the separate Outlook integration.