atlas by clearpeople

Replacing email notifications with Microsoft Teams messages

16 January 2020
  

Tired of receiving hundreds of emails with notifications from your different applications? Why don't you replace them with messages posted to specific channels in Microsoft Teams?

 

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.
 Twitter   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.

Author bio

ClearPeople

ClearPeople

Get our latest posts in your inbox