Skip to Content

Microsoft

Microsoft icon
Arcade Optimized

Arcade.dev LLM tools for Outlook Mail

Author:Arcade
Version:1.1.1
Auth:User authorization via the Microsoft auth provider
11tools
PyPI VersionPython VersionsWheel StatusDownloadsLicense

Microsoft Arcade Toolkit

The Microsoft Arcade toolkit provides seamless integration with Outlook Mail, enabling developers to create and manage emails and calendar events efficiently.

Capabilities

  • Create, send, and manage emails and drafts.
  • Organize and filter calendar events based on user-defined parameters.
  • Retrieve, update, and reply to existing emails easily.
  • Access user mailbox across all folders, enhancing email management.

OAuth

Auth type: oauth2; Provider: Microsoft; Scopes: Calendars.ReadBasic, Calendars.ReadWrite, Mail.Read, Mail.ReadWrite, Mail.Send, MailboxSettings.Read.

Secrets

No secrets are required for the use of this toolkit.

Available tools(11)

11 of 11
Tool nameDescriptionSecrets
Create and immediately send a new email in Outlook to the specified recipients
Compose a new draft email in Outlook
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 emails in the user's mailbox across all folders. Since this tool lists email across all folders, it may return sent items, drafts, and other items that are not in the inbox.
List emails in the user's mailbox across all folders filtering by a property.
List the user's emails in the specified folder. Exactly one of `well_known_folder_name` or `folder_id` MUST be provided.
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.
Reply to an existing email in Outlook. Use this tool to reply to the sender or all recipients of the email. Specify the reply_type to determine the scope of the reply.
Send an existing draft email in Outlook This tool can send any un-sent email: - draft - reply-draft - reply-all draft - forward draft
Update an existing draft email in Outlook. This tool overwrites the subject and body of a draft email (if provided), and modifies its recipient lists by selectively adding or removing email addresses. This tool can update any un-sent email: - draft - reply-draft - reply-all draft - forward draft

Selected tools

No tools selected.

Click "Show all tools" to add tools.

Requirements

Select tools to see requirements

#

Microsoft.CreateAndSendEmail

Create and immediately send a new email in Outlook to the specified recipients

Parameters

ParameterTypeReq.Description
subjectstringRequiredThe subject of the email to create
bodystringRequiredThe body of the email to create
to_recipientsarray<string>RequiredThe email addresses that will be the recipients of the email
cc_recipientsarray<string>OptionalThe email addresses that will be the CC recipients of the email.
bcc_recipientsarray<string>OptionalThe email addresses that will be the BCC recipients of the email.

Requirements

No secrets required

Output

Type:jsonA dictionary containing the created email details
#

Microsoft.CreateDraftEmail

Compose a new draft email in Outlook

Parameters

ParameterTypeReq.Description
subjectstringRequiredThe subject of the draft email to create
bodystringRequiredThe body of the draft email to create
to_recipientsarray<string>RequiredThe email addresses that will be the recipients of the draft email
cc_recipientsarray<string>OptionalThe email addresses that will be the CC recipients of the draft email.
bcc_recipientsarray<string>OptionalThe email addresses that will be the BCC recipients of the draft email.

Requirements

No secrets required

Output

Type:jsonA dictionary containing the created email details
#

Microsoft.CreateEvent

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
#

Microsoft.GetEvent

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
#

Microsoft.ListEmails

List emails in the user's mailbox across all folders. Since this tool lists email across all folders, it may return sent items, drafts, and other items that are not in the inbox.

Parameters

ParameterTypeReq.Description
limitintegerOptionalThe number of messages to return. Max is 100. Defaults to 5.
pagination_tokenstringOptionalThe pagination token to continue a previous request

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of emails
#

Microsoft.ListEmailsByProperty

List emails in the user's mailbox across all folders filtering by a property.

Parameters

ParameterTypeReq.Description
propertystringRequiredThe property to filter the emails by.
subjectconversationIdreceivedDateTimesender/emailAddress/address
operatorstringRequiredThe operator to use for the filter.
eqnegtgeltlestartsWithendsWithcontains
valuestringRequiredThe value to filter the emails by
limitintegerOptionalThe number of messages to return. Max is 100. Defaults to 5.
pagination_tokenstringOptionalThe pagination token to continue a previous request

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of emails
#

Microsoft.ListEmailsInFolder

List the user's emails in the specified folder. Exactly one of `well_known_folder_name` or `folder_id` MUST be provided.

Parameters

ParameterTypeReq.Description
well_known_folder_namestringOptionalThe name of the folder to list emails from. Defaults to None.
deleteditemsdraftsinboxjunkemailsentitemsstarredtasks
folder_idstringOptionalThe ID of the folder to list emails from if the folder is not a well-known folder. Defaults to None.
limitintegerOptionalThe number of messages to return. Max is 100. Defaults to 5.
pagination_tokenstringOptionalThe pagination token to continue a previous request

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of emails and a pagination token, if applicable
#

Microsoft.ListEventsInTimeRange

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
#

Microsoft.ReplyToEmail

Reply to an existing email in Outlook. Use this tool to reply to the sender or all recipients of the email. Specify the reply_type to determine the scope of the reply.

Parameters

ParameterTypeReq.Description
message_idstringRequiredThe ID of the email to reply to
bodystringRequiredThe body of the reply to the email
reply_typestringOptionalSpecify ReplyType.REPLY to reply only to the sender or ReplyType.REPLY_ALL to reply to all recipients. Defaults to ReplyType.REPLY.
replyreply_all

Requirements

No secrets required

Output

Type:jsonA dictionary containing the sent email details
#

Microsoft.SendDraftEmail

Send an existing draft email in Outlook This tool can send any un-sent email: - draft - reply-draft - reply-all draft - forward draft

Parameters

ParameterTypeReq.Description
message_idstringRequiredThe ID of the draft email to send

Requirements

No secrets required

Output

Type:jsonA dictionary containing the sent email details
#

Microsoft.UpdateDraftEmail

Update an existing draft email in Outlook. This tool overwrites the subject and body of a draft email (if provided), and modifies its recipient lists by selectively adding or removing email addresses. This tool can update any un-sent email: - draft - reply-draft - reply-all draft - forward draft

Parameters

ParameterTypeReq.Description
message_idstringRequiredThe ID of the draft email to update
subjectstringOptionalThe new subject of the draft email. If provided, the existing subject will be overwritten
bodystringOptionalThe new body of the draft email. If provided, the existing body will be overwritten
to_addarray<string>OptionalEmail addresses to add as 'To' recipients.
to_removearray<string>OptionalEmail addresses to remove from the current 'To' recipients.
cc_addarray<string>OptionalEmail addresses to add as 'CC' recipients.
cc_removearray<string>OptionalEmail addresses to remove from the current 'CC' recipients.
bcc_addarray<string>OptionalEmail addresses to add as 'BCC' recipients.
bcc_removearray<string>OptionalEmail addresses to remove from the current 'BCC' recipients.

Requirements

No secrets required

Output

Type:jsonA dictionary containing the updated email details
Last updated on