add-msft-teamslisted
Install: claude install-skill sliamh11/Deus
# Add Microsoft Teams Channel
> **Status:** Available in-repo as `packages/mcp-teams/` (`@deus-ai/teams-mcp`). The published npm package is not out yet, so the channel factory falls back to the in-repo build at `packages/mcp-teams/dist/index.js` — you build it locally (below).
Microsoft Teams is the chat-channel analog of Slack: a bot identity receives
messages and posts replies. Unlike Slack's Socket Mode, the Teams bot uses the
**Azure Bot Service (Bot Framework)**, which delivers activities to a **public
HTTPS messaging endpoint**. The channel runs its own HTTP server on `TEAMS_PORT`
(default 3978) serving `/api/messages`; you must expose that port via a
**dedicated public tunnel** (see below) — Deus's existing ingress tunnel forwards
only the gateway port and does **not** cover `TEAMS_PORT`.
## Phase 1: Setup
### Register the Azure app + bot (if needed)
If the user doesn't have an Azure Bot, walk them through it. Quick summary of
what's needed:
1. In the [Azure Portal](https://portal.azure.com) → **Microsoft Entra ID** →
**App registrations** → **New registration**. Copy the **Application (client)
ID** and **Directory (tenant) ID**.
2. **Certificates & secrets** → **New client secret** → copy the secret **value**
(shown once).
3. Start a dedicated tunnel to the Teams port (any HTTPS tunnel works):
```bash
ngrok http 3978 # → forwards a public https URL to http://localhost:3978
```
4. Create an **Azure Bot** resource (Azure Bot Service). Link it