Overview
- Skill Key
- draeden79/microsoft-365-graph-openclaw
- Author
- draeden79
- Source Repo
- openclaw/skills
- Version
- 0.2.0
- Source Path
- skills/draeden79/microsoft-365-graph-openclaw
- Latest Commit SHA
- abab7d13bc8e8042989857b2f5af03adcfbf9cf2
Microsoft 365 Graph for OpenClaw with webhook-based wake signals. Reduce recurring LLM cost from inbox polling while managing Outlook mail, calendar, OneDrive, and contacts via Microsoft Graph.
Stars
0
Installs
0
Status
ACTIVE
Visibility
PUBLIC
直接复制以下提示词,发送给你的 AI 助手即可完成安装。
请先检查是否已安装 SkillHub 商店,若未安装,请根据 https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/skillhub.md 安装 SkillHub 商店,然后安装 microsoft-365-graph-openclaw 技能。 若已安装,则直接安装 microsoft-365-graph-openclaw 技能。
# Microsoft 365 Graph for OpenClaw Skill
## 1. Quick prerequisites
1. Python 3 with `requests` installed.
2. Default auth values:
- Client ID (personal-account default): `952d1b34-682e-48ce-9c54-bac5a96cbd42`
- Tenant (personal-account default): `consumers`
- Default scopes: `Mail.ReadWrite Mail.Send Calendars.ReadWrite Files.ReadWrite.All Contacts.ReadWrite offline_access`
- For work/school accounts, use `--tenant-id organizations` (or tenant GUID) and a tenant-approved `--client-id`.
- The public default client ID is for quick testing. For production, prefer your own App Registration.
3. Tokens are stored in `state/graph_auth.json` (ignored by git).
4. Required runtime envs for push mode:
- `OPENCLAW_HOOK_URL`
- `OPENCLAW_HOOK_TOKEN`
- `GRAPH_WEBHOOK_CLIENT_STATE`
- `OPENCLAW_SESSION_KEY`
Permission profiles (least privilege by use case) are documented in `docs/permission-profiles.md`.
## 2. Assisted OAuth flow (Device Code)
1. Run:
```bash
python scripts/graph_auth.py device-login \
--client-id 952d1b34-682e-48ce-9c54-bac5a96cbd42 \
--tenant-id consumers
```
2. The script prints a **URL** and **device code**.
3. Open `https://microsoft.com/devicelogin`, enter the code, and approve with the target account.
4. Check and manage auth state:
- `python scripts/graph_auth.py status`
- `python scripts/graph_auth.py refresh`
- `python scripts/graph_auth.py clear`
5. Other scripts call `utils.get_access_token()`, which refreshes tokens automatically when needed.
6. Scope override is disabled in `graph_auth.py`; the skill always uses `DEFAULT_SCOPES`.
Detailed reference: [`references/auth.md`](references/auth.md).
## 3. Email operations
- **List/filter**: `python scripts/mail_fetch.py --folder Inbox --top 20 --unread`
- **Fetch specific message**: `... --id <messageId> --include-body --mark-read`
- **Move message**: add `--move-to <folderId>` to the command above.
- **Send email** (`saveToSentItems` enabled by...
# Microsoft 365 Graph for OpenClaw Microsoft 365 Graph for OpenClaw with webhook-based wake signals. Reduce recurring LLM cost from inbox polling while managing Outlook mail, calendar, OneDrive, and contacts via Microsoft Graph. This repository provides a webhook-driven Graph skill that wakes OpenClaw only when work actually happens in self-hosted deployments.    ## Why this exists Polling-based inbox checks are expensive in practice: - A cron/heartbeat loop keeps waking agents even when nothing changed. - Those recurring turns consume tokens and increase operating cost. - They also increase noise in operational logs and incident triage. Microsoft Graph change notifications flip the model: - Graph pushes an event when a message changes. - The skill validates and deduplicates events. - OpenClaw receives a wake signal only when there is new work. Core message: replace recurring inbox polling with event-driven notifications. ## Cost model Assume one lightweight inbox-check wake-up uses about `2,000` input tokens and `400` output tokens. Using GPT-5.3-Codex pricing (`$1.75 / 1M` input, `$14.00 / 1M` output), each wake-up costs about **$0.0091**. - **2-minute polling** = `720` wake-ups/day = about **$6.55/day** = about **$196.56/month** - **Push mode with 5 real events/day** = `5` wake-ups/day = about **$0.05/day** = about **$1.37/month** In this example, push reduces recurring wake-up spend by about **99%**. These numbers are illustrative. Push does not remove the cost of processing real email work — it mainly removes the cost of waking the agent repeatedly just to check whether anything changed. ## What is included Skill: - `microsoft-365-graph-openclaw` Capabilities: - OAuth device-code auth with refresh handling - Mail, calendar, drive, and contacts automat...
heyixuan2
Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pipeline: search → generate → analyze → colorize → preview → open BS → user slice → print → monitor. Supports all 9 Bambu Lab printers (A1 Mini, A1, P1S, P2S, X1C, X1E, H2C, H2S, H2D).
edholofy
University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning required.
rxhxm
Agent Skill (SKILL.md) for Sixtyfour AI — People & company intelligence API. Enrich leads, find emails/phones, qualify prospects, search people. For Claude Code, Codex, OpenClaw, Cursor.
lethehades
macOS WPS Office workflow helper skill for safer document preparation, conversion, export, and compatibility guidance
capt-marbles
Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discoverability and citation.
catsmeow492
Encrypted agent-to-agent messaging via NoChat. Post-quantum E2E encryption. Add NoChat as a native channel in OpenClaw — receive DMs from other AI agents.