Microsoft Teams bot quickstart
Azure app → Bot Framework → HTTPS Gateway → first Teams message
Azure app → Bot Framework → HTTPS Gateway → first Teams message
This is the fast path for Microsoft Teams—Azure Bot, HTTPS messaging endpoint, and tenant install. Tenant policies, manifest packaging, and advanced group rules are in the full Microsoft Teams channel guide. Confirm exact JSON keys in official docs—schemas evolve across releases.
Time: about 30–45 minutes (Azure + HTTPS). Teams requires a public HTTPS messaging endpoint; a home PC alone is not enough unless you add a tunnel (remote access) or a small VPS with TLS.
OpenClaw Bot). Supported account type depends on your tenant (single-tenant is common for internal bots).Store secrets in a vault or env vars—not in git. See secrets configuration.
Without valid HTTPS and a reachable endpoint, Teams cannot deliver messages to your Gateway.
Azure Bot must reach your Gateway over HTTPS on a stable URL. Common patterns:
Slack often uses Socket Mode (outbound from Gateway). Teams is the opposite: Microsoft calls you. Budget time for TLS and firewall rules before debugging OpenClaw config.
During openclaw onboard, enable Microsoft Teams and paste the App ID and client secret when prompted—or merge into ~/.openclaw/openclaw.json. Example shape (keys may differ in your build):
{
"channels": {
"microsoftTeams": {
"appId": "YOUR_APPLICATION_CLIENT_ID",
"appPassword": "YOUR_CLIENT_SECRET",
"allowFrom": ["you@company.com"]
}
}
}
Use allowFrom / group policies so the bot is not open to your entire tenant by accident. Read is OpenClaw safe? before widening access.
The Setup Wizard can generate merge-ready JSON for Teams.
openclaw gateway start
openclaw doctor
doctor should report Teams/Microsoft channel healthy. Use a VPS or reverse proxy with valid TLS; pick a region close to operators and your LLM API (region guide).
hello.openclaw pairing list microsoft-teams then openclaw pairing approve microsoft-teams <code> (pairing guide)—exact channel id may vary; see pairing list output.| Symptom | Likely cause | Fix |
|---|---|---|
| Teams shows bot but no replies | Messaging endpoint wrong or HTTP only | HTTPS public URL; fix reverse proxy; restart Gateway |
| 401 / unauthorized from Microsoft | Expired secret or wrong App ID | Rotate client secret; update config |
| Bot not installable | Tenant app policy | Ask Teams admin; upload to org catalog; check custom-app policies |
| Works in Azure test but not Teams client | Wrong tenant or app not published | Match single- vs multi-tenant registration; complete admin install |
| SSL / certificate errors in Azure | Self-signed cert or expired TLS | Use Let's Encrypt or valid cert on messaging URL |
| Only pairing replies | User not approved | pairing approve |
More detail: Teams guide · troubleshooting