Documentation

n8n-nodes-microsoft-teams-bot

This is an n8n community node package for Microsoft Teams Bot integration. It provides comprehensive bot-powered messaging, Adaptive Card support, and Graph API operations for Microsoft Teams.

The package exposes three nodes:

  • TeamsBot -- an action node for sending messages, managing Adaptive Cards, querying channels, chats, teams, and users.
  • TeamsBotAiTools -- an AI tools output node exposing Teams operations for the n8n AI Agent and MCP Trigger.
  • TeamsBotTrigger -- a trigger node that receives Teams events via Microsoft Graph API change subscriptions.

Installation

Follow the n8n community nodes installation guide.

  1. Open your n8n instance.
  2. Go to Settings > Community Nodes.
  3. Select Install.
  4. Enter n8n-nodes-microsoft-teams-bot in the package name field.
  5. Agree to the risks of using community nodes and select Install.

Operations

TeamsBot (Action Node)

Messages

  • Send a message to a channel or chat
  • Send and wait for a response (with Graph API subscription monitoring)
  • Send or reply with file attachments
  • Reply to an existing message (1:1 chats and channel threads)
  • Reply to a channel thread via Agents SDK thread-scoped conversation IDs
  • @mention team members via searchable dropdown (auto-constructs mention entities)
  • Update or delete a message
  • Soft delete and restore messages
  • List, get, and get all messages
  • List replies and delta queries
  • Pin and unpin messages (chat and channel)
  • Set and unset reactions
  • Analyse reactions and get reaction analytics
  • Export all or retained chat messages
  • Process files and generate thumbnails
  • Monitor upload progress

Adaptive Cards

  • Send an Adaptive Card
  • Send approval cards
  • Send notification cards
  • Update a card (in chat or channel)
  • Process card actions

Card Builder

  • Build Adaptive Cards using a visual builder with templates

Chats

  • Create, get, update, and delete chats
  • Get chat for app
  • Add, get, list, and remove members
  • Remove all access for a user

Channels

  • Get channel by ID or name
  • List all channels for a team

Teams

  • Get team by ID or name
  • List all teams

Users

  • Get user by UPN (User Principal Name)
  • List users

TeamsBotAiTools (AI Tools Output Node)

Exposes Microsoft Teams Bot operations as AI tools for the n8n AI Agent node and MCP Trigger. Each resource produces a single unified tool with an operation enum field.

Resources

Resource Tool Name Operations
Message teamsbot_message send, reply, get, getAll, update, delete
Channel teamsbot_channel get, getAll
Team teamsbot_team get, getAll
User teamsbot_user get, getAll
Chat teamsbot_chat get, create, update, delete
Adaptive Card teamsbot_card send, update

Features

  • Name→GUID resolution: team names, channel names, and user display names/emails are automatically resolved to Microsoft Graph GUIDs. Ambiguous matches return candidates for user disambiguation.
  • Two-tier write safety: operations classified as mutating (send, reply, create, update) or destructive (delete) with independent UI toggles. Read-only by default.
  • Structured response envelopes: consistent JSON responses with schemaVersion, success/error indicators, and nextAction guidance for LLM self-correction.

TeamsBotTrigger (Trigger Node)

Triggers a workflow when messages are posted in Microsoft Teams. Supports the following subscription scopes:

  • Specific Channel -- trigger on messages in a particular Teams channel
  • Specific Chat -- trigger on messages in a particular chat
  • All Chats -- trigger on all chat messages across the tenant (requires additional licensing)
  • All Channels -- trigger on all channel messages across the tenant (requires additional licensing)

The trigger node manages Graph API subscription lifecycle automatically, including creation on workflow activation and removal on deactivation.

Credentials

This node uses a single credential type (Teams Bot API) that requires authentication details for two distinct Microsoft APIs.

Microsoft 365 Agents SDK (required for messaging operations)

All message sending, updating, deleting, and Adaptive Card operations use the Microsoft 365 Agents SDK (formerly Bot Framework). You will need:

Field Description
Bot ID (Microsoft App ID) The Application (Client) ID from your Azure Bot / Agents SDK app registration.
Bot Secret The client secret for the bot app registration.
Service URL The regional Bot Framework service URL for your Teams tenant (e.g. Americas, EMEA, APAC, India).

Microsoft Graph API (required for queries and subscriptions)

Channel, chat, team, and user queries, bot installation, and webhook subscriptions use the Microsoft Graph API with OAuth client credentials. You will need:

Field Description
Azure AD App (Client) ID The Application (Client) ID from your Azure AD app registration.
Tenant ID The Directory (Tenant) ID from the Azure Portal.
Client Secret The client secret for Graph API authentication.

Teams App Configuration

Field Description
Teams App ID The ID from your Teams app manifest (different from the Bot ID). Required for bot installation operations.

Optional: Encryption Certificates

For encrypted Graph API webhook notifications using includeResourceData: true, you can optionally provide:

  • Certificate Thumbprint -- SHA-1 thumbprint of your X.509 certificate.
  • Certificate (PEM Format) -- Your X.509 certificate in PEM format.

Note: If you use a single Azure AD app registration for both the Agents SDK and Graph API (recommended for simpler setup), the Bot ID and Client ID can be the same value, as can the Bot Secret and Client Secret.

Compatibility

  • Minimum n8n version: 1.0.0
  • Node.js: >= 18.0.0
  • Tested with n8n 1.14.x

Resources

Licence

MIT

Discussion