Microsoft Outlook Mail MCP Tools for AI Agents
Let an agent search Outlook mail, read messages and attachments, organize folders, draft replies, and send email from user or shared mailboxes.
Available Tools
88 tools available in this integration
MicrosoftOutlookMail.CategorizeEmails Put a category on emails in the user's own mailbox, or take one off, keeping every
MicrosoftOutlookMail.CheckSharedMailboxCapabilities Check which provided mailboxes are reachable via shared mailbox APIs.
MicrosoftOutlookMail.CreateAndSendEmail Create and immediately send a new email in Outlook to the specified recipients.
MicrosoftOutlookMail.CreateDraftForward Create a forward of an existing Outlook email, with its attachments, as an unsent draft.
MicrosoftOutlookMail.CreateDraftReply Create a reply or reply-all draft for an existing Outlook email without sending it.
MicrosoftOutlookMail.CreateForwardDraft Create a forward of an existing Outlook email, with its attachments, as an unsent draft.
MicrosoftOutlookMail.CreateMailFolder Create a mail folder in the user's own Outlook mailbox, to keep related messages together.
MicrosoftOutlookMail.CreateReplyDraft Create a reply or reply-all draft for an existing Outlook email without sending it.
MicrosoftOutlookMail.CreateSharedMailboxForwardDraft Create a forward of an email in a shared or delegated mailbox, with its attachments, as an unsent draft.
MicrosoftOutlookMail.CreateSharedMailboxMailFolder Create a mail folder in a shared or delegated mailbox, to keep related messages together.
MicrosoftOutlookMail.CreateSharedMailboxReplyDraft Create a reply or reply-all draft in a shared or delegated mailbox without sending it.
MicrosoftOutlookMail.DeleteCategory Delete a category (label or tag) from the user's own Outlook mailbox and take it off every
MicrosoftOutlookMail.DeleteEmailCategory Delete a category (label or tag) from the user's own Outlook mailbox and take it off every
MicrosoftOutlookMail.DeleteMailRule Delete one Inbox rule (filter) from the user's own Outlook mailbox by its rule_id.
MicrosoftOutlookMail.ForwardEmail Forward an existing email in Outlook, with its attachments, and send it immediately.
MicrosoftOutlookMail.ForwardMessage Forward an existing email in Outlook, with its attachments, and send it immediately.
MicrosoftOutlookMail.ForwardSharedMailboxMessage Forward an email in a shared or delegated mailbox, with its attachments, and send it immediately.
MicrosoftOutlookMail.GetAutomaticReplies Check the user's out-of-office automatic replies (auto-reply, vacation responder): whether they are going out now, what they say, to whom, and until when.
MicrosoftOutlookMail.GetAutomaticReplySettings Check the user's out-of-office automatic replies (auto-reply, vacation responder): whether they are going out now, what they say, to whom, and until when.
MicrosoftOutlookMail.GetEmail Retrieve a single email message by its ID.
MicrosoftOutlookMail.GetMessage Retrieve a single email message by its ID.
MicrosoftOutlookMail.GetSharedMailboxMessage Retrieve a single email from a shared or delegated mailbox by message ID.
MicrosoftOutlookMail.ListAttachments List attachment metadata for an email message.
MicrosoftOutlookMail.ListCategories List the categories (labels or tags) in the user's Outlook mailbox.
MicrosoftOutlookMail.ListEmailAttachments List attachment metadata for an email message.
MicrosoftOutlookMail.ListEmailCategories List the categories (labels or tags) in the user's Outlook mailbox.
MicrosoftOutlookMail.ListEmails List email messages in the user's mailbox.
MicrosoftOutlookMail.ListMailFolders List mail folders in the user's mailbox.
MicrosoftOutlookMail.ListMailRules List the Inbox rules (filters) in the user's own Outlook mailbox, in the order they run.
MicrosoftOutlookMail.ListMessages List email messages in the user's mailbox.
MicrosoftOutlookMail.ListSharedMailboxAttachments List attachment metadata for an email in a shared or delegated mailbox.
MicrosoftOutlookMail.ListSharedMailboxMailFolders List mail folders in a shared or delegated mailbox.
MicrosoftOutlookMail.ListSharedMailboxMessages List email messages in a shared or delegated mailbox.
MicrosoftOutlookMail.MarkEmails Set the read state or the follow-up flag on a selection of emails in the user's own mailbox.
MicrosoftOutlookMail.MarkMessages Set the read state or the follow-up flag on a selection of emails in the user's own mailbox.
MicrosoftOutlookMail.MarkSharedMailboxMessages Set the read state or the follow-up flag on emails in a shared or delegated mailbox.
MicrosoftOutlookMail.MoveEmails Move a selection of emails into one folder in the user's own mailbox.
MicrosoftOutlookMail.MoveMessages Move a selection of emails into one folder in the user's own mailbox.
MicrosoftOutlookMail.MoveSharedMailboxMessages Move a selection of emails into one folder in a shared or delegated mailbox.
MicrosoftOutlookMail.QueryMessages Search the user's mailbox with an Outlook KQL query.
MicrosoftOutlookMail.QuerySharedMailboxMessages Search a shared or delegated mailbox with an Outlook KQL query.
MicrosoftOutlookMail.RenameEmailCategory Rename a category (label or tag) in the user's own Outlook mailbox, keeping it on every
MicrosoftOutlookMail.ReplyToEmail Reply to an existing email in Outlook.
MicrosoftOutlookMail.ReplyToMessage Reply to an existing email in Outlook.
MicrosoftOutlookMail.ReplyToSharedMailboxMessage Reply to an email in a shared or delegated mailbox.
MicrosoftOutlookMail.SaveCategory Create a category (label or tag) in the user's own Outlook mailbox, or recolor an
MicrosoftOutlookMail.SaveDraft Save an email draft in Outlook, creating a new one or revising one that exists.
MicrosoftOutlookMail.SaveDraftEmail Save an email draft in Outlook, creating a new one or revising one that exists.
MicrosoftOutlookMail.SaveEmailCategory Create a category (label or tag) in the user's own Outlook mailbox, or recolor an
MicrosoftOutlookMail.SaveMailRule Create an Inbox rule (filter) in the user's own Outlook mailbox that acts on email as it
MicrosoftOutlookMail.SaveSharedMailboxDraft Save an email draft in a shared or delegated Outlook mailbox.
MicrosoftOutlookMail.SearchEmails Search emails across the user's entire mailbox.
MicrosoftOutlookMail.SearchEmailsByQuery Search the user's mailbox with an Outlook KQL query.
MicrosoftOutlookMail.SearchMessages Search emails across the user's entire mailbox.
MicrosoftOutlookMail.SearchSharedMailboxMessages Search emails in a shared or delegated mailbox.
MicrosoftOutlookMail.SendDraft Send an existing draft email in Outlook.
MicrosoftOutlookMail.SendDraftEmail Send an existing draft email in Outlook.
MicrosoftOutlookMail.SendMessage Create and immediately send a new email in Outlook to the specified recipients.
MicrosoftOutlookMail.SendSharedMailboxDraft Send an existing draft email from a shared or delegated mailbox.
MicrosoftOutlookMail.SendSharedMailboxMessage Create and immediately send an email from a shared or delegated mailbox.
MicrosoftOutlookMail.SetAutomaticReplies Turn the user's out-of-office automatic replies (auto-reply, vacation responder) on, off, or on a schedule, and set what they say.
MicrosoftOutlookMail.SetAutomaticReplySettings Turn the user's out-of-office automatic replies (auto-reply, vacation responder) on, off, or on a schedule, and set what they say.
MicrosoftOutlookMail.SharedMailboxCategorizeEmails Put a category on emails in a shared or delegated mailbox, or take one off, keeping
MicrosoftOutlookMail.SharedMailboxCheckCapabilities Check which provided mailboxes are reachable via shared mailbox APIs.
MicrosoftOutlookMail.SharedMailboxCreateAndSendEmail Create and immediately send an email from a shared or delegated mailbox.
MicrosoftOutlookMail.SharedMailboxCreateDraftForward Create a forward of an email in a shared or delegated mailbox, with its attachments, as an unsent draft.
MicrosoftOutlookMail.SharedMailboxCreateDraftReply Create a reply or reply-all draft in a shared or delegated mailbox without sending it.
MicrosoftOutlookMail.SharedMailboxCreateMailFolder Create a mail folder in a shared or delegated mailbox, to keep related messages together.
MicrosoftOutlookMail.SharedMailboxForwardEmail Forward an email in a shared or delegated mailbox, with its attachments, and send it immediately.
MicrosoftOutlookMail.SharedMailboxGetEmail Retrieve a single email from a shared or delegated mailbox by message ID.
MicrosoftOutlookMail.SharedMailboxListEmailAttachments List attachment metadata for an email in a shared or delegated mailbox.
MicrosoftOutlookMail.SharedMailboxListEmails List email messages in a shared or delegated mailbox.
MicrosoftOutlookMail.SharedMailboxListMailFolders List mail folders in a shared or delegated mailbox.
MicrosoftOutlookMail.SharedMailboxMarkEmails Set the read state or the follow-up flag on emails in a shared or delegated mailbox.
MicrosoftOutlookMail.SharedMailboxMoveEmails Move a selection of emails into one folder in a shared or delegated mailbox.
MicrosoftOutlookMail.SharedMailboxReplyToEmail Reply to an email in a shared or delegated mailbox.
MicrosoftOutlookMail.SharedMailboxSaveDraftEmail Save an email draft in a shared or delegated Outlook mailbox.
MicrosoftOutlookMail.SharedMailboxSearchEmails Search emails in a shared or delegated mailbox.
MicrosoftOutlookMail.SharedMailboxSearchEmailsByQuery Search a shared or delegated mailbox with an Outlook KQL query.
MicrosoftOutlookMail.SharedMailboxSendDraftEmail Send an existing draft email from a shared or delegated mailbox.
MicrosoftOutlookMail.UpdateCategoryName Rename a category (label or tag) in the user's own Outlook mailbox, keeping it on every
MicrosoftOutlookMail.UpdateMessageCategory Put a category on emails in the user's own mailbox, or take one off, keeping every
MicrosoftOutlookMail.UpdateSharedMailboxMessageCategory Put a category on emails in a shared or delegated mailbox, or take one off, keeping
MicrosoftOutlookMail.WhoAmI Get the signed-in user's profile and the mailbox this toolkit acts on.
OutlookMail.CreateDraftEmail Compose a new draft email in Outlook
OutlookMail.ListEmailsByProperty List emails in the user's mailbox across all folders filtering by a property.
OutlookMail.ListEmailsInFolder List the user's emails in the specified folder.
OutlookMail.UpdateDraftEmail Update an existing draft email in Outlook.
Why agent-optimized tools matter
Built for intent, not API schemas
Ask the agent to "find the latest thread with Acme and draft a reply." Arcade picks the right Outlook Mail actions without guessing message IDs, folder IDs, or mailbox context.
Up to 100x fewer tokens
Outlook Mail searches and lists return lightweight message metadata by default and fetch full message content only when asked, so the agent can triage an inbox without loading every message body into the model.
Complete the workflow end to end
Search a conversation, read the relevant message, create or update a draft, request approval, and send the response through one toolkit designed around the complete email task.
Make actions predictable and controlled
Arcade tools return structured results and useful errors across users and runs. Teams can apply scope restrictions, redaction, and approval policies so agents follow the same controls every time.
Securing Microsoft Outlook Mail
The more capabilities agents get, the more useful they are. However, more capabilities bring more risks of undesired effects such as data loss and exfiltration.
This is why Arcade provides you with contextual rules that dictate how and when a tool is allowed to run. Arcade’s contextual access lets you govern tool visibility and behavior at every stage of execution and control who can see a tool, what inputs are allowed, and what comes back.
Learn about Contextual Access PoliciesFor Microsoft Outlook Mail, you can implement some of these policies:
- Hide MicrosoftOutlookMail.SharedMailboxCreateAndSendEmail from agents without a shared-mailbox owner role, so they cannot send messages as a team address.
- Restrict MicrosoftOutlookMail.MoveEmails to agents operating under the mailbox-owner roles your IDP marks as authorized, so bulk moves cannot reorganize another user's mailbox.
- Deny MicrosoftOutlookMail.CreateAndSendEmail to read-only agents, so agents limited to triage cannot send new messages to customers or vendors.
- Hide MicrosoftOutlookMail.MarkEmails from agents without a mailbox-triage role, so automated workflows cannot change which messages users still need to review.
- Limit MicrosoftOutlookMail.SharedMailboxMarkEmails to agents whose roles include delegated-mailbox management, so they cannot alter the read state of messages in a team inbox.
- Hide MicrosoftOutlookMail.CreateDraftForward from agents without an approved outbound-communications role, so they cannot stage private messages and attachments for forwarding.
- Restrict MicrosoftOutlookMail.ForwardEmail to agents operating under the roles your IDP marks as authorized for external correspondence, so they cannot immediately send mailbox content to outside recipients.
- Hide MicrosoftOutlookMail.CategorizeEmails from agents without a mailbox-triage role, so automated workflows cannot relabel messages that users rely on for follow-up.
- Limit MicrosoftOutlookMail.SaveEmailCategory to administrators who manage your mailbox taxonomy, so agents cannot create misleading categories that resemble retention or compliance labels.
- Deny MicrosoftOutlookMail.SharedMailboxCategorizeEmails to agents without delegated-mailbox management roles, so they cannot change how a team inbox groups customer or compliance messages.
- Hide MicrosoftOutlookMail.DeleteEmailCategory from agents without a mailbox-taxonomy administrator role, so they cannot remove labels that support sorting, retention, or incident response.
- Restrict MicrosoftOutlookMail.RenameEmailCategory to agents operating under the mailbox-owner roles your IDP marks as authorized, so shared category names cannot be changed without administrative control.
- Hide MicrosoftOutlookMail.SetAutomaticReplies from agents without a mailbox-owner or executive-assistant role, so they cannot publish inaccurate vacation notices to every incoming sender.
- Limit MicrosoftOutlookMail.SharedMailboxCreateDraftForward to agents assigned to the relevant shared mailbox, so private team correspondence and attachments cannot be staged for forwarding by unrelated workflows.
- Deny MicrosoftOutlookMail.SharedMailboxForwardEmail to agents without an approved external-communications role, so messages from a team address cannot leave the organization without the right authority.
- Hide MicrosoftOutlookMail.DeleteMailRule from agents without a mailbox-administrator role, so they cannot remove filters that route, delete, or quarantine incoming messages.
- Limit MicrosoftOutlookMail.SaveMailRule to agents operating under the roles your IDP marks as inbox-policy administrators, so unapproved automation cannot create rules that redirect or discard mail.
- Hide MicrosoftOutlookMail.SendMessage from agents without an approved outbound-communications role, so they cannot send new messages to external recipients.
- Restrict MicrosoftOutlookMail.DeleteCategory to mailbox-taxonomy administrators, so agents cannot remove labels used for retention, incident response, or active-work tracking.
- Deny MicrosoftOutlookMail.CreateSharedMailboxMailFolder to agents without delegated-mailbox administration roles, so they cannot alter the folder structure used by a team inbox.
- Require human approval before MicrosoftOutlookMail.SendDraftEmail runs, so an agent cannot turn an unreviewed draft into an outbound message.
- Require approval from a shared-mailbox owner before MicrosoftOutlookMail.SharedMailboxSendDraftEmail runs, so an agent cannot send from a team address without review.
- Block MicrosoftOutlookMail.MoveEmails when the destination is a retention, legal-hold, or executive folder, so bulk filing cannot hide messages from required review.
- Require human approval before MicrosoftOutlookMail.MarkEmails changes messages to read, so an agent cannot make unresolved customer requests appear reviewed.
- Block MicrosoftOutlookMail.SharedMailboxMarkEmails from marking messages read when they are flagged for compliance review, so required follow-up remains visible in a shared mailbox.
- Block MicrosoftOutlookMail.CreateDraftForward when any recipient is outside your organization, so private threads and their attachments cannot be prepared for external forwarding.
- Require human approval before MicrosoftOutlookMail.ForwardEmail runs, so an agent cannot send a mailbox message and its attachments to another person without review.
- Require human approval before MicrosoftOutlookMail.CategorizeEmails changes categories on a large message selection, so bulk automation cannot hide unresolved requests behind a new label.
- Block MicrosoftOutlookMail.SaveEmailCategory when the category name imitates a retention, legal-hold, or compliance status, so agents cannot create labels that misrepresent required handling.
- Refuse MicrosoftOutlookMail.SharedMailboxCategorizeEmails when any targeted message is flagged for compliance review, so required team-inbox follow-up remains visible and consistently labeled.
- Require human approval before MicrosoftOutlookMail.DeleteEmailCategory removes a category assigned to messages, so an agent cannot erase a classification used to find active work.
- Block MicrosoftOutlookMail.RenameEmailCategory when the new name would obscure an existing retention, legal, or compliance classification, so agents cannot make required handling difficult to recognize.
- Require human approval before MicrosoftOutlookMail.SetAutomaticReplies changes an active notice or its audience, so an agent cannot misdirect customers or coworkers with an unreviewed absence message.
- Block MicrosoftOutlookMail.SharedMailboxCreateDraftForward when the forwarded message includes attachments classified as confidential or restricted, so sensitive files cannot be packaged for another recipient.
- Refuse MicrosoftOutlookMail.SharedMailboxForwardEmail when any recipient is outside your approved domain list, so a team mailbox cannot send internal correspondence to an unverified address.
- Require human approval before MicrosoftOutlookMail.DeleteMailRule runs, so an agent cannot remove a rule that protects billing, security, or compliance messages without review.
- Block MicrosoftOutlookMail.SaveMailRule when a rule forwards mail outside your approved domain list or moves it to a deletion folder, so incoming messages cannot be silently disclosed or discarded.
- Require human approval before MicrosoftOutlookMail.ReplyToMessage runs, so an agent cannot commit an unreviewed response to a customer or colleague.
- Block MicrosoftOutlookMail.SaveDraft when the draft includes external recipients or restricted attachments, so sensitive content cannot be staged for unauthorized delivery.
- Refuse MicrosoftOutlookMail.SendSharedMailboxMessage when a recipient falls outside your approved domain list, so a team address cannot send internal correspondence to an unverified destination.
- Redact the message body, sender and recipient addresses, phone numbers, and signatures from MicrosoftOutlookMail.GetEmail results before they reach the model.
- Strip message bodies, attachment names, and personal contact details from MicrosoftOutlookMail.SearchEmails results, returning only the metadata needed to find a thread.
- Deny MicrosoftOutlookMail.SharedMailboxGetEmail output when the message is marked Confidential or subject to legal hold, so protected shared-mailbox content never reaches the model.
- Strip category names that contain customer names, confidential project names, or case identifiers from MicrosoftOutlookMail.ListEmailCategories results before the model sees them.
- Redact the automatic-reply message, recipient scope, and scheduled start and end times from MicrosoftOutlookMail.GetAutomaticReplies results before they reach the model, so absence details and internal contact instructions remain private.
- Redact mailbox addresses, forwarding destinations, folder names, and rule conditions from MicrosoftOutlookMail.ListMailRules results before they reach the model, so routing logic and private correspondence paths remain hidden.
- Redact message bodies, attachment names, sender and recipient addresses, and phone numbers from MicrosoftOutlookMail.ListMessages results before they reach the model, leaving only metadata needed to triage mail.
- Strip message content, signatures, and personal contact details from MicrosoftOutlookMail.QueryMessages results, so an inbox search cannot expose private correspondence beyond the fields needed to identify matching messages.
- Deny MicrosoftOutlookMail.ListSharedMailboxMessages output for messages marked Confidential or subject to legal hold, so protected team-mailbox content never reaches the model.
How to use Microsoft Outlook Mail with your agent
Pick your MCP client below and follow the setup to connect an agent to Outlook Mail. Each end user authorizes their own mailbox.
Your questions, answered
A Microsoft Outlook Mail MCP server exposes Outlook mailbox capabilities as structured tools that an AI agent can call through the Model Context Protocol. After a user authorizes their Microsoft account, the agent can search and read mail, create drafts, manage messages, and send permitted email.
Arcade provides the MCP endpoint and adds user-level OAuth, agent-optimized actions, approval workflows, redaction, and scope controls. It also covers personal, shared, and delegated mailboxes through one runtime that works across supported clients.
Arcade agents can search and read messages, inspect attachment metadata, create and update drafts, reply to and forward email, send messages, manage folders and categories, apply Inbox rules, mark messages read or for follow-up, move mail, manage automatic replies, and work with shared or delegated mailboxes. They cannot perform actions outside the Outlook Mail capabilities exposed here, such as managing calendars or contacts.
Arcade requests the Microsoft Graph delegated permissions required by the actions you enable. Read-only workflows need mail-reading access, while sending, drafting, moving, categorizing, rule changes, and automatic-reply changes require broader mailbox permissions; shared or delegated mailbox work also depends on the user's access to those mailboxes. Grant the narrowest permissions that support your workflow.
Yes. Each user authorizes their own Microsoft account through OAuth. Outlook Mail actions run under that user's authorization, so the agent can access only the personal, shared, or delegated mailboxes and permissions available to that user.
Yes. Contextual Access policies can require human approval before consequential Outlook actions such as sending, forwarding, moving, deleting categories or rules, changing automatic replies, or writing to a shared mailbox. The call proceeds only once the policy is satisfied.
Arcade proxies Outlook API calls and does not persist your message content as part of normal tool execution. OAuth credentials are brokered and stored encrypted at rest, and the model never receives them.
Any framework or client that can connect to Arcade's MCP gateway or tool APIs works, including LangChain, OpenAI Agents, CrewAI, Claude Desktop, Claude Code, Cursor, Visual Studio Code, Microsoft Copilot Studio, and GitHub Copilot.
Arcade refreshes access while the user's Microsoft authorization remains valid. If access is revoked, rotated, or can no longer be refreshed, calls stop until the user reconnects the account.
Microsoft Graph throttling and Exchange Online mailbox sending and recipient limits still apply to actions performed through Arcade. The applicable limits vary by tenant, mailbox, action, and Microsoft service conditions; Arcade does not remove those limits.