On a normal work day, the second thing I do in the office is to open Microsoft Teams to stay in touch with my colleagues throughout the day. Of course, it is my duty to launch the Axon Ivy Designer FIRST 😅 Besides the fact that Microsoft Teams is a very important collaboration tool for us at Axon Ivy, it is used in a wide range of companies. In numbers, as of January 2022, Microsoft claimed to have more than 270 million active Teams users per month. I think it should be possible that the Axon Ivy Platform can communicate with this huge amount of users in one way or another.
Therefore, during this year's Code Camp, I am exploring ways to integrate Microsoft Teams into our platform. As a first step, I want to extend Ivy so that it is possible to notify users in Microsoft Teams about new task assignments. Note that this extension is thought as a complement to the existing email notification.
Prototype: New Task Assignment Notification via Microsoft Teams
With the current prototype, which is based on Microsoft Graph, it is possible to notify a user via Teams chat when a new Ivy task is assigned. The solution demonstrated below requires some settings that I would like to point out.
- An application must be registered in Azure Active Directory to use the Microsoft Graph REST API.
- You need to add a kind of system user to Azure Active Directory, in whose name the chat messages will be sent. The system user is the sender of the Teams message.
- An Ivy user must point to its user in Azure Active Directory, which is the recipient of the Teams message. Note that this comes for free if you have Azure defined as your identity provider.
The following settings in
ivy.yaml are required for the prototype to work:
I would like to collect feedback and continue working on improving the solution. Another interesting direction I would like to explore are bots for Teams, e.g. proactive messages.