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.
2.0 KiB
2.0 KiB
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
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.