Context Sources
Outlook Mail
Connect Outlook Mail to search Microsoft 365 correspondence and prepare replies.
What it can do
- List folders, and search and read messages.
- List attachments, and save one to the chat's files to open, search, or work with.
- Create and update drafts, including draft replies.
- Mark messages read or unread, flag, categorize, move, or delete them.
Setup and security
- You sign in with your own Microsoft account. Nomic can reach only that mailbox.
- Tools that change data ask for approval before they run. The Approval column under Supported tools shows each tool's setting.
- Nomic cannot send, forward, or reply to messages directly. Drafts stay in Outlook until you send them.
- Your Microsoft 365 administrator may need to approve Nomic before you can finish signing in. See Microsoft Graph permissions.
- Outlook Mail and Outlook Calendar are separate sign-ins. Both are separate from the Outlook integration under Settings → Integrations.
To connect, see Add an MCP server.
Example requests
- "Find emails from the owner's rep about the lobby finishes and summarize the decisions."
- "Draft a reply to the contractor's latest schedule email using the dates we just confirmed."
- "Which messages in my inbox this week mention the Riverside permit?"
- "Move all messages from the tile supplier into the Riverside folder."
Supported tools
| Tool | Action | Approval |
|---|---|---|
get_me | Read the signed-in Microsoft profile. | Not required |
list_mail_folders | List mail folders. | Not required |
list_messages | List messages in a folder. | Not required |
search_messages | Search mail. | Not required |
get_message | Read a message. | Not required |
list_attachments | List attachment names, types, and sizes. | Not required |
get_attachment | Save an attachment to the chat's files. | Not required |
create_draft | Create an email draft. | Required |
update_draft | Change an existing draft. | Required |
create_reply_draft | Create a draft reply to a message. | Required |
update_message | Change read status, flag, importance, or categories. | Required |
move_message | Move a message to another folder. | Required |
delete_message | Delete a message. | Required |
Microsoft Graph permissions
This section is for Microsoft 365 administrators reviewing Nomic in Microsoft Entra.
Outlook Mail requests only delegated permissions. Nomic acts as the signed-in user and reaches only that user's mailbox. It requests no application permissions, so it cannot read other mailboxes or run without a signed-in user.
| Permission | Type | Admin consent | Used for |
|---|---|---|---|
offline_access | Delegated | Not required | Keep the user signed in between sessions with a refresh token. |
User.Read | Delegated | Not required | Read the signed-in user's profile. |
Mail.ReadWrite | Delegated | Not required | Read mail and attachments, manage drafts, and organize mail. |
Microsoft does not require admin consent for these permissions, but your tenant's user consent settings may still require an administrator to approve Nomic.
Nomic does not request Mail.Send, so it cannot send, reply to, or forward mail.
Outlook Mail, Outlook Calendar, and Microsoft Teams sign in through the same Nomic app in Microsoft Entra. Each requests only its own permissions when a user signs in.
Graph API calls
Every call goes to https://graph.microsoft.com/v1.0 and stays under /me. get_me uses User.Read; every other tool uses Mail.ReadWrite.
| Tool | Graph API call |
|---|---|
get_me | GET /me |
list_mail_folders | GET /me/mailFolders |
list_messages, search_messages | GET /me/messagesGET /me/mailFolders/{id}/messages |
get_message | GET /me/messages/{id} |
list_attachments | GET /me/messages/{id}/attachments |
get_attachment | GET /me/messages/{id}/attachments/{id}GET /me/messages/{id}/attachments/{id}/$value |
create_draft | POST /me/messages |
create_reply_draft | POST /me/messages/{id}/createReplyPOST /me/messages/{id}/createReplyAll |
update_draft, update_message | PATCH /me/messages/{id} |
move_message | POST /me/messages/{id}/move |
delete_message | DELETE /me/messages/{id} |