Microsoft Outlook Mail
Arcade.dev LLM tools for Outlook Mail
Available tools(13)
| Tool name | Description | Secrets | |
|---|---|---|---|
Create and immediately send a new email in Outlook to the specified recipients | |||
Compose a new draft email in Outlook | |||
Retrieve a single email message by its ID.
Returns email metadata and body content. By default, the body is returned
as plain text (HTML tags stripped) and capped at 5000 characters. Set
body_format to HTML to get the original markup. Use body_offset to
continue reading long emails, or set max_body_characters to None for the
full body.
Use this tool to read the full content of an email after finding it via
search_emails or any listing tool. | |||
List attachment metadata for an email message.
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 an email. | |||
List emails in the user's mailbox across all folders.
Results are sorted by sort_by in the sort_order direction.
Defaults to newest first (receivedDateTime descending).
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.
Results are sorted by sort_by in the sort_order direction.
Defaults to newest first (receivedDateTime descending).
Sorting by RECEIVED_DATE_TIME works with any filter property. Sorting by
a different property (SUBJECT, SENDER, IMPORTANCE) while filtering by an
unrelated property may fail due to a Microsoft Graph API restriction. If
this happens, either sort by RECEIVED_DATE_TIME, or use list_emails (no
filter) with the desired sort_by. | |||
List the user's emails in the specified folder.
Exactly one of `well_known_folder_name` or `folder_id` MUST be provided.
Results are sorted by sort_by in the sort_order direction.
Defaults to newest first (receivedDateTime descending). | |||
List mail folders in the user's mailbox.
Returns folder names, IDs, unread counts, and total item counts.
Use the folder ID in follow-up calls to list_emails_in_folder.
Omit parent_folder_id to list top-level folders, or provide a folder ID
to list its child folders. | |||
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. | |||
Search emails across the user's entire mailbox.
Combines full-text keyword search with structured filters for sender,
read status, attachments, importance, and more. All provided parameters
are combined with AND. Results are ordered by date sent (most recent first).
Email bodies are truncated to 255 characters for efficient skimming.
Use get_email with the message_id to retrieve the full email content.
Use this tool when the user wants to find emails by content, topic, sender,
or a combination of criteria. For exact property filtering (e.g., by
conversationId or flag status), use list_emails_by_property instead. | |||
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 | |||
Get comprehensive user profile and Outlook Mail environment information.
This tool provides detailed information about the authenticated user including
their name, email, mailbox settings, automatic replies configuration, and other
important profile details from Outlook Mail services. |
Selected tools
No tools selected.
Click "Show all tools" to add tools.
Requirements
Select tools to see requirements
MicrosoftOutlookMail.CreateAndSendEmail
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Create and immediately send a new email in Outlook to the specified recipients
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
subject | string | Required | The subject of the email to create |
body | string | Required | The body of the email to create |
to_recipients | array<string> | Required | The email addresses that will be the recipients of the email |
cc_recipients | array<string> | Optional | The email addresses that will be the CC recipients of the email. |
bcc_recipients | array<string> | Optional | The email addresses that will be the BCC recipients of the email. |
body_type | string | Optional | The content type of the email body. Defaults to 'text'texthtml |
Requirements
Output
json— A dictionary containing the created email detailsNo code example available for this tool.
MicrosoftOutlookMail.CreateDraftEmail
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Compose a new draft email in Outlook
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
subject | string | Required | The subject of the draft email to create |
body | string | Required | The body of the draft email to create |
to_recipients | array<string> | Required | The email addresses that will be the recipients of the draft email |
cc_recipients | array<string> | Optional | The email addresses that will be the CC recipients of the draft email. |
bcc_recipients | array<string> | Optional | The email addresses that will be the BCC recipients of the draft email. |
body_type | string | Optional | The content type of the email body. Defaults to 'text'texthtml |
Requirements
Output
json— A dictionary containing the created email detailsNo code example available for this tool.
MicrosoftOutlookMail.GetEmail
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Retrieve a single email message by its ID. Returns email metadata and body content. By default, the body is returned as plain text (HTML tags stripped) and capped at 5000 characters. Set body_format to HTML to get the original markup. Use body_offset to continue reading long emails, or set max_body_characters to None for the full body. Use this tool to read the full content of an email after finding it via search_emails or any listing tool.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
message_id | string | Required | The ID of the email message to retrieve. |
body_format | string | Optional | Format for the returned email body. PLAIN_TEXT strips HTML tags for clean reading. HTML returns the original markup. Defaults to PLAIN_TEXT.plain_texthtml |
max_body_characters | integer | Optional | Maximum number of characters to return from the email body. Defaults to 5000. Set to None to return the full body without a cap. |
body_offset | integer | Optional | Character offset to start reading the body from. Use this to continue reading a long email body that was previously capped. Defaults to 0 (start of body). |
Requirements
Output
json— A dictionary containing the email message.No code example available for this tool.
MicrosoftOutlookMail.ListEmailAttachments
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
List attachment metadata for an email message. 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 an email.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
message_id | string | Required | The ID of the email message to list attachments for. |
limit | integer | Optional | The maximum number of attachments to return. Max is 100. Defaults to 25. |
pagination_token | string | Optional | The pagination token to continue a previous request |
Requirements
Output
json— A dictionary containing a list of attachment metadata objects.No code example available for this tool.
MicrosoftOutlookMail.ListEmails
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
List emails in the user's mailbox across all folders. Results are sorted by sort_by in the sort_order direction. Defaults to newest first (receivedDateTime descending). Since this tool lists email across all folders, it may return sent items, drafts, and other items that are not in the inbox.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
sort_by | string | Optional | Property to sort results by. Defaults to received date.receivedDateTimesubjectsender_email_addressimportance |
sort_order | string | Optional | Sort direction. Defaults to descending.ascendingdescending |
limit | integer | Optional | The number of messages to return. Max is 100. Defaults to 10. |
pagination_token | string | Optional | The pagination token to continue a previous request |
Requirements
Output
json— A dictionary containing a list of emailsNo code example available for this tool.
MicrosoftOutlookMail.ListEmailsByProperty
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
List emails in the user's mailbox across all folders filtering by a property. Results are sorted by sort_by in the sort_order direction. Defaults to newest first (receivedDateTime descending). Sorting by RECEIVED_DATE_TIME works with any filter property. Sorting by a different property (SUBJECT, SENDER, IMPORTANCE) while filtering by an unrelated property may fail due to a Microsoft Graph API restriction. If this happens, either sort by RECEIVED_DATE_TIME, or use list_emails (no filter) with the desired sort_by.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
property | string | Required | The property to filter the emails by.subjectconversationIdreceivedDateTimesender/emailAddress/addressisReadhasAttachmentsimportanceflag/flagStatus |
operator | string | Required | The operator to use for the filter.eqnegtgeltlestartsWithendsWithcontains |
value | string | Required | The value to filter the emails by |
sort_by | string | Optional | Property to sort results by. Defaults to received date. Sorting by received date works with any filter property. Sorting by a different property while filtering by another may not be supported — if the combination fails, use sort_by=RECEIVED_DATE_TIME or use list_emails with the desired sort_by instead.receivedDateTimesubjectsender_email_addressimportance |
sort_order | string | Optional | Sort direction. Defaults to descending.ascendingdescending |
limit | integer | Optional | The number of messages to return. Max is 100. Defaults to 10. |
pagination_token | string | Optional | The pagination token to continue a previous request |
Requirements
Output
json— A dictionary containing a list of emailsNo code example available for this tool.
MicrosoftOutlookMail.ListEmailsInFolder
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
List the user's emails in the specified folder. Exactly one of `well_known_folder_name` or `folder_id` MUST be provided. Results are sorted by sort_by in the sort_order direction. Defaults to newest first (receivedDateTime descending).
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
well_known_folder_name | string | Optional | The name of the folder to list emails from. Defaults to None.deleteditemsdraftsinboxjunkemailsentitemsstarredtasks |
folder_id | string | Optional | The ID of the folder to list emails from if the folder is not a well-known folder. Defaults to None. |
sort_by | string | Optional | Property to sort results by. Defaults to received date.receivedDateTimesubjectsender_email_addressimportance |
sort_order | string | Optional | Sort direction. Defaults to descending.ascendingdescending |
limit | integer | Optional | The number of messages to return. Max is 100. Defaults to 10. |
pagination_token | string | Optional | The pagination token to continue a previous request |
Requirements
Output
json— A dictionary containing a list of emails and a pagination token, if applicableNo code example available for this tool.
MicrosoftOutlookMail.ListMailFolders
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
List mail folders in the user's mailbox. Returns folder names, IDs, unread counts, and total item counts. Use the folder ID in follow-up calls to list_emails_in_folder. Omit parent_folder_id to list top-level folders, or provide a folder ID to list its child folders.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
parent_folder_id | string | Optional | ID of a parent folder to list child folders of. When omitted, lists top-level mailbox folders. |
include_hidden | boolean | Optional | Whether to include hidden folders in the response. Defaults to False. |
limit | integer | Optional | Maximum number of folders to return. Max is 100. Defaults to 25. |
pagination_token | string | Optional | The pagination token to continue a previous request. |
Requirements
Output
json— A dictionary containing a list of mail folders.No code example available for this tool.
MicrosoftOutlookMail.ReplyToEmail
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
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
| Parameter | Type | Req. | Description |
|---|---|---|---|
message_id | string | Required | The ID of the email to reply to |
body | string | Required | The body of the reply to the email |
reply_type | string | Optional | Specify ReplyType.REPLY to reply only to the sender or ReplyType.REPLY_ALL to reply to all recipients. Defaults to ReplyType.REPLY.replyreply_all |
Requirements
Output
json— A dictionary containing the sent email detailsNo code example available for this tool.
MicrosoftOutlookMail.SearchEmails
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Search emails across the user's entire mailbox. Combines full-text keyword search with structured filters for sender, read status, attachments, importance, and more. All provided parameters are combined with AND. Results are ordered by date sent (most recent first). Email bodies are truncated to 255 characters for efficient skimming. Use get_email with the message_id to retrieve the full email content. Use this tool when the user wants to find emails by content, topic, sender, or a combination of criteria. For exact property filtering (e.g., by conversationId or flag status), use list_emails_by_property instead.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
keywords | array<string> | Optional | Words or phrases to search for across email subject, body, and sender fields. All terms must match (AND operator). Defaults to None. |
sender | array<string> | Optional | Filter by sender email address, display name, or alias. When multiple values are provided, emails from any of the senders are returned (OR operator). Defaults to None. |
recipient | array<string> | Optional | Filter by To-recipient email address or display name. When multiple values are provided, emails to any of the recipients are returned (OR operator). Defaults to None. |
attachment_name | array<string> | Optional | Filter by attachment filename. When multiple values are provided, emails with any of the attachment names are returned (OR operator). Defaults to None. |
has_attachments | boolean | Optional | Filter for emails with or without attachments. Defaults to None (no filter). |
importance | string | Optional | Filter by email importance level. Defaults to None (no filter).lownormalhigh |
is_read | boolean | Optional | Filter by read status. True for read emails, False for unread. Defaults to None (no filter). |
category | string | Optional | Filter by email category name. Categories are user-defined. Defaults to None (no filter). |
received_after | string | Optional | Filter for emails received on or after this date (YYYY-MM-DD). Dates are interpreted in UTC. Defaults to None (no filter). |
received_before | string | Optional | Filter for emails received on or before this date (YYYY-MM-DD). Dates are interpreted in UTC. Defaults to None (no filter). |
limit | integer | Optional | The maximum number of search results to return. Max is 25. Defaults to 10. |
pagination_token | string | Optional | The pagination token to continue a previous request. |
Requirements
Output
json— A dictionary containing a list of matching emails.No code example available for this tool.
MicrosoftOutlookMail.SendDraftEmail
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Send an existing draft email in Outlook This tool can send any un-sent email: - draft - reply-draft - reply-all draft - forward draft
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
message_id | string | Required | The ID of the draft email to send |
Requirements
Output
json— A dictionary containing the sent email detailsNo code example available for this tool.
MicrosoftOutlookMail.UpdateDraftEmail
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
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
| Parameter | Type | Req. | Description |
|---|---|---|---|
message_id | string | Required | The ID of the draft email to update |
subject | string | Optional | The new subject of the draft email. If provided, the existing subject will be overwritten |
body | string | Optional | The new body of the draft email. If provided, the existing body will be overwritten |
to_add | array<string> | Optional | Email addresses to add as 'To' recipients. |
to_remove | array<string> | Optional | Email addresses to remove from the current 'To' recipients. |
cc_add | array<string> | Optional | Email addresses to add as 'CC' recipients. |
cc_remove | array<string> | Optional | Email addresses to remove from the current 'CC' recipients. |
bcc_add | array<string> | Optional | Email addresses to add as 'BCC' recipients. |
bcc_remove | array<string> | Optional | Email addresses to remove from the current 'BCC' recipients. |
Requirements
Output
json— A dictionary containing the updated email detailsNo code example available for this tool.
MicrosoftOutlookMail.WhoAmI
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Get comprehensive user profile and Outlook Mail environment information. This tool provides detailed information about the authenticated user including their name, email, mailbox settings, automatic replies configuration, and other important profile details from Outlook Mail services.
Parameters
No parameters required.
Requirements
Output
json— Get comprehensive user profile and Outlook Mail environment information.No code example available for this tool.