Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hkamel/microsoft-teams-emergency-notification
An approach to create an emergency notification from Microsoft Teams
https://github.com/hkamel/microsoft-teams-emergency-notification
logic-apps microsoft teams
Last synced: about 1 month ago
JSON representation
An approach to create an emergency notification from Microsoft Teams
- Host: GitHub
- URL: https://github.com/hkamel/microsoft-teams-emergency-notification
- Owner: hkamel
- License: mit
- Created: 2020-02-13T07:28:20.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T02:14:17.000Z (about 2 years ago)
- Last Synced: 2024-11-08T08:22:40.576Z (3 months ago)
- Topics: logic-apps, microsoft, teams
- Language: C#
- Homepage:
- Size: 1.09 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Emergency Notifications Systems for Teams
## Problem Statment
Notifying the users in case of an emergency with a clear blocking message using Teams.Teams notifications are non-blocking and will be visible on Teams application if the Teams window is active or Windows/ Windows Notification Center in case of Teams window is not active.
In case the end user has Windows 10 Focus Assist ([link](https://support.microsoft.com/en-us/help/4026996/windows-10-turn-focus-assist-on-or-off)) active (manually, presentation mode or others) the notification will not be visible to the user and will be added to the notification center
## Proposed Solution/ Flow
- Emergency agent or admin will send a normal message over a dedicated team channel
- Using Power Automate/ Azure Logic App, the message being pushed to a table with the required information (message content and expiry in minutes). Check the sample code here [src/EmergencyTrayApp/LogicApp](https://github.com/hkamel/microsoft-teams-emergency-notification/tree/master/src/EmergencyTrayApp/LogicApp)
- A windows agent tray application (running on Windows machines) will pick any new message and alert the user through normal windows alert message box. A blocking message box in the center of the screen that must be dismissed by the customer. Check the sample code here [src/EmergencyTrayApp](https://github.com/hkamel/microsoft-teams-emergency-notification/tree/master/src/EmergencyTrayApp)
- The Windows Application can be pushed to the end users using Configuration Manager.### Limitations
- Only Windows clients
- MacOS and mobile Apps are not supported in this solution
- Teams APIs/Connector has a throttling limit https://docs.microsoft.com/en-us/connectors/teams/#limits### Detailed Flow
#### Step 1: Sending the message
- Sending a normal Teams message to a dedicated emergency channel
![Single Team Message](images/Teams-Message.png)
#### Step 2: Automation workflow (Power Automate/ Azure Logic App)
- Listen to the message in a specific team and specific Channel
![Logic App](images/LogicApp.png)
- Once received, push the message to intermediate storage with the details (Azure Table)
![Storage Table](images/storage-table.png)
- Each message will have a default expiry time of 30 minutes and active flag (true/false)
#### Step 3: Windows Notifications
- Notification Agent (Windows Tray Application) will check for new messages.
![Notification Agent](images/notification-agent-Windows.png)
- Upon receiving a new message, display a clear blocking Windows Alert Message
![Single Alert Message](images/Single-Team-Message.png)
![Alert Window](images/emergency-alert.png)
- The message will be repeated every 3 seconds until the expiry time passed.
![Desktop](images/Full-desktop.png)