Skip to Content
ResourcesIntegrationsProductivity & DocsMicrosoft Outlook Calendar

Microsoft Outlook Calendar

Service domainCALENDAR
Microsoft Outlook Calendar icon
Arcade Optimized

Arcade.dev LLM tools for Outlook Calendar

Author:Arcade
Version:0.3.0
Auth:User authorization via the Microsoft auth provider
7tools

Microsoft Outlook Calendar Toolkit

The Microsoft Outlook Calendar toolkit lets Arcade-powered LLMs interact with a user's Outlook Calendar via the Microsoft Graph API, enabling calendar reads, writes, and queries on behalf of authenticated users.

Capabilities

  • Calendar discovery & context: List all calendars the user owns, shares, or has delegated access to; retrieve current user identity and calendar environment details.
  • Event creation: Create events in the user's default calendar; timezone handling defers to the calendar's configured timezone (falls back to UTC if unset).
  • Event retrieval & listing: Fetch a specific event by ID, or list all events within a defined time range using the calendar's native timezone.
  • Search & filtering: Search events across a time range with optional filters; results are chronologically ordered with body content truncated to 200 characters for efficiency — use the returned event ID to fetch full details.
  • Attachment inspection: List attachment metadata (name, size, type) for any calendar event, including events on shared or delegated calendars; attachment content is not returned.

OAuth

This toolkit uses OAuth 2.0 delegated auth via Microsoft. Arcade handles the OAuth flow automatically. See the Microsoft auth provider docs for configuration details.

Available tools(7)

7 of 7 tools
Operations
Behavior
Tool nameDescriptionSecrets
Create an event in the authenticated user's default calendar. Ignores timezone offsets provided in the start_date_time and end_date_time parameters. Instead, uses the user's default calendar timezone to filter events. If the user has not set a timezone for their calendar, then the timezone will be UTC.
Get an event by its ID from the user's calendar.
List all calendars the user has access to. Returns the user's own calendars plus any shared or delegated calendars. Each calendar includes its ID, name, owner, and permissions. Use a calendar_id from the results to target a specific calendar in other calendar tools.
List attachment metadata for a calendar event. Returns metadata only (name, size, type, etc.). Attachment content is not included. Use this tool when the user wants to know what files are attached to a calendar event or meeting. Pass a calendar_id to list attachments on events in shared or delegated calendars.
List events in the user's calendar in a specific time range. Ignores timezone offsets provided in the start_date_time and end_date_time parameters. Instead, uses the user's default calendar timezone to filter events. If the user has not set a timezone for their calendar, then the timezone will be UTC.
Search calendar events within a time range with optional filters. Results are in chronological order. Event bodies are truncated to 200 characters for efficient skimming. Use the event_id from the results to retrieve full event details.
Get information about the current user and their Outlook Calendar environment.

Selected tools

No tools selected.

Click "Show all tools" to add tools.

Requirements

Select tools to see requirements

#

MicrosoftOutlookCalendar.CreateEvent

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
Calendar
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Create an event in the authenticated user's default calendar. Ignores timezone offsets provided in the start_date_time and end_date_time parameters. Instead, uses the user's default calendar timezone to filter events. If the user has not set a timezone for their calendar, then the timezone will be UTC.

Parameters

ParameterTypeReq.Description
subjectstringRequiredThe text of the event's subject (title) line.
bodystringRequiredThe body of the event
start_date_timestringRequiredThe datetime of the event's start, represented in ISO 8601 format. Timezone offset is ignored. For example, 2025-04-25T13:00:00
end_date_timestringRequiredThe datetime of the event's end, represented in ISO 8601 format. Timezone offset is ignored. For example, 2025-04-25T13:30:00
locationstringOptionalThe location of the event
attendee_emailsarray<string>OptionalThe email addresses of the attendees of the event. Must be valid email addresses e.g., username@domain.com.
is_online_meetingbooleanOptionalWhether the event is an online meeting. Defaults to False
custom_meeting_urlstringOptionalThe URL of the online meeting. If not provided and is_online_meeting is True, then a url will be generated for you

Requirements

No secrets required

Output

Type:jsonA dictionary containing the created event details
#

MicrosoftOutlookCalendar.GetEvent

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Calendar
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get an event by its ID from the user's calendar.

Parameters

ParameterTypeReq.Description
event_idstringRequiredThe ID of the event to get

Requirements

No secrets required

Output

Type:jsonA dictionary containing the event details
#

MicrosoftOutlookCalendar.ListCalendars

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Calendar
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List all calendars the user has access to. Returns the user's own calendars plus any shared or delegated calendars. Each calendar includes its ID, name, owner, and permissions. Use a calendar_id from the results to target a specific calendar in other calendar tools.

Parameters

ParameterTypeReq.Description
limitintegerOptionalMaximum number of calendars to return. Max is 200. Defaults to 50.
pagination_tokenstringOptionalThe pagination token to continue a previous request.

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of available calendars.
#

MicrosoftOutlookCalendar.ListEventAttachments

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Calendar
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List attachment metadata for a calendar event. Returns metadata only (name, size, type, etc.). Attachment content is not included. Use this tool when the user wants to know what files are attached to a calendar event or meeting. Pass a calendar_id to list attachments on events in shared or delegated calendars.

Parameters

ParameterTypeReq.Description
event_idstringRequiredThe ID of the calendar event to list attachments for.
calendar_idstringOptionalID of a specific calendar containing the event, including shared and delegated ones. When omitted, searches the user's default calendar.
limitintegerOptionalThe maximum number of attachments to return. Max is 100. Defaults to 25.
pagination_tokenstringOptionalThe pagination token to continue a previous request.

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of attachment metadata objects.
#

MicrosoftOutlookCalendar.ListEventsInTimeRange

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Calendar
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List events in the user's calendar in a specific time range. Ignores timezone offsets provided in the start_date_time and end_date_time parameters. Instead, uses the user's default calendar timezone to filter events. If the user has not set a timezone for their calendar, then the timezone will be UTC.

Parameters

ParameterTypeReq.Description
start_date_timestringRequiredThe start date and time of the time range, represented in ISO 8601 format. Timezone offset is ignored. For example, 2025-04-24T19:00:00
end_date_timestringRequiredThe end date and time of the time range, represented in ISO 8601 format. Timezone offset is ignored. For example, 2025-04-24T19:30:00
limitintegerOptionalThe maximum number of events to return. Max 1000. Defaults to 10

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of events
#

MicrosoftOutlookCalendar.SearchEvents

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Calendar
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Search calendar events within a time range with optional filters. Results are in chronological order. Event bodies are truncated to 200 characters for efficient skimming. Use the event_id from the results to retrieve full event details.

Parameters

ParameterTypeReq.Description
subjectstringOptionalFilter events whose subject contains this text (case-insensitive). Defaults to None (no subject filter).
attendee_emailsarray<string>OptionalFilter events that include these attendees by exact email address. Multiple emails are combined with AND (all must be attendees). Defaults to None (no attendee filter).
organizer_namestringOptionalFilter events organized by another specific person by their display name. Matching is case-insensitive substring against the organizer's display name. Do not use this to filter for events organized by the current authenticated user — use organized_by_me=True instead, which does not depend on knowing your own display name. Defaults to None (no organizer filter).
organized_by_mebooleanOptionalFilter for events the current authenticated user organized (True) vs. events the current user was invited to but did not organize (False). Defaults to None (no filter). Prefer this over organizer_name when the user asks about their own events — it does not require knowing the user's display name in the tenant's format.
importancestringOptionalFilter by event importance level. Defaults to None (no filter).
lownormalhigh
is_online_meetingbooleanOptionalFilter for online meetings (True) or in-person meetings (False). Defaults to None (no filter).
start_date_timestringOptionalThe start of the time range, in ISO 8601 format. Timezone offset is ignored; the user's calendar timezone is used. Defaults to None (90 days before today).
end_date_timestringOptionalThe end of the time range, in ISO 8601 format. Timezone offset is ignored; the user's calendar timezone is used. Defaults to None (90 days after today).
calendar_idstringOptionalID of a specific calendar to search, including shared and delegated ones. When omitted, searches the user's default calendar.
include_cancelledbooleanOptionalWhether to include cancelled events in the results. Defaults to False.
limitintegerOptionalMaximum number of matching events to return. Max is 200. Defaults to 25. When client-side filters are active, the tool may scan multiple pages to accumulate matches.
pagination_tokenstringOptionalEncoded pagination token to continue a previous request. Preserves client-side filter state (attendee_emails, organizer_name, organized_by_me, is_online_meeting) across continuation calls.

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of matching calendar events.
#

MicrosoftOutlookCalendar.WhoAmI

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Calendar
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get information about the current user and their Outlook Calendar environment.

Parameters

No parameters required.

Requirements

No secrets required

Output

Type:jsonGet comprehensive user profile and Outlook Calendar information.
Last updated on