Package Information
Available Nodes
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.
- Open your n8n instance.
- Go to Settings > Community Nodes.
- Select Install.
- Enter
n8n-nodes-microsoft-teams-botin the package name field. - 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, andnextActionguidance 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
- n8n Community Nodes Documentation
- Microsoft Graph API Documentation
- Microsoft 365 Agents SDK Documentation
- Azure Bot Service Registration
- Teams Change Notifications Overview
- Adaptive Cards Documentation