Skip to Content
ResourcesIntegrationsProductivity & DocsMicrosoft Outlook Mail

Microsoft Outlook Mail

Service domainEMAIL
Microsoft Outlook Mail icon
Arcade Optimized

Arcade.dev LLM tools for Outlook Mail

Author:Arcade
Version:0.4.0
Auth:User authorization via the Microsoft auth provider
28tools

The Microsoft Outlook Mail toolkit connects Arcade to the Microsoft Graph Mail API, enabling LLMs to read, compose, send, search, organize, and manage email in both personal and shared/delegated Outlook mailboxes.

Capabilities

  • Read & search mail — retrieve individual messages (with pagination and HTML/plain-text control), list emails across all folders or within a specific folder, filter by structured properties (sender, flag, importance, conversation, etc.), and run full-text keyword searches with combined AND filters across an entire mailbox.
  • Compose & send — create and immediately send emails, compose drafts, update draft recipients/subject/body, send existing drafts (including reply, reply-all, and forward drafts), and reply to messages (sender-only or reply-all).
  • Folder & organization management — list top-level and nested mail folders with unread/total counts, discover custom folder IDs, and move messages between folders using well-known folder names or folder IDs.
  • Attachments — list attachment metadata (name, size, type) for any message without downloading content.
  • Shared & delegated mailboxes — a full parallel set of tools (prefixed SharedMailbox) covers all read, compose, send, search, folder, and attachment operations against team inboxes (e.g., sales@, support@) or executive mailboxes the user has delegate access to; includes a capability checker to verify mailbox reachability before acting.
  • Identity & mailbox settings — retrieve the authenticated user's profile, mailbox settings, and automatic-replies configuration via WhoAmI.

OAuth

This toolkit authenticates via Microsoft OAuth 2.0. Arcade manages token acquisition and refresh automatically.

See the Microsoft auth provider docs for configuration details.

Available tools(28)

28 of 28 tools
Operations
Behavior
Tool nameDescriptionSecrets
Create and immediately send a new email in Outlook to the specified recipients. Returns the sent message's ``message_id`` and ``conversation_id`` so callers can immediately chain follow-ups (e.g. reply to what they just sent) without having to search Sent Items.
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.
Move an email message to a different folder in Outlook. Exactly one of `destination_well_known_folder_name` or `destination_folder_id` MUST be provided. Use `list_mail_folders` to discover custom folder IDs.
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. .. note:: Microsoft Graph's ``$search`` on messages is backed by the Microsoft Search index, which returns message IDs in the legacy REST-ID format even when the client opts into Immutable IDs (which other tools in this toolkit do by default). Do not directly compare a ``message_id`` from ``search_emails`` against one from ``list_emails`` / ``get_email`` — the ID shapes differ. To chain from a search hit, pass the returned ID straight back into ``get_email`` (which accepts either format), and use ``conversation_id`` as the deduplication key across result sets.
Send an existing draft email in Outlook. Sends any un-sent message — draft, reply-draft, reply-all draft, or forward draft — and returns the message's ``message_id`` and ``conversation_id`` so callers can chain follow-ups (e.g. reply to the message they just sent) without searching Sent Items.
Check which provided mailboxes are reachable via shared mailbox APIs. This is a capability checker, not an Exchange permission inventory. It verifies whether each provided mailbox can be reached through a cheap, read-only Graph call. When checking multiple mailboxes, pass them together in one ``owner_emails`` list so results can be deduplicated and rate-limited consistently. Microsoft Graph does not expose exact ``Send As`` vs ``Send on behalf`` permissions, so the response names that limitation explicitly instead of guessing.
Create and immediately send an email from a shared or delegated mailbox. Use this when the user wants the email to be sent from a team inbox (like sales@ or support@) or from an executive's mailbox they have been delegated access to, rather than from their own address.
Compose a new draft email in a shared or delegated mailbox.
Retrieve a single email from a shared or delegated mailbox by message ID. Returns email metadata and body content. By default, the body is returned as plain text (HTML tags stripped) and capped at 5000 characters. Use body_offset to continue reading long emails, or set max_body_characters to None for the full body.
List attachment metadata for an email in a shared or delegated mailbox.
List emails in a shared or delegated mailbox, across all folders. Results are sorted by sort_by in the sort_order direction. Defaults to newest first (receivedDateTime descending).
List emails in a shared or delegated mailbox filtered by a property. Results are sorted by sort_by in the sort_order direction. Defaults to newest first (receivedDateTime descending).
List emails in a specific folder of a shared or delegated mailbox. 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 a shared or delegated mailbox. Returns folder names, IDs, unread counts, and total item counts. Use the folder ID when listing emails in a specific folder.
Move an email message to a different folder in a shared or delegated mailbox. Exactly one of `destination_well_known_folder_name` or `destination_folder_id` MUST be provided. Use `shared_mailbox_list_mail_folders` (with the same `owner_email`) to discover custom folder IDs; folder IDs are specific to the target mailbox.
Reply to an email in a shared or delegated mailbox. The reply is sent from the shared mailbox address, not the signed-in user's personal address. Specify reply_type to reply only to the sender or to all recipients.
Search emails in a shared or delegated 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. Retrieve a message by its message ID when the full content is needed. .. note:: Search results may use a different Graph ID shape than list/get results. Use returned message IDs directly for message retrieval and ``conversation_id`` for deduplication across result sets.
Send an existing draft email from a shared or delegated mailbox. This tool can send any un-sent email in the shared mailbox: - draft - reply-draft - reply-all draft - forward draft Returns the message's ``message_id`` and ``conversation_id`` so callers can chain follow-ups (e.g. reply to the message they just sent) without searching Sent Items.
Page 1 of 2(25 of 28)
Last updated on