Microsoft Outlook Email
Microsoft Outlook lets you bring all your email accounts and calendars in one convenient spot.
Start for freeCategory
Works with
AI Compatible
Tools
Add Label to Email
Adds a label/category to an email in Microsoft Outlook. See the documentation
Approve Workflow
Suspend the workflow until approved by email. See the documentation
Create Contact
Add a contact to the root Contacts folder, See the documentation
Create Draft Email
Create a draft email, See the documentation
Create Draft Reply
Create a draft reply to an email. See the documentation
Download Attachment
Downloads an attachment to the /tmp directory. See the documentation
Find Contacts
Finds contacts with the given search string. See the documentation
Find Email
Search for an email in Microsoft Outlook. See the documentation
Find Shared Folder Email
Search for an email in a shared folder in Microsoft Outlook. See the documentation Return only the translated text without explanations.
Get Current User
Returns the authenticated Microsoft user's ID, display name, email, and principal name via Microsoft Graph. Call this first when the user says 'my emails', 'my inbox', or needs identity context. Use the returned id to scope queries in **Find Email** or identify the sender in email results. See the documentation.
Get Folder
Retrieve a single mail folder by its ID. Returns the folder's id, displayName, parentFolderId, childFolderCount, totalItemCount, and unreadItemCount. If you only have a display name and need the ID, use **List Folders** first. See the documentation
Get Message
Fetch a single email message by its Microsoft Graph message ID, including full body and optional attachments. Use **Find Email** first to search for messages and obtain a message id; then call this tool to retrieve the full content. Set includeAttachments: true to expand attachment metadata — the id field of each attachment is required by **Download Attachment**. Example: after find-email(search="Eval-Festivus") returns a message with id: "AAMk...", call get-message(messageId="AAMk...", includeAttachments=true) to get the body text and attachment list. See the documentation
Get Shared Folder
Retrieve a single folder from a shared mailbox by its ID. Returns the folder's id, displayName, parentFolderId, childFolderCount, totalItemCount, and unreadItemCount. If you only have a display name and need the ID, use **List Shared Folders** first. See the documentation
List Contact Options
Retrieves available options for the Contact field.
List Contacts
Get a contact collection from the default contacts folder, See the documentation Return only the translated text without explanations.
List Folder IDs to Monitor Options
Retrieves available options for the Folder IDs to Monitor field.
List Folders
Retrieves a list of all folders in Microsoft Outlook. See the documentation
List Important Mail
Get the most important mail from the user's Inbox (messages with high importance or flagged status). Returns { count, data } where count is the true total matching message count reported by Microsoft Graph (@odata.count for the applied filter) and data is the array of retrieved messages (up to maxResults). See the documentation
List Labels
Get all the labels/categories that have been defined for a user. See the documentation
List Shared Folders
Retrieves mail folders from a shared or delegated mailbox (routes to /users/{userId}/mailFolders). Returns { count, folders } where folders contains each folder's id, displayName, parentFolderId, childFolderCount, totalItemCount, and unreadItemCount. The count field reflects the true API total when Microsoft Graph returns @odata.count; when Include Subfolders is true or Graph does not return @odata.count for the requested filter, count equals the number of folders actually retrieved. **Use this action to resolve a shared mailbox folder display name to its ID** — set Display Name to filter by exact name. Use **Get Shared Folder** instead when you already have the folder ID. See the documentation
Modify Email
Apply one or more state mutations to an email message: mark read/unread, add/remove categories, move to a folder, or change the flag status. All params except messageId are optional — only the ones you provide are applied. Use **Find Email** to obtain a message id before modifying. Recipes: Mark read: isRead: true | Mark unread: isRead: false Add category: addCategories: ["Follow Up"] | Remove category: removeCategories: ["Follow Up"] Move to archive: destinationFolderId: "archive" | Move to inbox: destinationFolderId: "inbox" Flag: flagStatus: "flagged" | Unflag: flagStatus: "notFlagged" | Mark complete: flagStatus: "complete" Example: modify-email(messageId="AAMk...", isRead=true) → marks the message as read. Example: modify-email(messageId="AAMk...", addCategories=["Eval-Seinfeld"], destinationFolderId="archive") → adds a category AND moves to archive in a single call. See the documentation
Move Email to Folder
Moves an email to the specified folder in Microsoft Outlook. See the documentation
Remove Label from Email
Removes a label/category from an email in Microsoft Outlook. See the documentation
Reply to Email
Reply to an email in Microsoft Outlook. See the documentation Return only the translated text without explanations.
Save Contact
Create or update an Outlook contact (upsert). Omit contactId to create a new contact; provide contactId to update an existing one. Use **Find Contacts** first to look up a contact's id before updating. Example (create): save-contact(givenName="Cosmo", surname="Kramer", emailAddresses=["[email protected]"]) → creates contact, returns new contact object with id. Example (update): save-contact(contactId="AQMk...", businessPhones=["+1-555-0100"]) → patches the existing contact. See the create documentation See the update documentation
Send Email
Send an email to one or multiple recipients, See the docs Return only the translated text without explanations.
Update Contact
Update an existing contact, See the docs