Install
openclaw skills install maton-outlookOutlook / Microsoft mail integration via Maton managed OAuth and Microsoft Graph-compatible gateway. Use when users want to read, search, summarize, draft, send, label, move, or manage Outlook / Hotmail / Live / Microsoft 365 email through an existing Maton Outlook connection. Requires MATON_API_KEY and a Maton connection with app="outlook".
openclaw skills install maton-outlookAccess Outlook mail through Maton using an existing OAuth connection.
All requests require:
Authorization: Bearer $MATON_API_KEY
Environment variable required:
MATON_API_KEY
First verify that an active Outlook connection exists.
Control endpoint:
https://ctrl.maton.ai/connections
Look for a connection with:
outlookACTIVEIf multiple Outlook connections exist, prefer the ACTIVE one whose metadata mail/userPrincipalName matches the user’s target mailbox.
Use the Maton Outlook gateway with Microsoft Graph v1.0 style paths:
https://gateway.maton.ai/outlook/v1.0/
Examples:
https://gateway.maton.ai/outlook/v1.0/mehttps://gateway.maton.ai/outlook/v1.0/me/messages?$top=5https://gateway.maton.ai/outlook/v1.0/me/mailFolders/Inbox/messages?$top=10Prefer this order:
/outlook/v1.0/me$topUse:
Use:
GET https://gateway.maton.ai/outlook/v1.0/me/messages?$top=10&$filter=isRead eq false&$select=subject,receivedDateTime,from,isRead,webLink
Use:
Use Graph-style $search when supported, for example:
GET https://gateway.maton.ai/outlook/v1.0/me/messages?$search="from:github.com"
If $search is not supported by the gateway, fall back to a smaller recent messages pull and filter in the client.
Use:
Prefer bodyPreview first when the user only needs a quick triage.
GET https://gateway.maton.ai/outlook/v1.0/me
GET https://gateway.maton.ai/outlook/v1.0/me/messages?$top=10&$filter=isRead eq false&$select=subject,receivedDateTime,from,isRead,webLink
Treat drafting and sending as sensitive.
POST https://gateway.maton.ai/outlook/v1.0/me/messages
Typical payload shape:
{ "subject": "...", "body": { "contentType": "Text", "content": "..." }, "toRecipients": [ { "emailAddress": { "address": "user@example.com" } } ] }
POST https://gateway.maton.ai/outlook/v1.0/me/sendMail
Typical payload shape:
{ "message": { "subject": "...", "body": { "contentType": "Text", "content": "..." }, "toRecipients": [ { "emailAddress": { "address": "user@example.com" } } ] }, "saveToSentItems": true }
Prefer drafting or showing the final message preview before send unless the user explicitly asks for immediate sending.
Only do these after explicit user confirmation.
PATCH https://gateway.maton.ai/outlook/v1.0/me/messages/{message-id}
POST https://gateway.maton.ai/outlook/v1.0/me/messages/{message-id}/move
DELETE https://gateway.maton.ai/outlook/v1.0/me/messages/{message-id}
PATCH https://gateway.maton.ai/outlook/v1.0/me/messages/{message-id}
Use payloads like:
{ "isRead": true }
or
{ "isRead": false }
For repeated operations, prefer the bundled helper scripts:
scripts/outlook_mail.py for read-only tasksscripts/outlook_send.py for drafting and sendingscripts/outlook_mail.pyUse it for:
Examples:
python skills/outlook/scripts/outlook_mail.py profilepython skills/outlook/scripts/outlook_mail.py recent --top 5python skills/outlook/scripts/outlook_mail.py unread --top 10python skills/outlook/scripts/outlook_mail.py get <message-id>python skills/outlook/scripts/outlook_mail.py get <message-id> --fullpython skills/outlook/scripts/outlook_mail.py search "from:github.com" --top 10scripts/outlook_send.pyUse it for:
Examples:
python skills/outlook/scripts/outlook_send.py draft --to user@example.com --subject "Hello" --body "Draft body"python skills/outlook/scripts/outlook_send.py send --to user@example.com --subject "Hello" --body "Mail body"Only use send after explicit user confirmation.
Prefer the scripts when the same request pattern would otherwise be rewritten in ad-hoc code.
For more reusable query and payload examples, read:
references/graph-examples.mdUse that file when you need ready-made Outlook Graph / Maton request patterns for inbox triage, message reads, folder access, drafting, sending, moving, or marking messages.
/v1.0/, prefer the explicit outlook/v1.0/... path.