openclaw-teams-setup
Source: https://github.com/SidU/openclaw-teams-setup
One command to get an OpenClaw-powered AI agent running in Microsoft Teams.
npx openclaw-teams-setup
What it does
Getting an AI agent into Teams today requires about 12 manual steps across Azure Portal, Teams Developer Portal, and the terminal. This tool reduces it to one command.
Prerequisites
- Node.js 18+ (check with
node --version) - An Azure account (free tier is enough)
- OpenClaw or NemoClaw installed (tool can install NemoClaw for you)
Quick start
Run:
npx openclaw-teams-setup
The tool will walk you through everything:
- Detects whether you have OpenClaw or NemoClaw and adapts
- Installs Azure CLI and Dev Tunnels CLI if missing (asks first)
- Opens a browser to sign in to Azure
- Prompts for bot name + resource group name
- Creates Azure bot, sets up tunnel, configures OpenClaw, generates Teams app
At the end you will upload the app to Teams:
- Open Microsoft Teams
- Click Apps
- Click Manage your apps
- Click Upload an app, then Upload a custom app
- Select
~/Desktop/openclaw-teams-app.zip - Click Add
Then find the bot in Teams, and send it a message to test.
Notes
- The bot only works while the tunnel is running.
- After restart, rerun the same command, it will detect existing setup and start the tunnel.
Auto detection paths
- NemoClaw installed: skips straight to Teams setup
- OpenClaw installed (no NemoClaw): offers NemoClaw upgrade, then Teams setup
- Nothing installed: installs NemoClaw + OpenClaw, then Teams setup
What the Teams setup automates
- Azure Bot: app registration, client secret, bot resource (F0), enable Teams channel
- Tunnel: persistent dev tunnel so Teams can reach local agent
- Config: installs
@openclaw/msteamsplugin, writes credentials toopenclaw.json, sets DM policy allowlist - App package: Teams manifest ZIP with icons and RSC permissions
Flow:
Teams → Dev Tunnel → localhost:3978 → OpenClaw gateway (msteams plugin) → LLM
Handy commands
npx openclaw-teams-setup --status # Show current state
npx openclaw-teams-setup --tunnel # Start tunnel explicitly
npx openclaw-teams-setup --teardown # Remove bot, tunnel, config
npx openclaw-teams-setup --reconfigure # Re-run config step
npx openclaw-teams-setup --yes # Non-interactive
Troubleshooting
Bot not responding?
- Make sure the tunnel is running (
npx openclaw-teams-setup) - Check channel status:
openclaw channels status - Check gateway logs:
openclaw channels logs - If logs say "Not allowlisted", DM policy may be blocking you, run
npx openclaw-teams-setup --reconfigure
Tunnel URL changed?
- The tool auto-updates the Azure bot endpoint when you start the tunnel. Just rerun
npx openclaw-teams-setup.
Bot name already taken?
- Azure bot names must be globally unique. Use a more specific name.
Project structure (from README)
openclaw-teams-setup/
├── bin/cli.js
├── lib/
├── templates/
└── test/
License: MIT