forked from Selig/openclaw-skill
6 custom skills (assign-task, dispatch-webhook, daily-briefing, task-capture, qmd-brain, tts-voice) with technical documentation. Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
70 lines
2.0 KiB
Markdown
70 lines
2.0 KiB
Markdown
# Microsoft Teams Plugin
|
|
|
|
## Overview
|
|
|
|
The Microsoft Teams integration for OpenClaw operates as a plugin (not included in core), enabling bot conversations via Teams DMs, group chats, and channels. This setup involves Azure Bot registration, Teams app manifest creation, and webhook configuration.
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
openclaw plugins install @openclaw/msteams
|
|
```
|
|
|
|
Configuration is stored in `~/.openclaw/openclaw.json`.
|
|
|
|
## Key Setup Requirements
|
|
|
|
### Essential Credentials
|
|
|
|
- App ID and client secret from Azure Bot registration
|
|
- Tenant ID (single-tenant recommended)
|
|
- Webhook exposure via public URL or tunnel (port 3978 default)
|
|
|
|
## Access Control Defaults
|
|
|
|
- **DMs**: Use a "pairing" policy by default, requiring approval for unknown senders
|
|
- **Group chats and channels**: Default to "allowlist" mode - blocked unless explicitly configured
|
|
|
|
Configuration options support both user IDs and display names.
|
|
|
|
## Technical Capabilities
|
|
|
|
### What Works Without Graph API
|
|
|
|
- Real-time text messaging via webhook
|
|
- Personal DM file attachments
|
|
- Channel message receiving (RSC permissions only)
|
|
|
|
### What Requires Microsoft Graph Permissions
|
|
|
|
- Channel/group image and file downloads
|
|
- Message history retrieval
|
|
- Per-user file sharing links
|
|
|
|
## Limitations
|
|
|
|
- Teams markdown support is more limited than Slack or Discord
|
|
- Complex formatting may render incorrectly
|
|
- Webhook timeouts can cause duplicate processing if LLM responses exceed Teams' timeout threshold
|
|
- Private channels have inconsistent bot support across Microsoft's infrastructure
|
|
|
|
## File Sharing Architecture
|
|
|
|
### DMs
|
|
|
|
Use the built-in FileConsentCard flow.
|
|
|
|
### Group Chats and Channels
|
|
|
|
Require SharePoint site integration with Graph API permissions (`Sites.ReadWrite.All`). Files upload to `/OpenClawShared/` within the configured SharePoint site.
|
|
|
|
## Configuration Flexibility
|
|
|
|
The system supports per-team and per-channel overrides for:
|
|
|
|
- Reply style
|
|
- Mention requirements
|
|
- Tool policies
|
|
|
|
Reply style configuration addresses Teams' dual UI paradigms (Posts vs. Threads), with "thread" as the default setting.
|