ClawLink

How to connect Outlook to OpenClaw

Connect Outlook to OpenClaw with ClawLink in one click — 270 tools your AI agent can call from chat via hosted OAuth. No API keys, no manual setup.

Get started for free
OpenClaw
OpenClaw
ClawLink
ClawLink
Outlook
Outlook
OutlookOAUTH2MCP

Read mail, manage calendar, and browse contacts. Once connected, OpenClaw can read and act on Outlook from chat — pairing, token refresh, and tool wiring handled for you.

270 tools

The usual route to Outlook access for OpenClaw is an MCP server you configure and keep running, plus your own OAuth app or API keys. ClawLink gives OpenClaw a more practical Outlook setup: install one ClawHub skill, connect Outlook in the browser, and OpenClaw can call real Outlook actions from any chat surface with no auth, token refresh, or tool wiring to build yourself.

Copy this prompt into OpenClaw, or open the Outlook skill on ClawHub.

Prompt for OpenClaw
Before installing anything, inspect the ClawHub skill metadata and setup requirements.
If the skill asks you to install a third-party package or CLI, verify its source, maintainer, and package contents before running the install command.
Install the skill "Outlook" (hith3sh/outlook-inbox) from ClawHub only after those checks pass.
Skill page: https://clawhub.ai/hith3sh/outlook-inbox
Keep the work scoped to this skill only.
After install, help me finish setup from verified skill metadata.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Setup

It takes three steps to connect OpenClaw to Outlook.

  1. 1

    Install the plugin

    Paste the setup prompt into OpenClaw, or install from the terminal and ask OpenClaw to pair:

    openclaw plugins install clawhub:clawlink-plugin
  2. 2

    Connect Outlook

    One-click OAuth in the dashboard.

  3. 3

    Use it from chat

    Ask OpenClaw: "What can you do with Outlook?"

The install, start to finish. Run these once, then connect Outlook in the dashboard:

openclaw plugins install clawhub:clawlink-plugin
openclaw skills install @hith3sh/outlook-inbox

Start a fresh chat afterwards so OpenClaw reloads its tool catalog, then ask it to run clawlink_list_integrations to confirm Outlook is connected.

Using a different agent?

The OpenClaw plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

npx -y @useclawlink/cli login

login opens the same browser approval and stores a credential locally. Once Outlook is connected in the dashboard, that agent calls the same 270 Outlook tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

Outlook MCP for OpenClaw

Looking for a Outlook MCP server for OpenClaw? ClawLink connects Outlook to OpenClaw and exposes 270 Outlook tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using Hermes instead? The Hermes Outlook integration works the same way.

Is it safe to connect Outlook to OpenClaw?

The honest version, with the actual permissions. ClawLink connects through a hosted OAuth client: you click Connect, approve on Microsoft's consent screen, and no password or secret is stored on your machine or server.

  • What the connection asks for: read and write mail, send mail, read and write calendar, read and write contacts, mailbox settings, your profile, and offline access to keep the token alive. That is the reach the tools on this page need. If you want less, connect a secondary Microsoft account and work with the mail the agent is allowed to see.
  • What is not involved: no app password, no config file with a standing secret, and no background polling. The grant is revocable at any time from your Microsoft account's security settings, and a connection made through the dashboard can be removed in one click.
  • The risk nobody else names: prompt injection. An agent that reads your mail is reading text written by strangers, and that text can contain instructions. Treat an agent with send access like a new assistant: ask for drafts, read them, then send. The send tools also run behind ClawLink's explicit-confirmation gate.
  • Work or school accounts add your employer's policy. Microsoft 365 tenants can restrict which third-party apps may connect. If the consent screen refuses or an admin approval is requested, that is your organization's app policy, not a ClawLink failure — your IT team can approve the app or block it.

The setups worth being cautious about are the DIY ones: an app registration you created with a client secret sitting in a file on the machine the agent runs on. ClawLink removes that part.

What the OpenClaw Outlook integration can do

270 Outlook tools are ready for OpenClaw once the account is connected. The 30 below are the ones people reach for most; your agent can call all 270.

30 of 270 Outlook tools for OpenClaw

ToolWhat it does
Calendar create event outlook_calendar_create_eventCreate a new Outlook calendar event
Create contact outlook_create_contactCreate a new Outlook contact
Create draft outlook_create_draftCreate a new draft Outlook email
Get message outlook_get_messageGet a specific Outlook message
Get profile outlook_get_profileGet the connected Outlook user profile
List calendars outlook_list_calendarsList Outlook calendars
List mail folders outlook_list_mail_foldersList Outlook mail folders
List messages outlook_list_messagesList Outlook messages
List user contacts outlook_list_user_contactsList Outlook contacts
Query emails outlook_query_emailsQuery Outlook emails with filters
Reply email outlook_reply_emailReply directly to an Outlook message
Search messages outlook_search_messagesSearch Outlook messages
Send email outlook_send_emailSend a new Outlook email
Download outlook attachment outlook_download_outlook_attachmentDownloads a specific file attachment from an email message in a Microsoft Outlook mailbox; the
Find meeting times outlook_find_meeting_timesSuggests meeting times based on organizer and attendee availability, time constraints, and
Get calendar event outlook_get_calendar_eventRetrieve a specific event from a specified calendar
Get calendar event attachment outlook_get_calendar_event_attachmentRetrieve a specific attachment from an event within a calendar
Get calendar from event outlook_get_calendar_from_eventRetrieve the parent calendar that contains a specific event
Get calendar from group outlook_get_calendar_from_groupRetrieve a specific calendar from a calendar group in Microsoft Outlook
Get calendar group outlook_get_calendar_groupRetrieve the properties and relationships of a calendar group object
Get calendar group calendar event extension outlook_get_calendar_group_calendar_event_extensionRetrieve an open extension from a calendar event within a specific calendar group and calendar
Get calendar group schedule outlook_get_calendar_group_scheduleRetrieve free/busy schedule information for a specific user's calendar within a calendar group
Get calendar permission outlook_get_calendar_permissionRetrieve a specific calendar permission for a user's calendar
Get calendar permission from calendar outlook_get_calendar_permission_from_calendarRetrieve a specific calendar permission from a user's calendar
Get calendar schedule outlook_get_calendar_scheduleGet free/busy schedule information for users, distribution lists, or resources
Get calendar view outlook_get_calendar_viewGet events ACTIVE during a time window (includes multi-day events)
Get child folder message outlook_get_child_folder_messageRetrieve a specific email message from a child mail folder
Get child folder message content outlook_get_child_folder_message_contentGet the MIME content of a message from a child mail folder
Get child mail folder outlook_get_child_mail_folderRetrieve a specific child mail folder from a parent mail folder
Get contact extension outlook_get_contact_extensionRetrieve an open extension from a contact in Microsoft Graph

Try it: find the Outlook tool you need

Browse the 30 Outlook tools

Click any tool to see exactly what OpenClaw can do and copy a ready-to-use prompt.

Example prompts

List my 25 most recent unread messages from my Outlook inbox and include the body text, then tell me who is waiting on a reply and what each one needs.

Search my Outlook mailbox for messages matching from:stripe.com hasattachment:yes, return the 10 most recent, and download the attachment from the newest one.

Send an email to alice@example.com and bob@example.com with subject "Q3 numbers" and an HTML body containing the summary table, with is_html true. Save a copy in Sent Items.

Create an Outlook calendar event "Product review" tomorrow from 14:00 to 15:00 in Pacific Standard Time, add sarah@acme.com as an attendee, and make it a Teams online meeting.

What to tell the agent when it calls Outlook

These are the defaults the Outlook tools actually run with. Three of them surprise people, and all three are fixed by saying one more thing in the prompt.

  • List messages returns 10 messages from the inbox with minimal detail by default: top defaults to 10, folder to inbox, and response_detail to minimal, which excludes the body text. "Check my email" comes back as ten subjects. Say "list 50, include the body" instead.
  • Query emails searches one folder at a time — the default is inbox and it cannot search across all folders — and top defaults to 100. Use the well-known folder names (inbox, sentitems, drafts, deleteditems) and OData filters like isRead eq false.
  • Search messages takes KQL, not Gmail-style operators: from:stripe.com, subject:invoice, hasattachment:yes. Results are newest-first unless enable_top_results is true, size caps at 25, and from_index + size cannot exceed 1000. This tool refuses personal Microsoft accounts — Microsoft's Search API is Microsoft 365-only.
  • Send email requires subject, body, and to (comma-separated for multiple recipients). HTML is sent as plain text unless is_html is true, and copies are saved to Sent Items by default.
  • Calendar create event needs subject, start_datetime, end_datetime, and a time_zone in Windows format ("Pacific Standard Time", not "America/Los_Angeles"). Online meetings currently support only Teams (teamsForBusiness).
  • Message, event, and folder ids must be real ids from a list or search result. "me" is a valid user alias, never a message id, and an example id or a deleted message produces the errors in the troubleshooting section below.

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for OpenClaw. That is fine if you want to build and maintain the integration yourself. Most teams just want Outlook working from chat.

ManualClawLink
Connection flowRegister a Outlook app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift.Users connect Outlook through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for Outlook.ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure.
Agent usabilityYou still need to expose the right Outlook actions to the runtime in a format your agent can reliably use.270 tools for Outlook are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes Outlook to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for OpenClaw users instead. You install the plugin once, connect Outlook in the browser, and the 270 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.

Troubleshooting

OpenClaw installed the Outlook skill but can't call the tools

The ClawHub skill teaches OpenClaw about Outlook, but the calls run through the ClawLink plugin and your connected account. Make sure Outlook is connected in the dashboard, then start a fresh chat so OpenClaw reloads the tool catalog. If OpenClaw runs as a persistent gateway, restart it so the new tools register.

Connection succeeds but no tools appear

Reconnect Outlook from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

"Tool schema not loaded yet" error when calling Outlook tools

Outlook tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Outlook call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

Outlook returns 403 or "permission denied" on one action while others work

Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

"Search does not work with @hotmail.com or @outlook.com personal accounts. Please use a work or school (Microsoft 365/Enterprise) account."

This is a real limit of Microsoft's Search API, not a ClawLink restriction: Microsoft Search is built for Microsoft 365 organizations and personal mailboxes have no search index. It is the single most common Outlook error in our production logs. On a personal account, skip Search messages and use List messages or Query emails instead — both work on personal and work accounts, and both take filters (read status, sender, date, subject) that cover most search needs. On a work or school account, the search tool itself works.

Ask the agent to diagnose it:

Run clawlink_list_integrations and report Outlook's connection status. Do not retry the failed search. If the connected account is a personal @outlook.com or @hotmail.com address, switch that task to List messages or Query emails.
"The specified object was not found in the store." (ErrorItemNotFound)

Graph returns this when the message, event, or folder no longer exists or never existed in the mailbox the agent is querying. The usual causes: the item was deleted or moved after the agent fetched its id, or the id came from a different mailbox (for example, a shared mailbox whose connection is separate from the agent's own). Have the agent re-run the list or search that produced the id and retry with a fresh one. The id alone cannot tell you which case it is — the list output can.

Ask the agent to diagnose it:

Re-run the list or search tool that produced the failing id, then retry the original call with an id from that fresh output. Report the error you get either way.
"Id is malformed." (TargetIdShouldNotBeMeOrWhitespace)

This is the placeholder-argument trap: the agent passed an empty id, "me", or an example id from documentation instead of a real one. "me" is a valid value for the user argument, not for message, event, or folder ids. Real ids look like AAMkADAwATNiZmY… and only come from list or search results. Ask the agent to run a list or search first, then retry with an id from that output. Most "malformed id" failures are this, not an account problem.

"outlook_delete_message requires explicit confirmation before execution."

ClawLink's confirmation gate is what this error is. Destructive tools — Delete message, Move message, and the permanent-delete variants — return a preview and require explicit confirmation before any change reaches Microsoft. The agent should present the preview and wait for your approval; reconnecting the account does not bypass it, and the gate is on purpose. If the agent's runtime does not offer a confirm step, ask it to draft the call and approve it explicitly.

"Too many requests. Try again shortly."

Microsoft Graph is throttling the mailbox, usually because the agent fired a burst of calls (for example, downloading every attachment in a folder at once). Wait a few seconds and retry; for bulk work, space the calls out or batch them — the batch tools accept up to 20 messages per call and reject anything larger ("List should have at most 20 items after validation").

OAuth finished in the browser but the account is still missing

Try reconnecting Outlook and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.

FAQ

Is there a OpenClaw Outlook integration?

Yes. ClawLink is the fastest way to connect OpenClaw to Outlook: link your Outlook account once in the browser and OpenClaw can call the Outlook API through 270 ready-made tools — no custom code or token handling.

How do I add Outlook to OpenClaw with ClawLink?

Paste the setup prompt from this page into OpenClaw. It installs the ClawLink Outlook skill from ClawHub, then you click Connect in the dashboard to authorize Outlook. OpenClaw calls the tools from the next message — no config files or API keys to manage.

How long does it take to connect Outlook to OpenClaw?

About two minutes. Sign in, click Connect next to Outlook in the dashboard, authenticate, and OpenClaw can use it from the next chat message.

Why use ClawLink instead of wiring Outlook up myself?

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for OpenClaw. That is fine if you want to build and maintain the integration yourself. Most teams just want Outlook working from chat.

Can I connect a personal @outlook.com or @hotmail.com account to OpenClaw?

Yes. ClawLink connects personal Microsoft accounts and work or school (Microsoft 365) accounts through the same hosted OAuth flow, and the consent screen shows the same reach either way: read and send mail, manage calendar and contacts, and mailbox settings. One tool is the exception. The Search messages tool refuses personal accounts — Microsoft's Search API is built for Microsoft 365 organizations, not for personal mailboxes — so agents on a personal account should use List messages or Query emails instead, which work on both account types.

Why does deleting or moving an Outlook message through OpenClaw require confirmation?

ClawLink gates destructive and write actions behind explicit confirmation. When the agent calls a tool like Delete message or Move message, the call returns a preview plus "requires explicit confirmation before execution" until you approve it. The approval is separate from Microsoft's own safety checks, and it applies to any action that permanently changes mailbox data, not just Outlook.

OpenClaw installed the Outlook skill but can't call the tools

The ClawHub skill teaches OpenClaw about Outlook, but the calls run through the ClawLink plugin and your connected account. Make sure Outlook is connected in the dashboard, then start a fresh chat so OpenClaw reloads the tool catalog. If OpenClaw runs as a persistent gateway, restart it so the new tools register.