Skills
Messaging Official
Microsoft Teams
Add Microsoft Teams as a messaging channel. Works in team channels, group chats, and DMs via Azure Bot Service.
What it does
- Connects NanoClaw to Microsoft Teams via Azure Bot Service
- Works in team channels, group chats, and personal DMs
- Threaded replies in channels, flat messaging in DMs
- @-mention triggers, with optional channel-wide message capture
- Single-tenant or multi-tenant Azure AD app registration
What you'll need
- NanoClaw installed and running
- An Azure subscription with App registration access
- Microsoft 365 Business or developer tenant (for Teams app sideload)
- A publicly reachable HTTPS endpoint for the bot webhook
Install
/add-teams How it works
The /add-teams skill connects NanoClaw to Microsoft Teams via Azure Bot Service. The Bot Framework receives Teams events at a webhook NanoClaw exposes (default port 3000), and the agent replies through the same channel.
This is the most involved channel integration. Microsoft requires three Azure resources in sequence — an App Registration, a Client Secret, and an Azure Bot — plus a Teams app manifest you sideload into your tenant.
Setup
The skill copies the Teams adapter from the channels branch and walks you through the Azure side step by step:
- Create an App Registration in Azure AD (single-tenant for your org, multi-tenant for any).
- Generate a Client Secret (note the expiry — 180 days by default).
- Create an Azure Bot resource pointing at your existing app registration.
- Configure the messaging endpoint to
https://your-domain/api/webhooks/teams. - Enable the Teams channel on the bot.
- Build a Teams app manifest with the bot ID and icons, zip it, and sideload it via Teams admin.
The skill provides both portal click-paths and az CLI commands for each step.
What you get
- Personal scope — direct messages with the bot work as 1:1 conversations.
- Group scope — the bot can be added to group chats.
- Team scope — the bot can be installed in channels, with threaded replies as native conversations.
- @-mention triggers by default. Add the
ChannelMessage.Read.GroupRSC permission to receive every message in a channel without an @-mention. - Webhook server shared with other webhook-based adapters on a single port.
Tips
- Free personal Teams accounts cannot sideload custom apps. You need a Microsoft 365 Business or developer tenant.
- For local development without a public URL, run
ngrok http 3000and point the bot’s messaging endpoint at the ngrok URL. - Teams platform IDs are auto-generated base64 blobs — let NanoClaw create the messaging group from the first inbound message rather than constructing IDs by hand.
- DMs can share an agent group with your other channels for unified personal memory; team channels usually warrant their own agent group per team.
- Client Secret rotation is a thing — set a calendar reminder for the expiry date you chose.