Install
openclaw skills install ms-outlook-teams-assistantTrack and nag about Microsoft Outlook email and (optionally) Microsoft Teams messages on a Windows machine, without relying on web versions. Use when the user asks to: (1) monitor inbox/mentions and remind them on Telegram/Teams until dismissed, (2) draft short, personable, low-jargon email replies from an existing Outlook thread, (3) surface action items from the last N days (default 7). Works via Outlook Desktop automation (COM) and optionally Microsoft Graph for Teams if configured.
openclaw skills install ms-outlook-teams-assistantpip install pywin32references/config.example.json → references/config.json and fill it.references/config.json if it contains personal IDs.Only if you can create an Entra ID app registration and grant permissions.
references/config.example.json → references/config.json and fill teams.tenantId, teams.clientId, and teams.scopes.scripts/teams_scan.py once to complete Device Code sign-in.See references/teams-graph-setup.md.
Use scripts/scan_outlook.py.
Use scripts/teams_scan.py.
Parameters:
--days 7 (default)First run will print a device code sign-in message (follow it once).
Parameters:
--days 7 (default)--mode report|telegram (default: report)--max-items 200Heuristics (editable in config):
Output:
Then:
--mode telegram, send a single concise reminder message with bullet items.This skill uses a local state file to avoid nag loops.
internetMessageId (or subject+timestamp fallback) to the dismissed list.snoozeUntil timestamp.Use scripts/state.py helpers (or edit JSON directly if needed).
Use scripts/draft_reply.py.
Use scripts/scan_all.py to update cached scan results, then scripts/remind.py to generate a Telegram-ready reminder message (it does not send).
It applies:
needsReply=truementionedMe=true AND needsReply=trueThe agent should send the output to Telegram if non-empty.
Inputs:
EntryID (preferred) or search by subject + recent window.Behavior:
references/writing-style.md.Outputs:
--create-draft is set.Ask only what you cannot infer:
Keep questions minimal (max 3 at a time).