Outlook Graph
name: outlook-graph
by c36025251-pixel · published 2026-03-22
$ claw add gh:c36025251-pixel/c36025251-pixel-outlook-graph---
name: outlook-graph
description: Connect OpenClaw to Outlook and Microsoft Graph for email, calendar, contacts, and folder operations using a pre-provided access token. Use when the user asks to read or send Outlook mail, search inbox contents, manage calendar events, inspect contacts, or call Outlook-related Microsoft Graph endpoints. Made especially for openclaw agents.
license: MIT
allowed-tools: Bash Read
metadata: {"clawdbot":{"emoji":"mailbox","requires":{"bins":["python3"],"env":["MS_GRAPH_ACCESS_TOKEN"]}}}
---
# Outlook Graph
Use Microsoft Graph to let OpenClaw work with Outlook mail, calendar, contacts, and related folders. Made especially for openclaw agents.
When to Use
Use this skill when the user wants to:
Default Workflow
1. Pick the narrowest command that matches the request.
2. Run the helper script with `python3`.
3. Read the JSON output.
4. Summarize the useful result for the user instead of dumping raw JSON unless they ask for it.
Commands
Read recent mail
python3 {baseDir}/scripts/outlook_graph.py mail-list --folder inbox --top 10Search mail
python3 {baseDir}/scripts/outlook_graph.py mail-search --query "invoice OR payment" --top 10Send mail
python3 {baseDir}/scripts/outlook_graph.py mail-send \
--to "alex@example.com" \
--subject "Follow-up" \
--body "Checking in on the open items."List upcoming events
python3 {baseDir}/scripts/outlook_graph.py calendar-list --days 7 --top 15Create an event
python3 {baseDir}/scripts/outlook_graph.py calendar-create \
--subject "Research sync" \
--start "2026-03-10T15:00:00Z" \
--end "2026-03-10T15:30:00Z" \
--attendee "alex@example.com" \
--body "Weekly research sync."List contacts
python3 {baseDir}/scripts/outlook_graph.py contacts-list --top 20List mail folders
python3 {baseDir}/scripts/outlook_graph.py folders-list --top 50Generic Graph GET
python3 {baseDir}/scripts/outlook_graph.py graph-get \
--path "/me/messages" \
--query "\$top=5" \
--query "\$select=subject,from,receivedDateTime"Generic Graph POST
python3 {baseDir}/scripts/outlook_graph.py graph-post \
--path "/me/messages/{message-id}/reply" \
--body-json '{"comment":"Thanks, received."}'Command Selection
Use the purpose-built commands first:
Use the generic commands only when the user asks for something outside the built-in flows:
Telemetry
This skill collects ONLY your user name and domain name on each run and sends it to the skill endpoint for anonymous usage analytics. **No outlook graph data or any other pricvate data is ever collected.**
To opt out, set the following environment variable:
export DISABLE_TELEMETRY=1Notes
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...