MCP App Store
by KeenEthics
Outlook Calendar icon

Outlook Calendar

By OpenAI

Get New App Alerts

Overview

Microsoft Outlook calendar for scheduling work: check availability, plan meetings, create events, manage invites.

Tools

add_event_attachment

ChatGPT
Attach a small file reference to an existing Outlook Calendar event.

add_shared_calendar_event_attachment

ChatGPT
Attach a small file reference to an event on a delegated or shared calendar.

cancel_or_delete_event

ChatGPT
Cancel or delete an Outlook Calendar event. Use cancel when the signed-in user is the organizer and wants Outlook to send a cancellation notice to attendees. Use delete to simply remove the event from the current calendar. delete is the safer fallback when the user is not the organizer.

cancel_or_delete_shared_calendar_event

ChatGPT
Cancel or delete an event on a delegated or shared calendar. Use this only when the user explicitly wants to mutate a shared or delegated calendar. For the signed-in user's primary calendar, use cancel_or_delete_event.

create_contact

ChatGPT
Create a new Outlook contact in the default collection or a specific contact folder. Provide only the fields you want Graph to set. Use contact_folder_id to create the contact directly inside a non-root folder.

create_contact_folder

ChatGPT
Create an Outlook contact folder at the root or under a specific parent folder. Pass parent_folder_id to create a nested folder instead of a root-level folder.

create_event

ChatGPT
Create a new event on the user's Outlook Calendar or a selected shared calendar. Provide recurrence to create a recurring series rather than a one-time event.

create_shared_calendar_event

ChatGPT
Create an event on a delegated or shared Outlook calendar. Use this only after list_calendars returns a calendar owned by another mailbox and the user explicitly wants to create an event there. For the signed-in user's primary calendar, use create_event instead.

delete_contact

ChatGPT
Delete an Outlook contact by ID. Use this only when the user has explicitly asked to remove a saved contact. Resolve its ID with list_contacts; do not guess an ID or use a People search result as the deletion target.

delete_contact_folder

ChatGPT
Delete an Outlook contact folder by ID. Use this only when the user explicitly wants to remove a saved contact folder.

fetch_contact

ChatGPT
Fetch a single Outlook contact by ID. Use an exact contact ID from list_contacts when the user wants the full current state of one saved contact.

fetch_contact_folder

ChatGPT
Fetch a single Outlook contact folder by ID. Use this after folder discovery when a later action needs folder metadata or the exact current display name. contact_folder_id is required; to browse default contacts instead, call list_contacts without a folder ID.

fetch_event

ChatGPT
Retrieve details for a single Outlook Calendar event. If you need the mailbox's preferred timezone or related mailbox settings to interpret or present this event, call get_mailbox_settings first.

fetch_events_batch

ChatGPT
Retrieve multiple Outlook Calendar events in batched Graph requests. Use this when you already have several concrete event IDs and need full event payloads. For search or date-window discovery, prefer search_events or list_events. If you need mailbox timezone context while interpreting these events, call get_mailbox_settings first.

find_available_slots

ChatGPT
Return free windows in a bounded window, optionally accounting for buffers. This helper is useful for travel-time and focus-block planning, where the model needs concrete open windows instead of reasoning over raw events. If mailbox timezone or working-hours settings are relevant to the final recommendation, call get_mailbox_settings first and apply them explicitly when interpreting the results. Pass schedule_id to query the schedule you care about. In most cases this should be the person's email address, but it can also be a room/resource mailbox address or another Outlook schedule identifier. If the scenario requires an exact shared/delegated calendar rather than a mailbox schedule, use list_events and infer availability from the returned events instead.

get_mailbox_settings

ChatGPT
Read mailbox settings such as the preferred Outlook timezone. Call this explicitly before calendar actions when you need mailbox-level settings like timeZone, date/time formats, language, or working hours. Calendar actions no longer fetch /me/mailboxSettings implicitly.

get_profile

ChatGPT
Return basic profile information for the Outlook account.

get_schedule

ChatGPT
Return Outlook free/busy information for one or more schedules. Use this before create_event when the user wants help finding an open time across multiple people or rooms. The response includes both a compact availability string and structured schedule items for busy/tentative slots. If you want to align schedule output with the mailbox's preferred timezone or working hours, call get_mailbox_settings first and use the returned values explicitly.

list_calendars

ChatGPT
List calendars available in the signed-in mailbox, including shared calendars.

list_contact_folders

ChatGPT
List Outlook contact folders, optionally traversing nested child folders. Prefer recursive=True when the user only knows a folder name and may have nested organization inside Contacts.

list_contacts

ChatGPT
List Outlook contacts from the default collection or a specific contact folder. Use this for browsing saved contacts. Pass contact_folder_id when the user is working inside a named contact folder, and use select only when a follow-up task needs Graph fields beyond the connector's default rich contact schema.

list_event_instances

ChatGPT
List concrete occurrences and exceptions for a recurring Outlook event series.

list_events

ChatGPT
List Outlook Calendar events within an optional date range. Provide both start_datetime and end_datetime for bounded scheduling windows. Use full ISO-8601 timestamps with either Z or an explicit UTC offset so Outlook interprets the intended timezone correctly. If you need the mailbox's preferred timezone or related mailbox settings before choosing those timestamps, call get_mailbox_settings first.

list_recurring_series

ChatGPT
List recurring series masters that have at least one instance in the requested time window.

list_recurring_series_in_range

ChatGPT
List distinct recurring series in one personal Outlook calendar and date window. Include a series when at least one occurrence or modified exception overlaps the window and matches the optional query. Exclude single events. Match every literal keyword across subject, full body, location, and participant names or email addresses; this is not Graph full-text search or its operator syntax. Omit query for date-only discovery; a supplied blank query is invalid. Both dates require a UTC offset or Z. Derive the window from the user's context and report the searched dates, especially for no matches. There is no default date window or extra-day buffer; Microsoft determines overlap. Return master summaries, not occurrences: each returned id is the series master ID for fetch_event or list_event_instances. Master dates can precede the window, and a matching exception's subject/body can differ from its master's text. Preserve original master dates and recurrence rules; timestamps are in UTC. Order series by their first matching instance, not by the master's start. Return body previews, not full bodies. Use fetch_event with a returned master id for full bodies, event links, location, or reminder details. Apply top after matching and deduplicating series. If has_more is true, increase top up to 200 or narrow the dates or keywords. There is no continuation token or exhaustive-export guarantee. Incomplete page scans and failed master reads are errors, never successful partial or empty results.

respond_to_event

ChatGPT
Respond to an Outlook meeting invitation. Use this for attendee-style RSVP actions: accept, decline, or tentative. Optionally include a note. Proposed new times are only supported for decline and tentative, and Outlook requires send_response=true when proposing a new time.

respond_to_shared_calendar_event

ChatGPT
Respond to a meeting invite on a delegated or shared calendar. Use this only when the event belongs to a shared/delegated calendar_id. For the signed-in user's primary calendar, use respond_to_event.

search_directory_users

ChatGPT
Test enterprise-only Graph /users lookup with a work or school account.

search_events

ChatGPT
Search Outlook Calendar events matching a query. `filters can contain start and end fields as ISO-8601 strings (YYYY-MM-DDTHH:MM:SS[±HH:MM|Z]) or one-element lists of those strings. When query is empty, both start and end are required. If both are provided, end must be after start and the requested range must stay within Microsoft's 1825-day calendarView limit. If mailbox-local timezone context matters for interpretation or follow-up formatting, call get_mailbox_settings first and use the returned timeZone explicitly in your reasoning. Example: filters={"start": "2025-01-01T00:00:00", "end": "2025-01-31T23:59:59"} query="quarterly review"`.

search_mailbox_contacts

ChatGPT
Search saved Outlook contacts by name or exact email address. Each value[].id is a saved-contact ID. Pass it unchanged as contact_id to fetch_contact, update_contact, or delete_contact; do not URL-encode it. People IDs are not saved-contact IDs.

search_people

ChatGPT
Test Graph /me/people relevance lookup across Microsoft account audiences.

update_contact

ChatGPT
Update an existing Outlook contact and return the refreshed contact. Omitted fields are left unchanged. Pass a folder ID only when the contact was resolved from a specific contact folder path.

update_contact_folder

ChatGPT
Rename an Outlook contact folder and return the refreshed folder. Use this when the user wants to reorganize saved contacts without moving items.

update_event

ChatGPT
Update an existing Outlook Calendar event and return the updated event. Use this to reschedule a meeting, change its subject/body/location, or adjust attendees. Setting recurrence on a non-recurring event converts it into a recurring series. On an already recurring event, recurrence changes require update_scope='entire_series' or update_scope='this_and_following'. Only provided fields are updated; null/omitted fields keep their existing values.

update_shared_calendar_event

ChatGPT
Update an event on a delegated or shared Outlook calendar. Use this only for a calendar_id returned by list_calendars for a shared/delegated calendar. For the signed-in user's primary calendar, use update_event instead.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps