Meet NanoCo, maintainers of NanoClaw: we raised $12M to give every member of your team a professional assistant →
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:

  1. Create an App Registration in Azure AD (single-tenant for your org, multi-tenant for any).
  2. Generate a Client Secret (note the expiry — 180 days by default).
  3. Create an Azure Bot resource pointing at your existing app registration.
  4. Configure the messaging endpoint to https://your-domain/api/webhooks/teams.
  5. Enable the Teams channel on the bot.
  6. 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.Group RSC 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 3000 and 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.