It's quite common to be notified by email almost in real-time when something happens on different platforms. This is great until your inbox is cluttered with hundreds of emails. Even if you add rules and folders, at the end of the day you just have a lot of unread and systematically ignored emails.
There is a recent (or maybe not that recent) trend of using webhooks to enable communication between systems. These webhooks provide internet-facing endpoints that can be called by anybody (or just by those allowed if secured with a secret). Many modern systems are implementing these webhooks, either to receive content or to send content.
Microsoft Teams has embraced this pattern and any channel of any team can be configured with a webhook to receive messages.
Initially, we may think that as long as our application is able to send notifications to webhooks, we should be able to send them to Microsoft Teams, so why don't we just organise our Teams and channels properly and start sending all these notifications there?
I really like this idea and I am currently implementing it wherever I can because:
- It simplifies the distribution of notifications, as everybody in the Team/channel has access to them without having to add rules at email server level to manage distribution lists, shared inboxes etc.
- It also helps unifying the different data silos, as all the information about a project/system/client can be organised with teams, now also including notifications.
- Improves communications. Anybody can reply to the message, tag colleagues and continue the conversation, directly in Teams, instead of having to forward the original email to everybody, etc.
- Reduces noise. Using the channel notifications settings and some governance we can decide when Teams have to show the emerging message to members
- Unified notifications improves the correct reactions. Having only one system trusted by users sending notifications directly to users avoid chances of ignoring important notifications.
- Improves governance. The set up is done once at Channel level, instead of leaving up to individual users to configure how to handle these emails.
Unfortunately, it isn't that easy. With webhooks we enable both ends to talk to each other, but as usual, it doesn't mean they understand each other. In our case, Teams is expecting the message in a specific format, and the source platform doesn't necessarily use it; by default, these providers publish their information based on their own needs.
Does it mean we can't integrate Microsoft Teams with any other platform using webhooks? No, It is still possible, it's just not always possible to do it with a couple of clicks.
There are many platforms that have already implemented integration with Microsoft Teams and can be configured to send notifications to Microsoft Teams (see table at the bottom). However, if we are unlucky and our platform is not among the below list, we have to wait until the platform implements an option specifically for Teams, or if we have Azure and some development skills, we could introduce a "man in the middle" to do the translation.
The idea is quite simple: We just need to create a webhook that understands the message sent by the source platform, translate it into "something" that Microsoft Teams understand and sends it back to Teams; easy! In this blog I explain how to Integrate MongoDB notifications into Microsoft Teams. You can use this example as a starting point to build your own (hopefully temporary) integration.
List with available connectors on Microsoft Teams
Connector | Description |
Forms | Easily create surveys, quizzes, and polls. |
Azure DevOps | Collaborate on and manage software projects online. |
RSS | Get RSS feeds for your group. |
Incoming Webhook | Send data from a service to your Office 365 group in real time. |
Jira Cloud | Gather, organize, and assign issues detected in your software. |
Send and receive messages called Tweets. | |
Yammer Updated | Receive updates from your Yammer network |
Trello | Manage Trello cards and tasks all in one place. |
Wunderlist | Track tasks to be done and collaborate on projects. |
GitHub | Manage and collaborate on code projects. |
Google Analytics | Get Google Analytics summary reports |
Jenkins | Continuous Integration and Continuous Delivery |
BitBucket | Manage and collaborate on your code projects. |
Asana | Track projects from start to finish. |
SharePoint News | Show News from your SharePoint site in Conversations. |
+BI Collaboration Connector | Send notifications from the +BI Collaboration SharePoint add-in. |
Airbrake | Captures errors and aggregates the results for developer review. |
Aircall | Cloud-based phone system and call center software solution. |
AppSignal | Track throughput, response times, and error rates in your apps. |
Axure Share | Get updates for your Axure Share projects |
Azure DevOps Server | Share code. Track work. Ship software. |
Beanstalk | Manage source code from authoring through deployment. |
Beeminder | Keep your long-term goals in focus. |
Bitbucket Server | Manage and collaborate on your code projects. |
Biztera | Biztera simplifies decision-making with cloud software that streamlines approval workflows |
BMC TrueSight Pulse (Boundary) | Monitor cloud and server infrastructure with real-time visibility. |
Buddy | Powerful Git hosting with continuous delivery tools. |
Bugsnag | Track errors in web and mobile apps. |
Buildkite | Manage tools and run your tests on your own infrastructure. |
CATS Applicant Tracking System | Work efficiently, hire faster with the CATS applicant tracking system and recruiting software. |
Cellip 365 Response Group | Get notifications when respons |
Chatra | Chat with customers in real time. |
CheckMarket | Conduct customer surveys. |
CircleCI | Build, test, and deploy software continuously. |
ClickUp | ClickUp is a productivity platform that provides a fundamentally new way to work |
Cloud 66 | Build, deploy, and manage applications. |
Cloudbot for Azure | Reports and alerts directly posted from your Azure backend services |
Codeship | Automate the workflow for development and deployment. |
Constant Contact | Helping small businesses do more business |
Crashlytics | Track errors in mobile apps. |
Cronofy Calendar Connector | Connect Apple, Exchange, Outlook.com, Office 365 and Google calendars and keep your team organized. |
Datadog | Monitoring and analytics |
Delighted | The fastest way to gather actionable feedback from your customers. |
Doorbell | Collect in-app feedback on mobile and web apps. |
elmah.io | elmah.io |
Enchant | Provide customer support with chat and email. |
Flipgrid | Receive notifications when videos and Topics are created. |
GetResponse | Email Marketing Software & Autoresponder. |
GhostInspector | Build or record automated tests for your web site. |
GitHub Enterprise | Manage and collaborate on code projects hosted on a GitHub Enterprise instance. |
Google Analytics Insights | Google Analytics Insights |
GoSquared | Gather metrics for your online business. |
Groove | Provide customer support with team collaboration. |
Help Scout | Provide customer support through email messages. |
Heroku | Build and run applications in the cloud. |
Honeybadger | Monitor performance, uptime, and exceptions in web apps. |
Insping | Monitor web sites for uptime/downtime, outages, and performance. |
Intercom | Provide customer support in-app and through email messages. |
Jira Server | Plan, track, release software. Manage support, customer service and projects. |
Kiwi | Connect Tableau and MS Teams |
Kudos | Send and receive Kudos recognition from within Teams. |
Librato | Collect metrics about your application stack in a dashboard. |
Logentries | Search and monitor log data from any environment. |
MailChimp | Manage contacts and send email messages to subscribers. |
MindMeister | Create mind maps to brainstorm and plan with your collaborators in real-time |
Nevercode | Continuous Integration for iOS, Android, Cordova and Ionic apps |
New Relic | Application Performance Management & Monitoring |
OpBeat | Pinpoint performance issues. |
OpsGenie (Legacy) | Route critical alerts to the appropriate recipients. |
PagerDuty | Track and manage incidents, and define escalation policies. |
Papertrail | Track and manage incidents and downtime issues. |
Pingdom | Track uptime/downtime and performance of web sites. |
Pivotal Tracker | Track progress in agile projects. |
POEditor | POEditor is an online translation and localization management platform |
Preciate | Get your company’s complete Preciate feed in a channel. |
Priority Matrix Connector | Get important notifications from your Priority Matrix projects |
Projectplace | Work with Projectplace boards in Microsoft Teams. |
Promoter | The most effective way to capture actionable customer feedback. |
Ramen | Accomplish your goals and achieve Product Success |
Raygun | Monitor crashes in web and mobile apps. |
Rollbar | Full-stack error monitoring for developers |
Runscope | Log, monitor, and measure your API usage. |
Salesforce Connector for Microsoft Office 365 | Build relationships with your customers. |
Satismeter | Collect customer feedback to reduce churn and accelerate growth. |
Semaphore | Hosted continuous integration and deployment |
Sentry | Capture and aggregate exceptions in code. |
SignalFx | Share dashboards and receive real-time alerts from SignalFx |
Simple In/Out | An easy to use digital in/out board |
Site24x7 | Flexible uptime and performance monitoring from the cloud. |
Smartnotation | The smart meeting minutes solution |
Sociabble | Connect to Sociabble to receive new posts in Teams |
Stack Overflow | Ask and answer programming questions. |
Staffbase News | Receive news from your Staffbase app |
StatusPage.io | Track and communicate about downtime issues with your customers. |
Subversion | Manage source code with version control. |
SurveyMonkey | SurveyMonkey |
TestFairy | Test mobile apps and retrace events that precipitate errors. |
Thanks | Thanks is a rewards and recognition platform. |
Travis CI | Run tests and deploy apps. |
updown.io | Simple & Inexpensive website monitoring |
UserLike | Provide live chat support for web sites and mobile apps. |
UserVoice | Collect new customer ideas, and track and respond to customers' problems. |
XP-Dev | Collaborate on Git, Mercurial, Subversion, or other source-code projects. |
Zendesk | Manage issues, tickets, and customer service calls. |
Zenduty | Incident management platform for SRE, DevOps, ITOps and Support teams |
Zenkit | Get real-time updates from your Zenkit collections. |
Zoho Desk | The industry’s first context-aware help desk software. |