Introduction
As more organizations are making the switch from Slack to Microsoft Teams, one of the biggest hurdles they face is moving app integrations like Jenkins, TeamCity, and even custom-built applications. Unlike simply transferring chat history, migrating these tools means reconfiguring notifications, rebuilding bots, and adjusting workflows to fit into the Teams environment.
Microsoft Teams is part of the Microsoft 365 suite, which makes it an appealing choice for companies already using Microsoft products like SharePoint, OneDrive, Outlook, and Azure AD. This close integration helps teams collaborate better, manage their workflows smoothly, and create a more centralized work environment.
One of the notable benefits of Teams over Slack is its ability to support enterprise applications directly.
For instance:
- Salesforce users can link Teams to their CRM, allowing for real-time collaboration on deals and customer information.
- Similarly, developers who use GitHub or Jenkins can receive automated build notifications right in their Teams channels.
- Power Automate can replace custom Slack workflows by automating repetitive tasks without needing to write complex code.
- Azure AD integration enhances security for user authentication and access management.
- Teams also integrates seamlessly with Outlook, making it easy to schedule and join meetings without switching apps.
Since Teams and Slack have different structures, moving apps isn’t merely about shifting settings; it often requires rethinking how these tools interact. Instead of directly transferring Slack integrations, you’ll need to find equivalent solutions in Teams, whether they’re through native integrations, webhooks, Power Automate, or the Microsoft Bot Framework.
In this blog, we’ll guide you through the process of transitioning your Slack apps to Teams while ensuring everything continues running smoothly.

1. Understanding the Differences Between Slack and Microsoft Teams
Slack and Teams both support app integrations, but they work differently under the hood:
- Slack Apps use bot users, slash commands, and webhooks for automation and notifications.
- Microsoft Teams Apps rely on bots (Microsoft Bot Framework), connectors, Power Automate, and Teams message extensions.
- Slack Webhooks vs. Teams Connectors: Slack uses Incoming Webhooks to send messages, while Teams uses Connectors.
Since they have different architectures, there’s no direct migration tool. Instead, you’ll need to set up similar functionality in Teams.
2. How to Move Slack Apps to Microsoft Teams
a) Replacing Slack Bots with Microsoft Teams Bots
Many organizations use Slack bots for notifications, automation, and responding to user queries. In Teams, bots operate through the Microsoft Bot Framework, which allows for more advanced AI-driven responses and deeper integration with Microsoft 365 services.
Instead of migrating Slack bots as-is, developers will need to rebuild them using the Bot Framework. This can be done using Python, Node.js, or .NET, and the bot can be deployed via Azure Bot Service. Once configured, the bot can interact with Teams users in group chats or private messages.
For basic use cases, Power Virtual Agents can replace simpler Slack bots, allowing business users to create chatbot experiences without coding.
b) Moving Jenkins and TeamCity Notifications
Slack is often used for build and deployment notifications from Jenkins and TeamCity. In Teams, the same functionality can be achieved through Incoming Webhooks, Connectors, or Power Automate.
Instead of configuring Slack webhooks, Jenkins and TeamCity can be set up to send notifications directly to Teams channels using Microsoft Connectors. If additional customization is needed, Power Automate can process build events and trigger workflows such as approvals or issue tracking updates in Azure DevOps.
c) Integrating Salesforce with Microsoft Teams
Slack’s Salesforce integration allows sales teams to access customer records and collaborate on deals. Microsoft Teams offers a Salesforce integration via the Microsoft App Store, which enables users to search, share, and update Salesforce records within Teams conversations.
To maintain similar functionality:
- Teams users can pin Salesforce reports and dashboards as Teams Tabs.
- Power Automate can be used to sync Salesforce events, tasks, and deal updates with Teams notifications.
- The Salesforce for Teams app enables direct CRM access within Teams without switching platforms.
d) GitHub and Teams Integration
Slack users often receive GitHub notifications about new commits, pull requests, and issue updates. Microsoft Teams provides similar functionality through the GitHub for Teams app, which enables:
- Automated notifications in Teams when new commits, issues, or PRs are created.
- Commands to create and manage GitHub issues directly from a Teams chat.
- Integration with Power Automate to trigger workflows based on GitHub actions.
Instead of manually configuring webhooks, the GitHub app for Teams simplifies the process and enhances collaboration between developers.
e) Migrating Custom Slack Apps to Teams
For businesses with custom-built Slack apps, migrating to Teams often means rebuilding the functionality using Microsoft’s ecosystem. The first step is to analyze the app’s features and determine whether Teams has built-in alternatives.
- If the Slack app interacts with external APIs, Teams Message Extensions, or Power Automate can often replace its functionality.
- If the Slack app processes user input via a chatbot, it can be recreated as a Teams bot using the Bot Framework.
- If the Slack app runs automated workflows, it can be replaced with Power Automate Flows integrated into Teams.
Instead of simply porting over a Slack app, organizations should explore whether Teams’ low-code/no-code tools can simplify the process.
Native Microsoft Teams Apps & How to Configure Them
While some Slack integrations require manual migration, many popular apps have native Teams versions that are easier to set up.
Here’s how to configure some of the most commonly used ones:
1. Configuring Jenkins in Teams
- Install the Jenkins Connector from the Microsoft Teams App Store.
- Connect it to a Teams channel where notifications should appear.
- Configure build triggers to send notifications for successes, failures, and code merges.
2. Configuring Jenkins Pipeline notification in Teams for Groovy apps
But in the case of complex pipelines with a groovy script, the approach is a bit different.
- Create Power Automate flows that take the channel name and teams group name as parameters and send a notification to the Teams channel in the form of an adaptive card.
- Create a Groovy Script- MS Teams helper class which has a teamSend method ( slackusers can relate this method to slackSend() provided by slack). This takes channel name, teams group name, and certain application specific details as parameters, and triggers the Power Automate workflow created above.
- This helper method can be invoked from a Jenkins build pipeline script, which is in groovy script.
- So, the notification will be sent on the completion of the respective Pipeline task. We had even designed the script in such a way that it allows the editing of the parent post to update the status once all the child tasks (reply posts) are completed.
3. Setting Up Salesforce in Teams
- Install the Salesforce for Teams app from the App Store.
- Log in with Salesforce credentials and grant permissions.
- Enable Salesforce notifications in relevant Teams channels.
- Use Salesforce Tabs to embed dashboards and reports directly into Teams.
4. Connecting GitHub to Teams
- Install the GitHub app for Teams.
- Authorize the GitHub account and select repositories to monitor.
- Configure Teams notifications for pull requests, commits, and issue updates.
- Use the GitHub CLI in Teams to manage repositories from within chat.
5. Configuring TeamCity for Teams
- Create Power Automate flows that take the channel name and the teams group name as parameters and send a notification to the Teams channel in the form of an adaptive card.
- Create a Python script that calls the above Power Automate, parses a Team City output, and forms an adaptive card.
6. Automating Workflows with Power Automate
- Create Power Automate flows to trigger notifications from apps like Salesforce, GitHub, and Jenkins.
- Set up automated approvals, reminders, or updates when key events occur.
- Use Adaptive Cards to make messages interactive, such as approving a deployment directly in Teams.
7. Configuring SaltStack Alerts for Teams
- Create Power Automate flows that take the channel name and the teams group name as parameter, and send a notification to the Teams channel in the form of an adaptive card.
- Create a Python script that calls any API or parses a SaltStack process output and forms an adaptive card json and triggers the above power automate flow.
8. Integrating Splunk Alerts with Microsoft Teams
When migrating from Slack to Microsoft Teams, integrating Splunk alerts requires a structured approach to ensure seamless alert delivery. Below is a generalized summary of the process:
- Access Provisioning: Begin by creating a ServiceNow ticket to request the necessary permissions and access for integrating Splunk with Microsoft Teams.
- Webhook Considerations: If there use cases are straightforward then in-built webhooks would be enough. But, using webhooks is not recommended if the use cases involve complex logic that demands custom development.
- Power Automate Template: A pre-configured Power Automate template is available to streamline the integration. This template is designed to parse the default Splunk payload, which cannot be modified. As a result, a separate Power Automate flow is required for each Splunk alert to handle specific alert configurations.
- Channel Email Setup: Teams channels must be manually provisioned with an email address to receive Splunk alerts.
This process ensures that Splunk alerts are effectively integrated into Microsoft Teams, maintaining functionality during the migration from Slack.
9. Integrating MuleSoft with Microsoft Teams
During the migration from Slack to Microsoft Teams, integrating MuleSoft requires leveraging built-in connectors and proper configuration for seamless message posting.
- Utilize Built-in Teams Connector: MuleSoft provides an in-built Microsoft Teams connector with actions for interacting with Teams, such as posting messages.
- Delegated Access Configuration: The integration uses delegated access to post messages. This requires obtaining a client ID, client secret, and tenant ID for authentication.
- Application Setup: Register an application in Azure AD named something like “Slack-Teams Migration App.” Grant delegated permissions for:
- ChatMessage.Send
- ChannelMessage.Send
- Redirect URI Configuration: Under the web redirect URIs in the application registration, add the following local endpoints and map the Teams IDs.
- Service Account Prerequisite: As a prerequisite, add a service account to the relevant Teams. Use this service account to log in during setup. For security, perform login via screen share if needed, and avoid sharing sensitive details or the complete solution.
10. Converting custom apps into Bots with Microsoft Teams
Certain use cases that are achieved using custom command actions in Slack are not convertible to Power Automate, as it has certain limitations. Those use cases were converted to MS Teams Bots. A couple of such scenarios are summarized below.

Solution Brief: Slack to Microsoft Teams Migration
Thinking of migrating from Slack to Microsoft Teams? Download our solution brief to uncover the hidden risks-broken integrations, user resistance, compliance gaps, and API limits-that can derail your transition. As a Microsoft-endorsed partner, Netwoven guides enterprises through every step: from pre-migration assessments to integration mapping and user training. This asset is designed to help you migrate smarter, faster, and with confidence.
Get the Solution BriefRSS BOT
The RSS Bot is a Microsoft Teams command bot designed to enhance user interaction with RSS feeds. Below is a rephrased summary of its usability:
Subscription Management: The bot enables users to subscribe or unsubscribe to RSS feed URLs directly within Teams.
Real-Time Feed Updates: It actively monitors subscribed RSS feeds and displays the latest feed content in real time within the Teams environment.
This bot provides a seamless way to manage and stay updated with RSS feeds, delivering timely content directly to users in Microsoft Teams.
AutoSupport BOT:
This bot had a unique feature of message listening.
1. Message Listening:
- The bot actively listens to and processes all root (initial) posts in the added channel or chat without requiring any specific trigger.
- The bot does not actively listen to reply posts unless it is explicitly @mentioned in the reply.
2. No Message Filtering:
The bot processes all messages in root posts without any filtering, ensuring broad responsiveness to initial messages.
Conclusion
Moving from Slack to Microsoft Teams involves more than just shifting settings around; it’s a chance to rethink how everything works together. Instead of trying to exactly mirror Slack’s setup, organizations can benefit from exploring built-in solutions that Teams offers, like Power Automate and the Microsoft Bot Framework.
For popular third-party tools like Salesforce, GitHub, Jenkins, and TeamCity, Teams has handy connectors that simplify integration. If there’s a need for custom solutions, Teams makes it easy with bots, Message Extensions, and Power Automate Flows that can fulfill similar roles as Slack.
By leveraging these capabilities, companies can make the transition smoother while boosting automation, teamwork, and security in their new space.