Loading...
Loading...
Interact with Microsoft Teams - send messages, read channels, manage reactions
npx skill4agent add devxoul/agent-messenger agent-teams401 Unauthorized# Always check auth status first
agent-teams auth status
# If expired, re-extract
agent-teams auth extract# Extract credentials from Teams desktop app (zero-config)
agent-teams auth extract
# Get team snapshot
agent-teams snapshot
# Send a message
agent-teams message send <channel-id> "Hello from AI agent!"
# List channels
agent-teams channel list# Just run this - no manual token copying needed
agent-teams auth extract
# Use --debug for troubleshooting
agent-teams auth extract --debug~/.config/agent-messenger/# List all available teams
agent-teams team list
# Switch to a different team
agent-teams team switch <team-id>
# Show current team
agent-teams team current
# Check auth status (includes token expiry info)
agent-teams auth status# Send a message
agent-teams message send <channel-id> <content>
agent-teams message send 19:abc123@thread.tacv2 "Hello world"
# List messages
agent-teams message list <channel-id>
agent-teams message list 19:abc123@thread.tacv2 --limit 50
# Get a single message by ID
agent-teams message get <channel-id> <message-id>
# Delete a message
agent-teams message delete <channel-id> <message-id> --force# List channels in current team
agent-teams channel list
# Get channel info
agent-teams channel info <channel-id>
agent-teams channel info 19:abc123@thread.tacv2
# Get channel history (alias for message list)
agent-teams channel history <channel-id> --limit 100# List all teams
agent-teams team list
# Get team info
agent-teams team info <team-id>
# Switch active team
agent-teams team switch <team-id>
# Show current team
agent-teams team current# List team members
agent-teams user list
# Get user info
agent-teams user info <user-id>
# Get current user
agent-teams user me# Add reaction (use emoji name)
agent-teams reaction add <channel-id> <message-id> <emoji>
agent-teams reaction add 19:abc123@thread.tacv2 1234567890 like
# Remove reaction
agent-teams reaction remove <channel-id> <message-id> <emoji>
# List reactions on a message
agent-teams reaction list <channel-id> <message-id># Upload file
agent-teams file upload <channel-id> <path>
agent-teams file upload 19:abc123@thread.tacv2 ./report.pdf
# List files in channel
agent-teams file list <channel-id>
# Get file info
agent-teams file info <channel-id> <file-id># Full snapshot
agent-teams snapshot
# Filtered snapshots
agent-teams snapshot --channels-only
agent-teams snapshot --users-only
# Limit messages per channel
agent-teams snapshot --limit 10{
"id": "19:abc123@thread.tacv2",
"content": "Hello world",
"author": "John Doe",
"timestamp": "2024-01-15T10:30:00.000Z"
}--prettyagent-teams channel list --pretty| Feature | Teams | Discord | Slack |
|---|---|---|---|
| Server terminology | Team | Guild | Workspace |
| Channel identifiers | UUID format (19:xxx@thread.tacv2) | Snowflake IDs | Channel name or ID |
| Token storage | Cookies SQLite | LevelDB | LevelDB |
| Token expiry | 60-90 minutes | Rarely expires | Rarely expires |
| Mentions | | | |
19:abc123@thread.tacv2channel listreferences/common-patterns.mdtemplates/post-message.shmonitor-channel.shteam-summary.sh{
"error": "Not authenticated. Run \"auth extract\" first."
}Not authenticatedauth extractToken expiredauth extractNo current team setteam switch <id>Message not foundChannel not found401 Unauthorized~/.config/agent-messenger/teams-credentials.json{
"token": "skypetoken_asm_value_here",
"token_extracted_at": "2024-01-15T10:00:00.000Z",
"current_team": "team-uuid-here",
"teams": {
"team-uuid-here": {
"team_id": "team-uuid-here",
"team_name": "My Team"
}
}
}agent-teams: command not foundagent-messengernpx -p agent-messenger agent-teams ...
bunx -p agent-messenger agent-teams ...
pnpm dlx --package agent-messenger agent-teams ...