Pipedream Microsoft Teams steps in n8n
Updated 2026-10-21 · 3 min read · n8n: Microsoft Teams (Native n8n node)
Microsoft Teams in Pipedream is mostly an output: post an alert into a channel or a chat. Some workflows also listen for new channel messages. n8n has a native Microsoft Teams node and a Microsoft Teams Trigger; the two send actions convert automatically.
The n8n side
Microsoft Teams node (n8n-nodes-base.microsoftTeams, v2):
| Resource | Operations |
|---|---|
| Channel | Create, Delete, Get, Get Many, Update |
| Channel Message | Create, Delete, Get, Get Many, Get Many Replies, Reply, Undo Delete |
| Chat | Create, Get, Get Many |
| Chat Member | Add, Get Many, Remove |
| Chat Message | Create, Delete, Get, Get Many, Send and Wait for Response, Undo Delete |
| Online Meeting | Create, Create or Get, Delete, Get, Update |
| Task (Planner) | Create, Delete, Get, Get Many, Update |
| Activity Notification | Send |
Microsoft Teams Trigger: New Channel, New Channel Message, New Chat, New Chat Message, New Team Member. Each event subscribes to a Microsoft Graph resource.
What maps where
Pipedream (app microsoft_teams) |
In n8n | Status |
|---|---|---|
| Send Channel Message | HTTP Request POST /teams/{team}/channels/{channel}/messages (text or HTML) |
automatic |
| Send Chat Message | HTTP Request POST /chats/{chat}/messages |
automatic |
| Create Channel | Channel → Create | manual |
| List Channels, List Chats, List Channel Messages | Channel → Get Many, Chat → Get Many, Channel Message → Get Many | manual |
| Get Chat Message | Chat Message → Get | manual |
| New Channel Message, New Chat Message, New Channel, New Chat, New Team Member | Microsoft Teams Trigger, same event | manual |
| New Team | Schedule Trigger + HTTP Request (/me/joinedTeams) |
manual |
The converted send steps keep the team, channel and chat IDs from Pipedream and the content type, so the message lands in the same place.
Credentials
n8n offers three ways to connect:
- Teams OAuth2 (default) – on n8n Cloud, "Connect my account" is enough.
- Microsoft OAuth2 (Graph) – a generic Graph credential with the scopes you set.
- Service Principal (App-Only) – no chat resources, no chat trigger events, no watch-all trigger options, and no Channel Message Create, Reply, Delete or Undo Delete. Not suitable for posting alerts.
Self-hosted setup: register an app in Microsoft Entra (multi-tenant plus personal accounts if needed), platform Web with n8n's redirect URL, add offline_access, copy the client ID and secret into n8n. Permissions like ChannelMessage.Read.All and TeamMember.Read.All need admin consent; the New Team Member event also needs Custom Scopes with TeamMember.Read.All. After n8n upgrades that add scopes, reconnect the credential.
Typical migration: incident alert to a channel
Pipedream: HTTP trigger (monitoring webhook) → Send Channel Message.
n8n after conversion: Webhook → Code (trigger) → HTTP Request (Graph). Create the Teams OAuth2 credential, change the webhook URL in the monitoring tool.
Pitfalls
- Subscription lifetime. Graph subscriptions on Teams chat and channel messages expire after at most 3 days (4,320 minutes) and need renewal. The n8n trigger manages its subscription; a code step that created its own subscription on Pipedream must be retired.
- Admin consent is the usual blocker; get it before the switch date.
- Message format. HTML content needs
contentType: html. Adaptive Cards need an attachment structure, not plain text. - Online meetings with app-only auth need a Teams application access policy, which can take up to 30 minutes to apply.
How to move your Teams workflows
- Export the workflows from Pipedream.
- Upload on /convert; the free report shows which Teams steps are automatic and the scopes to grant.
- Download the n8n JSON: 1 workflow is free; full export: $3 per workflow, $19 minimum — coming soon.
Background: Pipedream to n8n guide. Graph SDK code can be checked in the code step checker. Related: Microsoft Outlook, Slack, Jira.
FAQ
- Which Teams actions convert automatically?
- Send Channel Message and Send Chat Message. They become HTTP Request nodes that call Microsoft Graph with your n8n Microsoft Teams OAuth2 credential.
- Is there a Teams trigger in n8n?
- Yes. The Microsoft Teams Trigger fires on New Channel, New Channel Message, New Chat, New Chat Message and New Team Member.
- Why does the trigger need admin consent?
- Reading channel messages and team members uses Graph permissions such as ChannelMessage.Read.All and TeamMember.Read.All, which require an admin to consent in Microsoft Entra.
- Can I use app-only (service principal) auth?
- Yes, with a Microsoft Entra service principal credential, but then chats, chat members, chat messages and chat trigger events are not available, and channel messages cannot be created, replied to or deleted (Graph allows app-only channel posts only for migration imports). For channel alerts, use delegated OAuth2.
Related
Sources
- https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.microsoftteams/
- https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.microsoftteamstrigger/
- https://docs.n8n.io/integrations/builtin/credentials/microsoft/
- https://docs.n8n.io/integrations/builtin/credentials/microsoftentraserviceprincipal/
- https://pipedream.com/apps/microsoft-teams
- https://learn.microsoft.com/en-us/graph/api/resources/subscription?view=graph-rest-1.0