โœ“ Verified ๐ŸŒ Web Scrapers โœ“ Enhanced Data

Teams Hack

Your agent reads Teams chats, posts to channels, searches everything.

Rating
3.9 (450 reviews)
Downloads
1,401 downloads
Version
1.0.0

Overview

Your agent reads Teams chats, posts to channels, searches everything.

โœจKey Features

1

๐Ÿ’ฌ Read and send chat messages (1:1 and group)

2

๐Ÿ“ข Read and post to team channels

3

๐Ÿ” Search messages across all of Teams

4

๐Ÿ‘ฅ Browse org directory, check presence status

5

๐Ÿ“… View calendar with Teams meeting join links

6

๐Ÿข List joined teams and channels

Complete Documentation

View Source โ†’

Teams Hack

One token. Two skills. 90 days of access.

This skill shares the same MSAL refresh token as outlook-hack. Extract once from Teams localStorage, get both email and chat access.

What It Does

  • ๐Ÿ’ฌ Read and send chat messages (1:1 and group)
  • ๐Ÿ“ข Read and post to team channels
  • ๐Ÿ” Search messages across all of Teams
  • ๐Ÿ‘ฅ Browse org directory, check presence status
  • ๐Ÿ“… View calendar with Teams meeting join links
  • ๐Ÿข List joined teams and channels

Quick Start

1. Token Extraction (one-time, ~30 seconds)

Open Microsoft Teams (teams.cloud.microsoft) in Chrome. Attach the tab via OpenClaw browser relay. The agent runs this in the page:

javascript
(() => {
  const keys = Object.keys(localStorage).filter(
    (k) => k.includes("refreshtoken") || k.includes("RefreshToken"),
  );
  const results = keys.map((k) => {
    const parsed = JSON.parse(localStorage.getItem(k));
    return { key: k, secret: parsed.secret, client_id: parsed.client_id };
  });
  // Also get tenant ID
  const accountKeys = Object.keys(localStorage).filter((k) => {
    try {
      return JSON.parse(localStorage.getItem(k)).tenantId;
    } catch {
      return false;
    }
  });
  let tenantId = null;
  for (const k of accountKeys) {
    try {
      tenantId = JSON.parse(localStorage.getItem(k)).tenantId;
      break;
    } catch {}
  }
  return { tokens: results, tenantId };
})();

Then store the token:

bash
teams token store --refresh-token <secret> --tenant-id <tenantId>

2. Verify

bash
teams token test

3. Use

bash
teams chats                          # Recent conversations
teams chat <id> --top 10             # Read messages
teams chat-send <id> --message "hi"  # Send message
teams teams                          # List teams
teams channels <teamId>              # List channels
teams search "project update"        # Search everything
teams users --search "Oscar"         # Find people
teams presence                       # Your status
teams calendar --days 3              # Upcoming meetings

How It Works

Same mechanism as the Outlook hack:

  • Teams stores an MSAL refresh token in localStorage
  • This token is exchanged for a Graph API access token using Teams' first-party client ID
  • The client ID (5e3ce6c0-2b1f-4285-8d4b-75ee78787346) has pre-authorized Graph scopes
  • Token auto-rotates on each use โ€” perpetual access as long as it's used within 90 days

Shared Token Architecture

Both skills read from the same file:

text
~/.openclaw/credentials/outlook-msal.json

Extract the token once โ†’ both outlook and teams CLIs work. If either skill refreshes the token, the other benefits.

CLI Reference

CommandDescription
teams chatsList recent chats with last message preview
teams chat Read messages (newest first)
teams chat-send --message Send to a chat
teams teamsList all joined teams
teams channels List channels in a team
teams channel Read channel messages
teams channel-send --message Post to channel
teams search ""Full-text search across messages
teams users --search Search org directory
teams presenceYour availability status
teams calendar --days 7Calendar with meeting links
teams meYour profile

Sibling Skill: Outlook Hack

This skill shares the same MSAL refresh token with outlook-hack. One extraction covers both. Extract the token once โ†’ get full chat access (this skill) AND email access (Outlook Hack).

Both skills read and write to the same credentials file:

text
~/.openclaw/credentials/outlook-msal.json

If either skill refreshes the token, the other benefits automatically.

SkillWhat it doesSend-blocked?
outlook-hackEmail: read, search, draft, folders, attachments, calendar, contactsโœ… Cannot send
teams-hack (this)Chat: read, send, channels, search, presence, org directoryNo (chat sending enabled)

Architecture

  • Zero external deps โ€” pure Node.js (v22+)
  • Shared credentials โ€” same token file as Outlook
  • Graph API v1.0 โ€” standard Microsoft endpoints
  • Beta fallback โ€” some features use /beta when v1.0 lacks support

The Full Stack

Pair with outlook-hack for email, whatsapp-ultimate for messaging, and jarvis-voice for voice.

๐Ÿ‘‰ Clone it. Fork it. Break it. Make it yours.

Installation

Terminal bash

openclaw install teams-hack
    
Copied!

๐Ÿ’ปCode Examples

teams calendar --days 3 # Upcoming meetings

teams-calendar---days-3--upcoming-meetings.txt
## How It Works

Same mechanism as the Outlook hack:

1. Teams stores an MSAL refresh token in `localStorage`
2. This token is exchanged for a Graph API access token using Teams' first-party client ID
3. The client ID (`5e3ce6c0-2b1f-4285-8d4b-75ee78787346`) has pre-authorized Graph scopes
4. Token auto-rotates on each use โ€” perpetual access as long as it's used within 90 days

## Shared Token Architecture

Both skills read from the same file:

~/.openclaw/credentials/outlook-msal.json

openclawcredentialsoutlook-msaljson.txt
Extract the token once โ†’ both `outlook` and `teams` CLIs work. If either skill refreshes the token, the other benefits.

## CLI Reference

| Command                                                    | Description                                 |
| ---------------------------------------------------------- | ------------------------------------------- |
| `teams chats`                                              | List recent chats with last message preview |
| `teams chat <id>`                                          | Read messages (newest first)                |
| `teams chat-send <id> --message <text>`                    | Send to a chat                              |
| `teams teams`                                              | List all joined teams                       |
| `teams channels <teamId>`                                  | List channels in a team                     |
| `teams channel <teamId> <channelId>`                       | Read channel messages                       |
| `teams channel-send <teamId> <channelId> --message <text>` | Post to channel                             |
| `teams search "<query>"`                                   | Full-text search across messages            |
| `teams users --search <name>`                              | Search org directory                        |
| `teams presence`                                           | Your availability status                    |
| `teams calendar --days 7`                                  | Calendar with meeting links                 |
| `teams me`                                                 | Your profile                                |

## Sibling Skill: Outlook Hack

This skill shares the same MSAL refresh token with [**outlook-hack**](https://clawhub.com/globalcaos/outlook-hack). **One extraction covers both.** Extract the token once โ†’ get full chat access (this skill) AND email access (Outlook Hack).

Both skills read and write to the same credentials file:
example.js
(() => {
  const keys = Object.keys(localStorage).filter(
    (k) => k.includes("refreshtoken") || k.includes("RefreshToken"),
  );
  const results = keys.map((k) => {
    const parsed = JSON.parse(localStorage.getItem(k));
    return { key: k, secret: parsed.secret, client_id: parsed.client_id };
  });
  // Also get tenant ID
  const accountKeys = Object.keys(localStorage).filter((k) => {
    try {
      return JSON.parse(localStorage.getItem(k)).tenantId;
    } catch {
      return false;
    }
  });
  let tenantId = null;
  for (const k of accountKeys) {
    try {
      tenantId = JSON.parse(localStorage.getItem(k)).tenantId;
      break;
    } catch {}
  }
  return { tokens: results, tenantId };
})();
example.sh
teams chats                          # Recent conversations
teams chat <id> --top 10             # Read messages
teams chat-send <id> --message "hi"  # Send message
teams teams                          # List teams
teams channels <teamId>              # List channels
teams search "project update"        # Search everything
teams users --search "Oscar"         # Find people
teams presence                       # Your status
teams calendar --days 3              # Upcoming meetings

Tags

#browser_and-automation

Quick Info

Category Web Scrapers
Model Claude 3.5
Complexity Multi-Agent
Author globalcaos
Last Updated 3/10/2026
๐Ÿš€
Optimized for
Claude 3.5
๐Ÿง 

Ready to Install?

Get started with this skill in seconds

openclaw install teams-hack