Notification Manager
Notification Manager

Notification Manager

icon

Developed a Power Apps Canvas application that streamlines the notification process for users requesting case documentation from field staff. The application automatically applies business rules to generate notification drafts while allowing users to review, modify, or send them as generated. Notifications escalate based on prior correspondence and request age, ensuring timely follow-up. The app also maintains a complete notification history by leveraging the Microsoft Graph API to retrieve Outlook messages, eliminating the need for manual Outlook searches and significantly improving performance.

Default View of the Notification Manager App - Shows all requests with notifications due today.
Default View of the Notification Manager App - Shows all requests with notifications due today.
Pending View - Shows all requests
Pending View - Shows all requests
Filtered View - Shows only the selected Request Type
Filtered View - Shows only the selected Request Type
Edit View - Edit form to manipulate the record.
Edit View - Edit form to manipulate the record.
Notification Draft View - Automatically updates the Request Type based on the corresponding selected gallery item. Allows the user to manipulate the Notification Type, Request Subtype, and Documents Requested fields to dynamically update the Body of the notification.
Notification Draft View - Automatically updates the Request Type based on the corresponding selected gallery item. Allows the user to manipulate the Notification Type, Request Subtype, and Documents Requested fields to dynamically update the Body of the notification.
Filled Draft State - The Body of the email updates dynamically depending on dropdown selections. The To: and Cc: fields also update based on business rules. Users can modify any of the email draft information. This automates the business rule, but gives end users the flexibility to stray from the rule if the situation needs it.
Filled Draft State - The Body of the email updates dynamically depending on dropdown selections. The To: and Cc: fields also update based on business rules. Users can modify any of the email draft information. This automates the business rule, but gives end users the flexibility to stray from the rule if the situation needs it.
Post Send State - After the notificaiton is sent, the app updates the status field to ‘Sent’, and dynamically calculates the second notification due date (highlighted in yellow) which is five business days from the first notificaiton sent date displayed in the tooltip of the status pill.
Post Send State - After the notificaiton is sent, the app updates the status field to ‘Sent’, and dynamically calculates the second notification due date (highlighted in yellow) which is five business days from the first notificaiton sent date displayed in the tooltip of the status pill.
History View - After a notification is sent, users can click the history button on the record to view any prior notifications sent, the time it was sent, the message included, and all recipients.
History View - After a notification is sent, users can click the history button on the record to view any prior notifications sent, the time it was sent, the message included, and all recipients.

Microsoft Graph API

I accoplished the history requirement of this project by leveraging the Microsoft Graph API functionality of the Office365Outlook.GetEmailsV3 connector.

This formula executes a Microsoft Graph API call searching the subject line for any matching results for the Advanced Query Search (AQS) on the ‘searchQuery’ line. Results are stored in a local variable called varEmailHtml that is used in the History screen for display.

Email Input Validation

I also had to ensure users did not send emails outside of their department by mistake as it would constitute a breach of confidentiality. To accomplish this, I leveraged the Office365Users.UserProfileV2 connector.

This formula is placed in the DisplayMode property of the Send button on the notification screen. Unless the email meets the Regex expression requirements and the user’s profile matches certain search criteria specific to the appropriate department, the button will be disabled preventing accidental emails to outside departments and typos that would cause failures. It’s important to ensure the controls are triggered either on delay or focus out to prevent constant API calls.