# Outlook Email MCP server
The Outlook Email MCP server enables LLMs to read, organize, draft, and send email through Microsoft Outlook (Exchange Online) through natural conversation. It provides tools to find and review conversations, summarize email content, draft and send messages, organize your inbox with folders and categories, and manage attachments without requiring direct interaction with the Outlook Email interface.
# Uses
Use the Outlook Email MCP server to perform the following actions:
- Search for conversations with specific people, customers, or groups
- Find ongoing or historical discussions about topics or projects
- Read and review complete email threads and individual messages
- Compose, draft, and send new emails or replies
- Manage attachments including viewing and retrieving files
- Organize inbox with folders, categories, and flags
- Mark messages as read or unread for inbox management
- Move messages to specific folders for organization
- List and manage email drafts
- Add or remove attachments from drafts
# Example prompts
Find all email conversations with Acme Corp from the last month.Show me the conversation about the Q4 product launch.Draft a follow-up email to Mei about the meeting yesterday.What attachments were included in the contract email?Send the draft email I created earlier.Move all emails from this project to the Archive folder.Mark all unread messages from this week as read.Star the email from Josh about the budget approval.
# Outlook Email MCP server tools
The Outlook Email MCP server provides the following tools:
| Tool | Description |
|---|---|
| search_conversations | Searches for email conversations matching criteria you specify and returns conversation identifiers with summary metadata. |
| search_messages | Searches for individual email messages matching criteria you specify and returns message identifiers with summary metadata. |
| list_folders | Retrieves the list of mail folders available in the authenticated user's mailbox. |
| get_conversation | Retrieves all messages in a conversation identified by conversationId, ordered chronologically. |
| get_message | Retrieves the complete contents of a single email message. |
| list_attachments | Retrieves the list of attachments associated with a specific email message. |
| get_attachment | Retrieves the raw payload of a specific file attachment from an email message. |
| create_draft | Creates a new email draft in the user's Drafts folder. |
| list_drafts | Retrieves a list of email drafts with summary metadata. |
| get_draft | Retrieves the complete contents of an existing email draft. |
| update_draft | Updates the body, subject, or recipients of an existing email draft. |
| send_draft | Sends an existing email draft on behalf of the authenticated user. |
| add_attachments | Adds one or more file or OneDrive reference attachments to an existing email draft. |
| remove_attachments | Removes one or more attachments from an existing email draft. |
| mark_message_read_state | Marks one or more email messages as read or unread. |
| move_to_folder | Moves one or more email messages to a mail folder you specify. |
| update_categories | Adds or removes categories from email messages. |
| update_star_state | Sets or clears the star (follow-up flag) on one or more email messages. |
# Install the Outlook Email MCP server
Complete the following steps to install a prebuilt MCP server to your project:
Sign in to your Workato account.
Go to AI Hub > MCP servers.
Click + Create MCP server.
Go to the Start with a template section and select the prebuilt MCP server you plan to use.
Click Use this template.
Provide a name for your MCP server in the MCP server name field.
Go to the Connections section and connect to your app account.
Select the connection type you plan to use for the MCP server template.
- User's connection: MCP server tools perform actions based on the identity and permissions of the user who connects to the application. Users authenticate with their own credentials to execute the skill.
- Your connection: This option uses the connection established by the recipe builder and follows the same principles as normal app connections.
Select your connection type
VERIFIED USER ACCESS AUTHENTICATION REQUIREMENTS
Only app connections that use OAuth 2.0 authorization code grant are available for user's connection. Refer to Verified user access for more information.
Complete the app-specific connection setup steps in the following section.
# Outlook Email connection setup
Workato supports the following connection types for Outlook:
- Authorization code grant authentication (OAuth 2.0)
- Client credentials-based authentication (OAuth 2.0): Only available for tenant-specific connections
MICROSOFT MFA ENFORCEMENT
Microsoft is rolling out mandatory multi-factor authentication (MFA) (opens new window) gradually to different applications and accounts in phases. This enforcement will continue throughout 2025 and beyond.
We strongly recommend enabling MFA now for all Microsoft accounts used with Workato to avoid service disruptions from short-notice enforcement changes.
Complete the following steps to maintain uninterrupted service:
Enable MFA for your Microsoft organization following Microsoft's MFA setup guide (opens new window).
Reconnect your Microsoft connection in Workato.
Complete the OAuth flow with MFA when prompted.
Test your recipes to ensure they work with the updated connection.
# Authorization code grant authentication (OAuth 2.0)
This authentication method requires the following value for tenant-specific account types:
- Tenant ID/Domain
# Register the Workato App in Azure Portal
Complete the following steps to register the Workato app and assign it permissions for authorization code grant connections:
View Register the Workato app in the Azure Portal steps
Register the Workato app in the Azure Portal
Sign in to the Azure portal (opens new window).
Select App registrations > + New registration, under Azure services.

Enter a unique name for the application and select a Supported account type.
Select Web from the Select a platform drop-down menu.
Enter https://www.workato.com/oauth/callback as the Redirect URI and select Register.
Register an app
Assign permissions to your app
In the navigation sidebar, select Manage > API permissions.
Click + Add a permission and select Microsoft Graph APIs.
Add the required permissions as outlined in the Permissions required to connect section. Depending on your connection type, you must assign Application or Delegated permissions.
Add permissions
Click Add permissions.
Admin consent is required for specific permissions. Refer to the Granting admin consent section to learn more.
Obtain the Directory (tenant ID) from the Azure Portal
This step is required if you plan to use a tenant-specific account. You can skip this step if you plan to use a common, consumer, or organization account type for your connection.
Go to the Overview > Essentials section.
App details
Copy the Directory (tenant) ID for use in Workato.
# Complete setup in Workato
View Complete setup in Workato steps
Complete the following steps to set up the connection in Workato:
Click Create > Connection.
Search for and select Outlook as your connection in the New connection page.
Provide a name for your connection in the Connection name field.
Use the Location drop-down menu to select the project where you plan to store the connection.
Use the Connection account type drop-down menu to select the type of account you plan to use. The available choices are Common, Tenant-specific, Consumer, and Organization.
Select Authorization code grant as the Authentication type.
Optional. By default, the connector requests a set of scopes necessary for all triggers and actions to function properly. In the Advanced settings section, you can manually select the permissions instead. The minimum permissions required to establish a connection are User.Read and offline_access. Workato always requests these permissions regardless of the permissions you select. Refer to the permissions section for more information.
Optional. Use the Custom OAuth profile drop-down menu to select a custom OAuth profile for your connection. Refer to the Outlook custom OAuth documentation for more information.
Click Sign in with Microsoft.
# Client credentials-based authentication (OAuth 2.0)
This method requires the following fields:
- Tenant ID/Domain
- User ID
- Client ID
- Client Secret
COMPATIBLE AUTHENTICATION
Client credentials-based authentication is only compatible with tenant-specific connections.
# Register the Workato App in the Azure Portal
Complete the following steps to register the Workato app and assign it permissions for client credentials-based connections:
View Register the Workato App in the Azure Portal steps
Register the Workato App in the Azure Portal
Sign in to the Azure portal (opens new window).
Select App registrations > + New registration, under Azure services.

Enter a unique name for the application and select a Supported account type.
Select Web from the Select a platform drop-down menu.
Enter https://www.workato.com/oauth/callback as the Redirect URI and select Register.
Register an app
Assign permissions to your app
In the navigation sidebar, select Manage > API permissions.
Click + Add a permission and select Microsoft Graph APIs.
Add the required permissions as outlined in the Permissions required to connect section. Depending on your connection type, you must assign Application or Delegated permissions.
Add permissions
Click Add permissions.
Admin consent is required for specific permissions. Refer to the Granting admin consent section to learn more.
Generate a client secret
Go to Manage > Certificates & Secrets > Client secrets.
Click + New client secret.
Provide a Description for the client secret and specify an expiry date.
Click Add.
Copy and save the client secret Value—not the Secret ID—for use in Workato.
Copy and save the client secret value
Obtain the Application (client) ID, Object ID, and Directory (tenant) ID from the Azure Portal
Go to the Overview > Essentials section.
App details
Copy the Application (client) ID, Object ID, and Directory (tenant) ID for use in Workato.
Obtain the User ID from the Azure Portal
Go to Home > Users to obtain the User ID.
Select users
Search for and select the default user you plan to use to perform operations. This user does not establish the connection but is required for performing certain operations that an app can't perform. It is also required in picklists to pull user data. For example the folder picklist populates folders belonging to the default user.
Copy the User principal name. Use this value as the User ID in Workato.
Return to Workato to finish setting up your connection.
# Complete setup in Workato
View Complete setup in Workato steps
Complete the following steps to set up the connection in Workato:
Click Create > Connection.
Search for and select Outlook as your connection in the New connection page.
Provide a name for your connection in the Connection name field.
Use the Location drop-down menu to select the project where you plan to store the connection.
Select Tenant specific as the Connection account type. This option is specifically designed for users who belong to a particular organization (tenant).
Provide your Tenant ID/Domain. This is the Directory (tenant) ID for your app. Refer to the Register an app in Azure section to learn how to obtain this value.
Select Client credentials as the Authentication type.
Supply the User ID, Client ID, and Client secret for your app. Refer to the Register an app in Azure section to learn how to obtain these values.
Click Sign in with Microsoft.
# How to use Outlook Email MCP server tools
Refer to the following sections for detailed information on available tools:
# search_conversations tool
The search_conversations tool searches for email conversations matching criteria you specify and returns conversation identifiers with summary metadata. Your LLM uses this tool to find conversations with specific people, locate ongoing or historical discussions about topics, identify active deal or project-related email threads, or narrow the search space before retrieving full conversation content.
Try asking:
Find all email conversations with Acme Corp from the last month.Search for conversations about the API migration project.Show me email threads with Jade Anderson that mention 'budget approval'.Find all ongoing discussions about the product launch.
# search_messages tool
The search_messages tool searches for individual email messages matching criteria you specify and returns message identifiers with summary metadata. Your LLM uses this tool to find a specific email you sent or received, locate a message with a known subject or phrase, or identify a particular inbound or outbound message.
Try asking:
Find the email I sent to Josh yesterday about the contract.Search for messages with 'invoice' in the subject line.Locate the message from [email protected] about terms of service.Find the email I received from Mei with the meeting notes.
# list_folders tool
The list_folders tool retrieves the list of mail folders available in your mailbox. Your LLM uses this tool when you refer to folders by name and available folders are unknown, when validating folder existence before moving messages, or when listing available folders for organization.
Try asking:
What folders do I have in my Outlook mailbox?Show me all my email folders.List the folders I use for project organization.What archive folders are available?
# get_conversation tool
The get_conversation tool retrieves all messages in a conversation identified by conversationId, ordered chronologically. Your LLM uses this tool when complete conversation context is required, when you ask to review or summarize an email thread, or when preparing replies, follow-ups, or handoffs.
Try asking:
Show me the full conversation thread with Acme Corp.Read the entire email thread about the Q4 planning.Get the complete discussion from the contract negotiation emails.Review all messages in the thread with Marco about the budget.
# get_message tool
The get_message tool retrieves the complete contents of a single email message. Your LLM uses this tool when a message has been identified through search and complete contents are required, or when message-level precision is needed.
Try asking:
Read the email from Jade sent on January 15th.Show me the complete message about the contract terms.Get the full contents of the meeting invitation from Mei.Read the message with the project timeline attachment.
# list_attachments tool
The list_attachments tool retrieves the list of attachments associated with a specific email message, including OneDrive reference attachments. Your LLM uses this tool when you ask what files were attached to an email, when referencing or including existing attachments in a reply, or when preparing to retrieve an attachment payload.
Try asking:
What files were attached to the email from [email protected]?List the attachments in Marco's message about the proposal.Show me what documents were included in the contract email.What attachments did Josh send in the project update?
# get_attachment tool
The get_attachment tool retrieves the raw payload of a specific file attachment from an email message. Your LLM uses this tool to download, forward, or re-attach a file.
Try asking:
Download the PDF attachment from the contract email.Get the spreadsheet that Jade attached to her message.Retrieve the presentation file from Alex's email.Download the proposal document from the legal team's message.
# create_draft tool
The create_draft tool creates a new email draft in your Drafts folder. Your LLM uses this tool to create a draft email when you ask to write an email that may be sent now or later. Try asking:
Draft an email to Mei about tomorrow's meeting.Create a reply to Josh's message thanking them for the update.Write a follow-up email to Acme Corp about the proposal.Start a new email to the team about the project timeline.
# list_drafts tool
The list_drafts tool retrieves a list of email drafts in your Drafts folder with summary metadata. Your LLM uses this tool when you refer to an existing draft but don't provide a draft ID, or when you ask to view, list, or select from your drafts.
Try asking:
Show me my email drafts.List all draft emails I've been working on.What drafts do I have saved?Display my unsent emails.
# get_draft tool
The get_draft tool retrieves the complete contents of an existing email draft. Your LLM uses this tool to review, see, or confirm the current contents of a draft.
Try asking:
Show me the draft email I created earlier.Review my draft reply to Alex.What does my current draft say?Read the draft I started for the team update.
# update_draft tool
The update_draft tool updates the body, subject, or recipients of an existing email draft. Your LLM uses this tool to change, revise, or edit an existing draft.
Try asking:
Update the draft to include the budget numbers.Revise the email draft to mention the deadline change.Edit the draft to add Marco as a CC recipient.Change the subject line of my draft email.
# send_draft tool
The send_draft tool sends an existing email draft on your behalf. Your LLM uses this tool to send the email when a draft has been created or explicitly referenced earlier in the current conversation.
Try asking:
Send the draft email I just created.Send my reply to Sarah now.Go ahead and send that follow-up email.Send the draft about the project update.
# add_attachments tool
The add_attachments tool adds one or more file or OneDrive reference attachments to an existing email draft. Your LLM uses this tool to attach files to an existing draft, or when attachments must be added before sending.
Try asking:
Add the roadmap.pdf file to my email draft.Attach the proposal presentation to this draft.Include the sales team spreadsheet as an attachment.Add the Q4 report to the draft email.
# remove_attachments tool
The remove_attachments tool removes one or more attachments from an existing email draft. Your LLM uses this tool to remove, delete, or replace attachments on an existing draft, or when an attachment must be removed before sending.
Try asking:
Remove the roadmap.pdf from my email draft.Delete the proposal presentation attachment from this draft.Don't include the sales team spreadsheet.Remove all attachments from the draft email.
# mark_message_read_state tool
The mark_message_read_state tool marks one or more email messages as read or unread. Your LLM uses this tool to mark messages as read or unread, or when to perform inbox triage actions.
Try asking:
Mark all messages from today as read.Set the unread email from Alex to read.Mark the contract email as unread so I don't forget to review it.Mark all emails in this thread as read.
# move_to_folder tool
The move_to_folder tool moves one or more email messages to a mail folder you specify. Your LLM uses this tool to move, file, or organize messages into a folder you specify.
Try asking:
Move all emails from this project to the Archive folder.File the contract emails in the Legal folder.Move these messages to my Completed Projects folder.Organize the Q4 planning emails into the Planning folder.
# update_categories tool
The update_categories tool adds or removes categories from email messages. Your LLM uses this tool to tag, categorize, reclassify, or remove categories from messages.
Try asking:
Add the 'Important' category to this email.Tag these messages with 'Project Alpha'.Remove the 'Follow-up' category from this thread.Categorize the contract emails as 'Legal Review'.
# update_star_state tool
The update_star_state tool sets or clears the star (follow-up flag) on one or more email messages. Your LLM uses this tool to star, flag, mark for follow-up, unstar, or unflag messages.
Try asking:
Star the email from Mei about the budget approval.Flag the message with the contract attachment for follow-up.Unstar the email from Sarah now that I've reviewed it.Remove the flag from the completed action items.
# Getting started
View and manage your MCP server tools in the Overview page Tools section. Tool management provides the following capabilities:
TOOLS MUST BE STARTED
Your LLM can only access active tools in your MCP server connector.
Last updated: 3/18/2026, 3:33:25 PM
Common connections
Tenant specific connections
Consumer connections
Organization connections