Back to Integrations
integrationMicrosoft Teams node
integrationSlack node

Microsoft Teams and Slack integration

Save yourself the work of writing custom integrations for Microsoft Teams and Slack and use n8n instead. Build adaptable and scalable Communication, and HITL workflows that work with your technology stack. All within a building experience you will love.

How to connect Microsoft Teams and Slack

  • Step 1: Create a new workflow
  • Step 2: Add and configure nodes
  • Step 3: Connect
  • Step 4: Customize and extend your integration
  • Step 5: Test and activate your workflow

Step 1: Create a new workflow and add the first step

In n8n, click the "Add workflow" button in the Workflows tab to create a new workflow. Add the starting point – a trigger on when your workflow should run: an app event, a schedule, a webhook call, another workflow, an AI chat, or a manual trigger. Sometimes, the HTTP Request node might already serve as your starting point.

Microsoft Teams and Slack integration: Create a new workflow and add the first step

Step 2: Add and configure Microsoft Teams and Slack nodes

You can find Microsoft Teams and Slack in the nodes panel. Drag them onto your workflow canvas, selecting their actions. Click each node, choose a credential, and authenticate to grant n8n access. Configure Microsoft Teams and Slack nodes one by one: input data on the left, parameters in the middle, and output data on the right.

Microsoft Teams and Slack integration: Add and configure Microsoft Teams and Slack nodes

Step 3: Connect Microsoft Teams and Slack

A connection establishes a link between Microsoft Teams and Slack (or vice versa) to route data through the workflow. Data flows from the output of one node to the input of another. You can have single or multiple connections for each node.

Microsoft Teams and Slack integration: Connect Microsoft Teams and Slack

Step 4: Customize and extend your Microsoft Teams and Slack integration

Use n8n's core nodes such as If, Split Out, Merge, and others to transform and manipulate data. Write custom JavaScript or Python in the Code node and run it as a step in your workflow. Connect Microsoft Teams and Slack with any of n8n’s 1000+ integrations, and incorporate advanced AI logic into your workflows.

Microsoft Teams and Slack integration: Customize and extend your Microsoft Teams and Slack integration

Step 5: Test and activate your Microsoft Teams and Slack workflow

Save and run the workflow to see if everything works as expected. Based on your configuration, data should flow from Microsoft Teams to Slack or vice versa. Easily debug your workflow: you can check past executions to isolate and fix the mistake. Once you've tested everything, make sure to save your workflow and activate it.

Microsoft Teams and Slack integration: Test and activate your Microsoft Teams and Slack workflow

Analyze Google Ads search terms with AI and send wastage alerts

Who Is This For?
This workflow is designed for Google Ads advertisers, PPC managers, and marketing teams who want to automatically monitor and optimize their search term performance. It's particularly valuable for those running brand campaigns who need to identify and eliminate wasteful ad spend on non-brand keywords.

What This Workflow Does
This workflow functions as an automated Google Ads performance monitoring and optimization system that:
Fetches search term data from active Google Ads campaigns daily
Filters out brand terms and excluded search terms automatically
Analyzes performance metrics using AI to identify wasteful keywords
Generates optimization recommendations for negative keyword lists
Sends detailed reports through multiple communication platforms
Calculates ad wastage in USD for better budget management

Key Features
Automated Daily Monitoring** – Runs every day at 8 AM to check campaign performance
AI-Powered Analysis** – Uses multiple AI models (DeepSeek, OpenAI, xAI, Anthropic) for intelligent keyword categorization
Performance Metrics Calculation** – Automatically calculates CTR, CPC, conversions, and ad wastage
Multi-Channel Reporting** – Sends reports to Slack, Microsoft Teams, WhatsApp, and Discord
Smart Filtering** – Automatically excludes brand terms and excluded search terms
Cost Analysis** – Calculates total ad wastage in USD for budget optimization
14-Day Data Window** – Analyzes search terms from the past 14 days for comprehensive insights

Requirements & Setup
Google Ads API**: Required for fetching campaign and search term data
AI Model APIs**: DeepSeek, OpenAI, xAI, or Anthropic for keyword analysis
Communication APIs**: Slack, Microsoft Teams, WhatsApp (Rapiwa), Discord for report distribution
Scheduled Trigger**: Configured to run daily at 8 AM
Google Ads Manager and Client IDs**: For accessing specific campaign data

How It Works
Data Collection: Fetches active campaigns and extracts search term data from the past 14 days
Data Processing: Cleans and aggregates metrics by search term, campaign, and ad group
AI Analysis: Uses AI to categorize keywords into wasteful (zero conversions) and review-worthy (has conversions)
Report Generation: Creates structured reports with recommendations and cost analysis
Multi-Platform Distribution: Sends formatted reports to all configured communication channels

Support & Help
WhatsApp**: Chat on WhatsApp
Discord**: SpaGreen Community
Facebook Group**: SpaGreen Support
Website**: https://spagreen.net
Developer Portfolio**: Codecanyon SpaGreen

Nodes used in this workflow

Popular Microsoft Teams and Slack workflows

+8

Analyze Google Ads search terms with AI and send wastage alerts

Who Is This For? This workflow is designed for Google Ads advertisers, PPC managers, and marketing teams who want to automatically monitor and optimize their search term performance. It's particularly valuable for those running brand campaigns who need to identify and eliminate wasteful ad spend on non-brand keywords. What This Workflow Does This workflow functions as an automated Google Ads performance monitoring and optimization system that: Fetches search term data from active Google Ads campaigns daily Filters out brand terms and excluded search terms automatically Analyzes performance metrics using AI to identify wasteful keywords Generates optimization recommendations for negative keyword lists Sends detailed reports through multiple communication platforms Calculates ad wastage in USD for better budget management Key Features Automated Daily Monitoring** – Runs every day at 8 AM to check campaign performance AI-Powered Analysis** – Uses multiple AI models (DeepSeek, OpenAI, xAI, Anthropic) for intelligent keyword categorization Performance Metrics Calculation** – Automatically calculates CTR, CPC, conversions, and ad wastage Multi-Channel Reporting** – Sends reports to Slack, Microsoft Teams, WhatsApp, and Discord Smart Filtering** – Automatically excludes brand terms and excluded search terms Cost Analysis** – Calculates total ad wastage in USD for budget optimization 14-Day Data Window** – Analyzes search terms from the past 14 days for comprehensive insights Requirements & Setup Google Ads API**: Required for fetching campaign and search term data AI Model APIs**: DeepSeek, OpenAI, xAI, or Anthropic for keyword analysis Communication APIs**: Slack, Microsoft Teams, WhatsApp (Rapiwa), Discord for report distribution Scheduled Trigger**: Configured to run daily at 8 AM Google Ads Manager and Client IDs**: For accessing specific campaign data How It Works Data Collection: Fetches active campaigns and extracts search term data from the past 14 days Data Processing: Cleans and aggregates metrics by search term, campaign, and ad group AI Analysis: Uses AI to categorize keywords into wasteful (zero conversions) and review-worthy (has conversions) Report Generation: Creates structured reports with recommendations and cost analysis Multi-Platform Distribution: Sends formatted reports to all configured communication channels Support & Help WhatsApp**: Chat on WhatsApp Discord**: SpaGreen Community Facebook Group**: SpaGreen Support Website**: https://spagreen.net Developer Portfolio**: Codecanyon SpaGreen

Sync your HRIS employee directory with Microsoft Teams, Coda, and Slack

Employee Directory Sync – Microsoft Teams & Coda ⚠️ COMMUNITY TEMPLATE DISCLAIMER: This is a community-contributed template that uses ScrapeGraphAI (a community node). Please ensure you have the ScrapeGraphAI community node installed in your n8n instance before using this template. This workflow keeps your employee directory perfectly synchronized across your HRIS (or any REST-compatible HR database), Microsoft Teams, Coda docs, and Slack channels. It automatically polls the HR system on a schedule, detects additions or updates, and propagates those changes to downstream tools so everyone always has the latest employee information. Pre-conditions/Requirements Prerequisites An active n8n instance (self-hosted or n8n cloud) ScrapeGraphAI community node installed A reachable HRIS API (BambooHR, Workday, Personio, or any custom REST endpoint) Existing Microsoft Teams workspace and a team/channel for announcements A Coda account with an employee directory table A Slack workspace and channel where directory updates will be posted Required Credentials Microsoft Teams OAuth2** – To post adaptive cards or messages Coda API Token** – To insert/update rows in your Coda doc Slack OAuth2** – To push notifications into a Slack channel HTTP Basic / Bearer Token** – For your HRIS REST endpoint ScrapeGraphAI API Key** – (Only required if you scrape public profile data) HRIS Field Mapping | HRIS Field | Coda Column | Teams/Slack Field | |------------|-------------|-------------------| | firstName| First Name| First Name | | lastName | Last Name | Last Name | | email | Email | Email | | title | Job Title | Job Title | | department| Department| Department | (Adjust the mapping in the Set and Code nodes as needed.) How it works This workflow keeps your employee directory perfectly synchronized across your HRIS (or any REST-compatible HR database), Microsoft Teams, Coda docs, and Slack channels. It automatically polls the HR system on a schedule, detects additions or updates, and propagates those changes to downstream tools so everyone always has the latest employee information. Key Steps: Schedule Trigger**: Fires daily (or at your chosen interval) to start the sync routine. HTTP Request**: Fetches the full list of employees from your HRIS API. Code (Delta Detector)**: Compares fetched data with a cached snapshot to identify new hires, departures, or updates. IF Node**: Branches based on whether changes were detected. Split In Batches**: Processes employees in manageable sets to respect API rate limits. Set Node**: Maps HRIS fields to Coda columns and Teams/Slack message fields. Coda Node**: Upserts rows in the employee directory table. Microsoft Teams Node**: Posts an adaptive card summarizing changes to a selected channel. Slack Node**: Sends a formatted message with the same update. Sticky Note**: Provides inline documentation within the workflow for maintainers. Set up steps Setup Time: 10-15 minutes Import the workflow into your n8n instance. Open Credentials tab and create: Microsoft Teams OAuth2 credential. Coda API credential. Slack OAuth2 credential. HRIS HTTP credential (Basic or Bearer). Configure the HRIS HTTP Request node Replace the placeholder URL with your HRIS endpoint (e.g., https://api.yourhr.com/v1/employees). Add query parameters or headers as required by your HRIS. Map Coda Doc & Table IDs in the Coda node. Select Teams & Slack channels in their respective nodes. Adjust the Schedule Trigger to your desired frequency. Optional: Edit the Code node to tweak field mapping or add custom delta-comparison logic. Execute the workflow manually once to verify proper end-to-end operation. Activate the workflow. Node Descriptions Core Workflow Nodes: Schedule Trigger** – Initiates the sync routine at set intervals. HTTP Request (Get Employees)** – Pulls the latest employee list from the HRIS. Code (Delta Detector)** – Stores the previous run’s data in workflow static data and identifies changes. IF (Has Changes?)** – Skips downstream steps when no changes were detected, saving resources. Split In Batches** – Iterates through employees in chunks (default 50) to avoid API throttling. Set (Field Mapper)** – Renames and restructures data for Coda, Teams, and Slack. Coda (Upsert Rows)** – Inserts new rows or updates existing ones based on email match. Microsoft Teams (Post Message)** – Sends a rich adaptive card with the update summary. Slack (Post Message)** – Delivers a concise change log to a Slack channel. Sticky Note** – Embedded documentation for quick reference. Data Flow: Schedule Trigger → HTTP Request → Code (Delta Detector) Code → IF (Has Changes?) If No → End If Yes → Split In Batches → Set → Coda → Teams → Slack Customization Examples Change Sync Frequency // Inside Schedule Trigger { "mode": "everyDay", "hour": 6, "minute": 0 } Extend Field Mapping // Inside Set node items[0].json.phone = item.phoneNumber ?? ''; items[0].json.location = item.officeLocation ?? ''; return items; Data Output Format The workflow outputs structured JSON data: { "employee": { "id": "123", "firstName": "Jane", "lastName": "Doe", "email": "[email protected]", "title": "Senior Engineer", "department": "R&D", "status": "New Hire", "syncedAt": "2024-05-08T10:15:23.000Z" }, "destination": { "codaRowId": "row_abc123", "teamsMessageId": "msg_987654", "slackTs": "1715158523.000200" } } Troubleshooting Common Issues HTTP 401 from HRIS API – Verify token validity and that the credential is attached to the HTTP Request node. Coda duplicates rows – Ensure the key column in Coda is set to “Email” and the Upsert option is enabled. Performance Tips Cache HRIS responses in static data to minimize API calls. Increase the Split In Batches size only if your API rate limits allow. Pro Tips: Use n8n’s built-in Version Control to track mapping changes over time. Add a second IF node to differentiate between “new hires” and “updates” for tailored announcements. Enable Slack’s “threaded replies” to keep your #hr-updates channel tidy.
+4

Aggregate & Update Documentation from Slack, Teams & GitHub with Claude Sonnet 4.5

How It Works Aggregates communication data from Slack, Microsoft Teams, Gmail, GitHub, and Confluence into a single, unified AI-powered analysis workflow designed for quality review and automated documentation updates. This solution is specifically aimed at teams managing distributed content and knowledge workflows across multiple platforms. It addresses the challenges of fragmented communication and isolated information silos that often prevent rapid content review and timely decision-making. The workflow begins with a scheduled trigger, followed by multi-source data collection, merging and normalizing inputs, Claude AI-powered analysis, validation and quality checks, formatting, and finally publishing updates to Notion and Confluence, accompanied by Slack notifications to ensure stakeholders are promptly informed. Setup Steps -Connect credentials: Slack API, Teams, Gmail OAuth, GitHub PAT. -Confluence API, Anthropic API key, Notion Integration. -Configure monitored channels/repositories. -Set schedule frequency. -Map output destinations (Notion/Confluence). -Test merged output before enabling automation. Prerequisites Slack workspace, Teams account, Gmail access, GitHub repository, Confluence space, Anthropic API key, Notion workspace, n8n instance. Use Cases Content review teams processing feedback, documentation teams aggregating updates, QA teams reviewing communications Customization Add/remove source nodes, adjust Claude prompts for analysis type, modify output destinations Benefits Saves 6+ hours weekly, eliminates missed content, AI-driven quality assurance
+2

Automate Sales Follow-Ups with GPT-4o-mini, HubSpot, Slack, Teams & Telegram

How it works This workflow automatically generates personalized follow-up messages for leads or customers after key interactions (e.g., demos, sales calls). It enriches contact details from HubSpot (or optionally Monday.com), uses AI to draft a professional follow-up email, and distributes it across multiple communication channels (Slack, Telegram, Teams) as reminders for the sales team. Step-by-step Trigger & Input Schedule Trigger – Runs automatically at a defined interval (e.g., daily). Set Sample Data – Captures the contact’s name, email, and context from the last interaction (e.g., “had a product demo yesterday and showed strong interest”). Contact Enrichment HubSpot Contact Lookup – Searches HubSpot CRM by email to confirm or enrich contact details. Monday.com Contact Fetch (Optional) – Can pull additional CRM details if enabled. AI Message Generation AI Language Model (OpenAI) – Provides the underlying engine for message creation. Generate Follow-Up Message – Drafts a short, professional, and friendly follow-up email: References previous interaction context. Suggests clear next steps (call, resources, etc.). Ends with a standardized signature block for consistency. Multi-Channel Communication Slack Reminder – Posts the generated message as a reminder in the sales team’s Slack channel. Telegram Reminder – Sends the follow-up draft to a Telegram chat. Teams Reminder – Shares the same message in a Microsoft Teams channel. Benefits Personalized Outreach at Scale – AI ensures each follow-up feels tailored and professional. Context-Aware Messaging – Pulls in CRM details and past interactions for relevance. Cross-Platform Delivery – Distributes reminders via Slack, Teams, and Telegram so no follow-up is missed. Time-Saving for Sales Teams – Eliminates manual drafting of repetitive follow-up emails. Consistent Branding – Ensures every message includes a unified signature block.

Automate Daily Signup Stats from PostgreSQL to Slack, Teams & Telegram

How it works This workflow automatically pulls daily signup stats from your PostgreSQL database and shares them with your team across multiple channels. Every morning, it counts the number of new signups in the last 24 hours, formats the results into a concise report, and posts it to Slack, Microsoft Teams, and Telegram. This ensures your entire team stays updated on customer growth without manual queries or reporting. Step-by-step Daily Trigger & Data Fetching The Daily Report Trigger runs at 9:00 AM each day. The Fetch Signup Count node queries the customers table in PostgreSQL. It calculates the number of new signups in the last 24 hours using the created_at timestamp column. Report Preparation The Prepare Report Message node formats the results into a structured message: Report date Signup count A clear summary line: Daily Signup Report – New signups in the last 24h: X Multi-Channel Delivery The prepared message is sent to multiple platforms simultaneously: Slack Microsoft Teams Telegram This ensures all teams receive the update in their preferred communication tool. Why use this? Automates daily customer growth reporting. Eliminates manual SQL queries and report sharing. Keeps the whole team aligned with real-time growth metrics. Delivers updates across Slack, Teams, and Telegram at once. Provides simple, consistent reporting every day.

Build your own Microsoft Teams and Slack integration

Create custom Microsoft Teams and Slack workflows by choosing triggers and actions. Nodes come with global operations and settings, as well as app-specific parameters that can be configured. You can also use the HTTP Request node to query data from any app or service with a REST API.

Microsoft Teams supported actions

Create
Create a channel
Delete
Delete a channel
Get
Get a channel
Get Many
Get many channels
Update
Update a channel
Create
Create a message in a channel
Get Many
Get many messages from a channel
Create
Create a message in a chat
Get
Get a message from a chat
Get Many
Get many messages from a chat
Send and Wait for Response
Send a message and wait for response
Create
Create a task
Delete
Delete a task
Get
Get a task
Get Many
Get many tasks
Update
Update a task

Slack supported actions

Archive
Archives a conversation
Close
Closes a direct message or multi-person direct message
Create
Initiates a public or private channel-based conversation
Get
Get information about a channel
Get Many
Get many channels in a Slack team
History
Get a conversation's history of messages and events
Invite
Invite a user to a channel
Join
Joins an existing conversation
Kick
Removes a user from a channel
Leave
Leaves a conversation
Member
List members of a conversation
Open
Opens or resumes a direct message or multi-person direct message
Rename
Renames a conversation
Replies
Get a thread of messages posted to a channel
Set Purpose
Sets the purpose for a conversation
Set Topic
Sets the topic for a conversation
Unarchive
Unarchives a conversation
Get
Get Many
Get & filters team files
Upload
Create or upload an existing file
Delete
Get Permalink
Search
Send
Send and Wait for Response
Update
Add
Adds a reaction to a message
Get
Get the reactions of a message
Remove
Remove a reaction of a message
Add
Add a star to an item
Delete
Delete a star from an item
Get Many
Get many stars of autenticated user
Get
Get information about a user
Get Many
Get a list of many users
Get User's Profile
Get a user's profile
Get User's Status
Get online status of a user
Update User's Profile
Update a user's profile
Add Users
Create
Disable
Enable
Get Many
Get Users
Update

FAQs

  • Can Microsoft Teams connect with Slack?

  • Can I use Microsoft Teams’s API with n8n?

  • Can I use Slack’s API with n8n?

  • Is n8n secure for integrating Microsoft Teams and Slack?

  • How to get started with Microsoft Teams and Slack integration in n8n.io?

Need help setting up your Microsoft Teams and Slack integration?

Discover our latest community's recommendations and join the discussions about Microsoft Teams and Slack integration.
Nicolas N
Muhammed Iqbal P B
Nicolas N

Looking to integrate Microsoft Teams and Slack in your company?

Over 3000 companies switch to n8n every single week

Why use n8n to integrate Microsoft Teams with Slack

Build complex workflows, really fast

Build complex workflows, really fast

Handle branching, merging and iteration easily.
Pause your workflow to wait for external events.

Code when you need it, UI when you don't

Simple debugging

Your data is displayed alongside your settings, making edge cases easy to track down.

Use templates to get started fast

Use 1000+ workflow templates available from our core team and our community.

Reuse your work

Copy and paste, easily import and export workflows.

Implement complex processes faster with n8n

red iconyellow iconred iconyellow icon