teams-scrape

Extract Microsoft Teams chat messages via clipboard capture and parse them into structured JSON.

6|1|Updated Nov 26, 2025
One-click install
npx skills add https://github.com/nathanvale/side-quest-marketplace-old --skill teams-scrape-nathanvale
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: teams-scrape
Source: https://github.com/nathanvale/side-quest-marketplace-old/tree/main/plugins/teams-scrape/skills/teams-scrape
Command: npx skills add https://github.com/nathanvale/side-quest-marketplace-old --skill teams-scrape-nathanvale

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Manually copying and structuring Microsoft Teams chat history is tedious and error-prone, and there is no built-in way to track which messages are new since your last capture. This Skill automates navigation, clipboard capture, parsing, and persistence of Teams conversations with deterministic new-message detection. ## Core Features & Use Cases - Automated UI Capture: Uses AppleScript via the macos-automator MCP to navigate Teams with Cmd+G and copy chat content to the clipboard. - Structured Parsing: Converts Teams clipboard text into JSON messages with authors, timestamps, replies, reactions, attachments, mentions, and edited flags. - Deterministic Deduplication: Persists chats to ~/.config/teams-scrape/ with stable message IDs, so re-running a scrape reports only genuinely new messages. - Use Case: Ask to scrape your DM with a colleague before a meeting; the Skill navigates Teams, captures the chat, and returns only the messages added since your last scrape. ## Quick Start Ask the assistant to scrape your Teams chat with a specific person or channel, for example: scrape my Teams chat with Jay Pancholi and show me the new messages.

Frequently Asked Questions about teams-scrape

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I export Microsoft Teams chat history to JSON?▼

Use this Skill to navigate Teams via AppleScript, copy the chat with Cmd+A and Cmd+C, then pipe the clipboard to the teams-scrape CLI. It parses the Teams clipboard format into structured JSON with authors, timestamps, replies, and reactions.

How to detect new Teams messages since the last scrape?▼

The CLI computes stable message IDs from author, timestamp, and content, then compares them against the stored chat in ~/.config/teams-scrape/. Only messages with unseen IDs are reported as new, so identical scrapes return zero new messages.

Does Teams scraping work on Windows or Linux?▼

No, this Skill is macOS-only. It depends on AppleScript executed through the macos-automator MCP and requires accessibility permissions granted to the terminal application.

Why does Teams clipboard capture return empty content?▼

Empty clipboard usually means the chat area lacked focus during capture. The workflow presses Escape before Cmd+A to clear focus, and increasing AppleScript delays helps when Teams responds slowly.

What Teams message elements can be parsed from clipboard text?▼

The parser handles authors, AU-format timestamps, multi-line content, reply reference blocks, emoji reactions with counts, attachments (GIF, image, file, URL preview, Loop component), mentions, and edited message markers.