Scheduling
Outlook Mail
API integration
Ship Scheduling features without building the integration. Full Outlook Mail API access via Proxy, normalized data through Unified APIs, and 20+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with Outlook Mail
Common scenarios for SaaS companies building Outlook Mail integrations for their customers.
Sync email activity into your CRM or revenue platform
SaaS companies building CRM or sales intelligence tools can pull Outlook messages, threads, and metadata into their platform to give reps full visibility into prospect communications — without asking users to BCC or manually log emails.
Automate document ingestion from inbound emails
Expense management, AP automation, and contract lifecycle tools can monitor Outlook folders for incoming attachments like invoices, receipts, or signed documents, then extract and process them automatically using the attachments download endpoint.
Power AI-assisted email drafting and reply workflows
AI productivity and copilot products can read unread messages, generate contextual draft replies via LLMs, and save them directly into the user's Outlook drafts folder — letting the end user review and send with one click.
Convert inbound emails into support tickets or tasks
Helpdesk and project management tools can monitor shared Outlook mail folders, convert new messages into tickets or work items, and send replies back through the user's authenticated Outlook account to maintain thread continuity.
Build folder-based routing and workflow triggers
SaaS platforms can programmatically create custom Outlook folders and child folders, then poll those folders for new messages — enabling end users to trigger workflows simply by moving an email into a designated folder.
What You Can Build
Ship these features with Truto + Outlook Mail
Concrete product features your team can ship faster by leveraging Truto’s Outlook Mail integration instead of building from scratch.
Two-way email sync with thread logging
Mirror Outlook inbox and sent folder activity into your platform and send emails on behalf of the user using their authenticated Outlook account, keeping both systems in sync.
Automated attachment extraction pipeline
List and download attachments from specific messages or folders to feed into OCR, document processing, or file storage workflows without manual user intervention.
Smart draft composer with send-on-review
Create pre-written email drafts in the user's Outlook account using AI or templates, and let the user review and send them natively from Outlook or trigger send via the API.
Custom folder-based inbox routing
Programmatically create mail folders and child folders in a user's Outlook account, then poll those folders for new messages to trigger downstream automations like ticket creation or expense processing.
Org chart and identity resolution from the user directory
Fetch user profiles including job titles, phone numbers, and organizational data via the Unified User Directory API to map corporate identities and permissions inside your SaaS product.
Shared mailbox monitoring for team workflows
List messages across Outlook users and folders to power shared inbox experiences for support, sales, or operations teams — routing emails to the right queue inside your application.
SuperAI
Outlook Mail AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_outlook_me
Retrieves basic profile information about the authenticated user in Outlook mail. The response includes essential details such as the user's unique identifier (sub), full name (name), first name (given_name), last name (family_name), profile picture URL (picture), and email address (email).
list_all_outlook_messages
Use this endpoint to retrieve messages in the user's Outlook mailbox. The response contains key information such as the unique message id, creation and sent timestamps (createdDateTime, sentDateTime), subject line, sender and recipient details, message body in either plain text or HTML (body), is read (isRead), or is a draft (isDraft).
get_single_outlook_message_by_id
Use this endpoint to retrieve a message from your Outlook mailbox. It always requires an ID to fetch.
create_a_outlook_message
Use this endpoint to create a draft message in your Outlook mailbox.
update_a_outlook_message_by_id
Use this endpoint to update a draft message in your Outlook mailbox. It always requires an ID to update.
delete_a_outlook_message_by_id
Use this endpoint to delete a message from your Outlook mailbox. It always requires an ID to delete.
outlook_messages_send_draft
Use this endpoint to send an existing draft message from your Outlook Mail. Use the message_id query parameter to specify the existing message.
outlook_messages_send_mail
Use this endpoint to send a new email message from your Outlook Mail.
list_all_outlook_attachments
Retrieves attachments associated with a specific message in your Outlook Mail. You must specify the message_id to identify the message whose attachments you want to retrieve. The response includes details such as the attachment's unique identifier (id), file name (name), content type (contentType), size in bytes (size), last modified timestamp (lastModifiedDateTime), inline attachment indicator (isInline), content ID (contentId), content location (contentLocation), and the Base64-encoded content (contentBytes).
outlook_attachments_download
Use this endpoint to retrieve the raw contents of a specific file or item attachment directly from a message. You must provide both the message_id and the attachment_id to retrieve it.
get_single_outlook_attachment_by_id
Retrieves a single attachment associated with a specific message in your Outlook Mail. It always requires an ID to fetch and the message_id to identify the message whose attachment you want to retrieve.
list_all_outlook_mail_folders
A mail folder in a user's mailbox, such as Inbox and Drafts. Mail folders can contain messages, other Outlook items, and child mail folders.
get_single_outlook_mail_folder_by_id
Retrieves a single mail folder in your Outlook Mail. It always requires an ID to fetch.
create_a_outlook_mail_folder
Use this endpoint to create a new mail folder in the root folder of the user's mailbox.
update_a_outlook_mail_folder_by_id
Use this endpoint to update a mail folder in the root folder of the user's mailbox. It always requires an ID to update.
delete_a_outlook_mail_folder_by_id
Use this endpoint to delete a mail folder in the root folder of the user's mailbox. It always requires an ID to delete.
list_all_outlook_child_folders
Retrieves the child mail folders within a specific folder in your Outlook Mail. To indicate the folder from which you want to retrieve the child folders, use the mail_folder_id query parameter. The response consists of details for each folder, such as its unique identifier (id), name (displayName), parent folder identifier (parentFolderId), the number of child folders it contains (childFolderCount), the count of unread emails (unreadItemCount), the total number of emails (totalItemCount), and whether the folder is hidden (isHidden).
create_a_outlook_child_folder
Use this endpoint to create a new child folder within a specific mail folder in your Outlook mailbox. You must specify the mail folder using the mail_folder_id body parameter.
get_single_outlook_child_folder_by_id
Retrieves a single child folder within a specific folder in your Outlook Mail. It always requires an ID and mail_folder_id to specify the parent folder containing the child folder.
delete_a_outlook_child_folder_by_id
Use this endpoint to delete a child folder within a specific mail folder in your Outlook mailbox. You must specify the mail folder using the mail_folder_id body parameter and the child folder you want to delete using the ID parameter.
update_a_outlook_child_folder_by_id
Use this endpoint to update an existing child folder within a specific mail folder in your Outlook mailbox. You must specify the mail folder using the mail_folder_id body parameter and the child folder you want to update using the ID parameter.
list_all_outlook_folder_messages
Use this endpoint to retrieve messages from a specific mail folder in the user's Outlook mailbox. Specify the folder by providing the mail_folder_id parameter. The response contains key information such as the unique message id, creation and sent timestamps (createdDateTime, sentDateTime), subject line, sender and recipient details, message body in either plain text or HTML (body), is read (isRead), or is a draft (isDraft).
list_all_outlook_users
Retrieves users from your Outlook Mail account. The response includes important user details such as the unique identifier (id), the sign-in username (userPrincipalName), full name (displayName), first name (givenName), last name (surname), primary email address (mail), business phone numbers (businessPhones), job title (jobTitle), mobile phone number (mobilePhone), office location (officeLocation), and the user's preferred language (preferredLanguage).
get_single_outlook_user_by_id
Retrieves a single user from your Outlook Mail account. It always requires an ID to fetch.
Why Truto
Why use Truto’s MCP server for Outlook Mail
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for Outlook Mail
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified Emails API
Attachments
Attachments are the files associated with an email.
Emails
An email is a digital message sent and received electronically over the Internet. It typically contains a subject, sender, recipients, body content, and sometimes attachments.
Folders
The folder is a container used to organize and manage email messages.
Users
Users represent the people using the underlying emails system. They are usually called agents, team members, admins, etc.
Unified Search API
Search
Search endpoint for all the apps.
How It Works
From zero to integrated
Go live with Outlook Mail in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Outlook Mail account
Use Truto’s frontend SDK to connect your customer’s Outlook Mail account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Outlook Mail
Truto’s Proxy API is a 1-to-1 mapping of the Outlook Mail API. You call us, we call Outlook Mail, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Outlook Mail’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Outlook Mail on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication methods does Truto support for Outlook Mail?
Truto handles OAuth 2.0 authentication with Microsoft, which is the standard auth flow for Outlook Mail via the Microsoft Graph API. Your end users authorize access through a consent screen, and Truto manages token refresh and storage automatically.
Can I send emails from a user's Outlook account, or only read them?
Both. You can send emails directly using the outlook_messages_send_mail endpoint, or create a draft with create_a_outlook_message and then send it with outlook_messages_send_draft. Emails are sent from the authenticated user's actual address.
How does folder-level message polling work?
You can list all mail folders and child folders for a user, then use list_all_outlook_folder_messages to fetch messages from a specific folder. You can also create custom folders and child folders programmatically to set up targeted routing workflows.
Can I download email attachments directly through Truto?
Yes. Use list_all_outlook_attachments to enumerate attachments on a message, then use outlook_attachments_download to retrieve the file content. You can also fetch metadata for a specific attachment using get_single_outlook_attachment_by_id.
What Unified APIs map to Outlook Mail?
Outlook Mail is available through the Unified Emails API (covering Attachments, Emails, Folders, and Users), the Unified User Directory API (covering Me and Users), and the Unified Search API. This means you can swap or add other email providers without changing your integration code.
Does Truto handle pagination and rate limiting for the Microsoft Graph API?
Yes. Truto abstracts away Microsoft Graph API pagination and handles rate limit retries, so you don't need to implement backoff logic or cursor management in your application code.
Outlook Mail
Get Outlook Mail integrated into your app
Our team understands what it takes to make a Outlook Mail integration successful. A short, crisp 30 minute call with folks who understand the problem.
Talk to us