M365 Mailbox (Graph)
ReviewAudited by ClawScan on May 10, 2026.
Overview
The skill mostly matches its Microsoft 365 mailbox purpose, but draft creation does not enforce the confirmation policy the setup claims to apply to write actions.
Install only if you are comfortable granting Microsoft Graph mailbox access. Use minimal scopes, avoid broad/offline consent unless needed, protect the local token cache, and be aware that enabling draft permissions may allow the agent to create drafts without the confirmation safeguard the setup text suggests.
Findings (3)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
If draft access is enabled, an agent could create email drafts in the mailbox without the confirmation behavior the setup policy implies.
The script creates a mailbox draft after only checking that the draft action is allowed; it does not call needsConfirm, even though setup.mjs defaults draft actions into requireConfirm. This undercuts the documented confirmation boundary for a write-like mailbox action.
assertAllowed(profile, 'draft'); ... const created = await graphFetch(url, { method: 'POST', token, headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload), });Enforce needsConfirm for draft creation, or clearly document that allowing drafts permits autonomous draft creation. Users should leave draft/send disabled unless they explicitly want the agent to modify mailbox contents.
Granting broad scopes or offline access gives the local profile powerful ongoing access to your mailbox.
The skill legitimately needs delegated Microsoft mailbox permissions and local token storage, but those permissions can read, write, and send email depending on what the user grants.
Auth is done via **your own Microsoft login** (device code flow). Tokens are stored **locally per profile** ... Delegated Microsoft Graph permissions ... `Mail.Read`, `Mail.ReadWrite`, `Mail.Send`, (optional) `offline_access`
Use minimal-consent mode, grant only the scopes you need, avoid offline_access unless necessary, and protect or remove the token cache at ~/.openclaw/secrets/m365-mailbox when no longer needed.
Installing the skill requires trusting the npm dependency chain used for Microsoft authentication.
The skill has no registry install spec but asks the user to install npm dependencies locally. The included package-lock provides resolved packages and integrity hashes, and the dependency is purpose-aligned, but it is still external package installation.
After installing/updating the skill, install deps: ```bash cd skills/m365-mailbox npm install ```
Install only from the expected skill directory, prefer npm ci when possible, review package-lock.json, and keep Node/npm updated.
