8.7k★by abhinavjp
ms-outlook-teams-assistant – OpenClaw Skill
ms-outlook-teams-assistant is an OpenClaw Skills integration for communication workflows. Track 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.
Skill Snapshot
| name | ms-outlook-teams-assistant |
| description | Track 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 integration. |
| owner | abhinavjp |
| repository | abhinavjp/ms-outlook-teams-assistant |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @abhinavjp/ms-outlook-teams-assistant |
| last updated | Feb 7, 2026 |
Maintainer

name: ms-outlook-teams-assistant description: "Track 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."
MS Outlook + Teams Assistant (Desktop-first)
What this skill does
- Inbox nagging (Outlook Desktop): find messages from the last 7 days that likely need a reply, then send reminders until dismissed.
- Email reply drafting: produce concise drafts that match the user’s tone rules (conversational, spartan, polite; simple English; short; reduce redundancy; avoid em dashes).
- Teams tracking (optional): if Microsoft Graph is configured and permitted by tenant policy, track recent Teams chat messages that likely need a reply and nag similarly.
Safety defaults
- Do not auto-send emails or Teams messages.
- Create drafts in Outlook, or paste drafts into Telegram for approval.
- For reminders: send to Telegram by default; only send to Teams if explicitly enabled.
Setup (one time)
A) Outlook Desktop automation (recommended)
- Ensure Outlook Desktop is installed and signed in.
- Install the Python dependency (ask before doing this on the machine):
pip install pywin32
- Create a config file:
- Copy
references/config.example.json→references/config.jsonand fill it. - IMPORTANT: Do not commit
references/config.jsonif it contains personal IDs.
- Copy
B) Teams via Graph (optional)
Only if you can create an Entra ID app registration and grant permissions.
- Copy
references/config.example.json→references/config.jsonand fillteams.tenantId,teams.clientId, andteams.scopes. - Then run
scripts/teams_scan.pyonce to complete Device Code sign-in.
See references/teams-graph-setup.md.
Core workflows
1) Scan and remind (Outlook)
Use scripts/scan_outlook.py.
1b) Scan Teams (Graph)
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 200
Heuristics (editable in config):
- Within last N days
- Not from obvious broadcast sources
- Prefer threads where user is To: (not only CC) OR subject/body contains direct asks
- Prefer messages not replied by user (best-effort)
Output:
- A list of actionable items with: subject, sender, received time, why it was flagged.
Then:
- If
--mode telegram, send a single concise reminder message with bullet items.
2) Dismiss / snooze an item
This skill uses a local state file to avoid nag loops.
- Dismiss: add the message’s
internetMessageId(or subject+timestamp fallback) to the dismissed list. - Snooze: store a
snoozeUntiltimestamp.
Use scripts/state.py helpers (or edit JSON directly if needed).
3) Draft an email reply (Outlook)
Use scripts/draft_reply.py.
4) Generate reminders (no send)
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:
- 1:1 Teams → remind when
needsReply=true - Group Teams → remind when
mentionedMe=trueANDneedsReply=true - Outlook → remind for flagged items
The agent should send the output to Telegram if non-empty.
Inputs:
- Either a message
EntryID(preferred) or search by subject + recent window.
Behavior:
- Extract the thread (best-effort) + key metadata.
- Generate 2 drafts:
- Short (2–5 sentences)
- Normal (5–10 sentences)
- Apply tone rules from
references/writing-style.md.
Outputs:
- Print drafts to stdout.
- Optionally create an Outlook draft reply (no sending) if
--create-draftis set.
When you need more context from the user
Ask only what you cannot infer:
- Which email to reply to (subject / sender / when)
- The user’s intent (agree/decline/ask for info/confirm timeline)
- Any constraints (deadlines, attachments, names)
Keep questions minimal (max 3 at a time).
ms-outlook-teams-assistant
Desktop-first Outlook + Teams nagging + email reply drafting for OpenClaw (Windows).
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
FAQ
How do I install ms-outlook-teams-assistant?
Run openclaw add @abhinavjp/ms-outlook-teams-assistant in your terminal. This installs ms-outlook-teams-assistant into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/abhinavjp/ms-outlook-teams-assistant. Review commits and README documentation before installing.
