Microsoft Outlook Mail
Service domainEMAIL
Arcade Optimized
Arcade.dev LLM tools for Outlook Mail
46tools
The Microsoft Outlook Mail toolkit provides Arcade tools for interacting with Outlook mailboxes via Microsoft Graph. It enables LLMs to read, compose, send, organize, and manage mail in both personal and shared/delegated mailboxes.
Capabilities
- Reading & searching mail: Retrieve individual messages (with pagination for long bodies), list messages by folder or conversation, search by keyword or structured filters, run raw KQL queries, list attachment metadata, and check automatic reply settings — all for personal or shared/delegated mailboxes.
- Composing & sending: Create and immediately send new messages or replies (reply/reply-all/forward), or save them as drafts for later review and editing, from personal or shared mailbox addresses.
- Draft management: Create, revise, and send draft messages (including reply, reply-all, and forward drafts) in personal and shared mailboxes; drafts are threaded to originals and support fine-grained recipient and CC control.
- Folder & rule organization: Create mail folders (personal or shared), list folder hierarchies with unread/total counts, move messages in bulk (by ID list, conversation, or search), and manage Inbox rules (create, update, delete, list).
- Categorization & flagging: List, create, recolor, rename, and delete categories (labels/tags); apply or remove categories from selections of messages; mark messages read/unread or set/clear follow-up flags — in personal or shared mailboxes.
- Mailbox settings & identity: Get the signed-in user's profile and active mailbox timezone, check shared mailbox reachability, and configure out-of-office automatic reply settings (on/off/scheduled, with custom messages).
OAuth
Authentication uses OAuth 2.0 via the Microsoft provider. See the Arcade Microsoft auth provider docs for configuration details.
Available tools(46)
46 of 46 tools
Operations
Behavior
| Tool name | Description | Secrets | |
|---|---|---|---|
Check which provided mailboxes are reachable via shared mailbox APIs.
This is a capability checker, not an Exchange permission inventory. It
verifies whether each provided mailbox can be reached through a cheap,
read-only Graph call. When checking multiple mailboxes, pass them together
in one ``owner_emails`` list so results can be deduplicated and rate-limited
consistently. Microsoft Graph does not expose exact ``Send As`` vs ``Send
on behalf`` permissions, so the response names that limitation explicitly
instead of guessing. | |||
Create a forward of an existing Outlook email, with its attachments, as an unsent draft.
Recipients are optional, but the draft needs one before it can be sent. Returns the draft;
its message_id is the draft's own id, used to revise or send it later. | |||
Create a mail folder in the user's own Outlook mailbox, to keep related messages together.
The folder is created in the signed-in user's own mailbox, and in no other:
this tool cannot reach a mailbox named by address, whether a team mailbox or
another person's.
Safe to call for a folder that may already exist: an existing folder of the
same name under the same parent is returned instead of a duplicate. A
parent_folder that names no folder in the mailbox creates nothing. | |||
Create a reply or reply-all draft for an existing Outlook email without sending it.
The draft is threaded to the original message and saved to the Drafts folder,
so it can be reviewed, edited, and sent later. For a reply-all, the original
recipients (excluding the mailbox owner) are populated automatically. Use
cc_add to copy someone in on the draft, including someone who was never on
the thread, and cc_remove to take somebody off the copied line; who the
reply is addressed to is the thread's own and reply_type decides it. This
tool never sends the email. | |||
Create a forward of an email in a shared or delegated mailbox, with its attachments, as an unsent draft.
Saved to that mailbox's Drafts folder, from the shared mailbox address. Recipients are
optional, but the draft needs one before it can be sent. | |||
Create a mail folder in a shared or delegated mailbox, to keep related messages together.
Creates the folder in the mailbox `owner_email` names, which is what a
request for a folder in a team mailbox, or in another person's, asks for.
The folder id it returns addresses that mailbox only. Safe to call for a folder that may
already exist: an existing folder of the same name under the same parent is
returned instead of a duplicate. A parent_folder that names no folder in
that mailbox creates nothing. | |||
Create a reply or reply-all draft in a shared or delegated mailbox without sending it.
The draft is threaded to the original message and saved to the mailbox's
Drafts folder, so it can be reviewed, edited, and sent later. For a
reply-all, the original recipients (excluding the mailbox owner) are
populated automatically. Use cc_add to copy someone in on the draft,
including someone who was never on the thread, and cc_remove to take
somebody off the copied line; who the reply is addressed to is the thread's
own and reply_type decides it. This tool never sends the email. | |||
Delete a category (label or tag) from the user's own Outlook mailbox and take it off every
email that carries it, in every folder.
The category is deleted only once no email carries it. Up to 50 emails per call; a bigger
job is refused before anything changes. Running it again finishes a call that stopped
short. Calendar events and bounce reports keep the name. Taking a category off emails
while keeping it is not this call. | |||
Delete one Inbox rule (filter) from the user's own Outlook mailbox by its rule_id. Cannot
be undone.
Mail the rule already filed stays where it is, and later rules move up one place. To pause
a rule, switch it off instead. Returns the deleted rule's id, name and position. | |||
Forward an existing email in Outlook, with its attachments, and send it immediately.
At least one recipient is required across to_recipients, cc_recipients and bcc_recipients.
Returns the forward's message_id, its conversation_id (the original thread's) and how many
addresses it reached. | |||
Forward an email in a shared or delegated mailbox, with its attachments, and send it immediately.
Sent from the shared mailbox address, not the signed-in user's own.
At least one of to_recipients, cc_recipients or bcc_recipients must be non-empty. | |||
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.
Reads the signed-in user's own mailbox. These are the replies Outlook sends to
incoming mail, not an out-of-office block on the calendar.
Reports the current state only. Times are UTC, with a copy in the mailbox's timezone. | |||
Retrieve a single email message by its ID.
Returns email metadata, categories, and body content. By default, the body
is returned as plain text (HTML tags stripped) and capped at 5000
characters. Set body_format to HTML to get the original markup. Use
body_offset to continue reading long emails: body_total_characters reports how long
the body is, and body_next_offset is where the next call resumes.
Use this tool to read the full content of an email whose ID is already
known, to see which categories it is tagged with, and to page through a
body too long for one response. | |||
Retrieve a single email from a shared or delegated mailbox by message ID.
Returns email metadata and body content. By default, the body is returned
as plain text (HTML tags stripped) and capped at 5000 characters. Use
body_offset to continue reading long emails:
body_total_characters reports how long the body is, and body_next_offset is
where the next call resumes. | |||
List attachment metadata for an email message.
Returns metadata only (name, size, type, etc.). Attachment content is not included.
Use this tool when the user wants to know what files are attached to an email. | |||
List the categories (labels or tags) in the user's Outlook mailbox.
Returns categories, not emails. Two names can look alike; use category_id to
tell them apart. Emails can carry a category not in this list. | |||
List mail folders in the user's mailbox.
Returns folder names, IDs, unread counts, and total item counts. A returned
folder ID is what scopes a mail listing to a user-created folder.
Omit parent_folder_id to list top-level folders, or provide a folder ID
to list its child folders. | |||
List the Inbox rules (filters) in the user's own Outlook mailbox, in the order they run.
Rules act on email as it arrives, not on mail already filed. Destination folders are
named, and other_conditions, other_exceptions and other_actions name parts only Outlook
can edit. | |||
List email messages in the user's mailbox.
Returns ordinary mail by default: Deleted Items, Junk Email, Sent Items and
Drafts are left out unless named in folders, folder_ids or conversation_id.
Rows carry a 255-character body preview unless include_body is set, which
returns each message in full up to max_body_characters. | |||
List attachment metadata for an email in a shared or delegated mailbox. | |||
List mail folders in a shared or delegated mailbox.
Returns folder names, IDs, unread counts, and total item counts. A returned
folder ID is what scopes a mail listing to a user-created folder. | |||
List email messages in a shared or delegated mailbox.
Returns ordinary mail by default: Deleted Items, Junk Email, Sent Items and
Drafts are left out unless named in folders, folder_ids or conversation_id.
Each row reports the folder it came from in parent_folder_id.
Every filter narrows the same result set, so unread mail in one folder is a
single call.
Naming exactly one folder reads that folder itself, which is also the only
read a mailbox shared one folder at a time can serve. If a call that names
no folder, or several, is refused for lack of access to the whole mailbox,
repeat it naming one folder at a time. | |||
List the user's conversations by who sent the newest message: someone else (waiting on
the user) or the user (waiting on the other side); whether mail was read plays no part.
Reads every folder except Deleted Items and Junk Email, leaving out and counting meeting
invitations and responses. Each row states facts about the newest message, never whether a
reply is owed or urgent. An unsent draft is not a reply: the row names the draft so it can be
updated rather than duplicated. The read stops after 5000 messages or 20 seconds: with
scan_complete false, older mail in the window was not checked, so say how far back it read;
with scan_complete true and no rows, nothing matched in the window, not in the whole mailbox. | |||
Set the read state or the follow-up flag on a selection of emails in the user's own mailbox.
One call for a list of ids, a whole thread, or a search, reporting one
outcome per email. Select exactly one way. An email already in the state
asked for is a success that changed nothing, and a job needing more than 50
changes is refused whole rather than part-done.
A request to star, pin, flag or follow up on mail is this call; it never
moves the mail. | |||
Set the read state or the follow-up flag on emails in a shared or delegated mailbox.
One call for a list of ids, a whole thread, or a search, reporting one
outcome per email. Select exactly one way. An email already in the state
asked for is a success that changed nothing, and a job needing more than 50
changes is refused whole rather than part-done.
A request to star, pin, flag or follow up on mail is this call; it never
moves the mail.
Needs Full Access to the mailbox; a folder-level share is refused. |
Page 1 of 2(25 of 46)
Get Building
Last updated on