How to bring Push notification for D365 actions to users smartphone
Usecase
When an appointment is created for a user in D365 the user should get a push notification on his smartphone. Additionally the user should be able to open the record.
I tried implementing this usecase by using FLOW in conjunction with a Powerapp. The following gif shows the behavior in a Demo. (click on the gif to open it in fullscreen so that the animation is shown)
Here are some explanations how I configured FLOW to open the Powerapp and how I told powerapp which records should be opened.
Primary Email is the emailaddress of the user who should receive the notification. As Parameters I added JSON. "appointmentid" is the name of the parameter and the value is the appointmentid of the corresponding D365 record.
In the powerapp I used an invisible timercontrol on the first screen to evaluate the params and to open the detail screen of the record. As OnTimerEnd function I used
If(Not(IsBlank(Param("appointmentid"))), Navigate(DetailScreen1, ScreenTransition.Cover, {app: LookUp(Appointments, activityid = Param("appointmentid"))}))
Open issue: I was not yet able to reset the param when the detail screen was opened. As result when navigating back to the first screen the timer starts again and opens the record. I guess a developer would have no issue with that.
Nevertheless there is more than only one option for Push notifications in regard of D365 actions.
Options:
Notification via email | SMS push notification | Push notification via powerapps | |
Description | send an email notification using ootb D365 functionality or FLOW | use FLOW together with e.g. PLIVO for sending SMS when an appointment was created in D365 | use a FLOW when an appointment was created which sends a PUSH notification to a powerapp |
Prerequirement |
ServerSideSync for sending Emails |
FLOW and a tool like PLIVO for sending SMS recordURL must be generated when creating appointment to be able to use it in FLOW. |
FLOW and Powerapp |
Advantage | ootb functionality | User has a history of all received SMS. | the record can be opened in the powerapp to see the details |
Disadvantage |
Additional unnecessary email activities in D365. When clicking the recordURL the record is not opened directly. After selecting the proper app in the app selector the D365 start screen is shown. |
When clicking the recordURL the record is not opened directly. After selecting the proper app in the app selector the D365 start screen is shown. |
Powerapp is created quite easily but passing the params from FLOW to the Powerapp to open the record is not that easy. Powerapp must be provided in addition to the D365 app and has a different UI and not the same options. |
From my point of view the SMS push notification is a good approach. We only need to generate the recordURL in advance as FLOW cannot determine the URL of the D365 record. When using the standard capabilities within a workflow then you get an URL which does open the record but the app selector.
After selecting the proper app the app is opened but the record is not presented. As resolution we need to generate the URL by a different approach so that a specific appid is considered. As I'm not a developer I was not able to build this kind of function but I'm quite confident that someon in our big community will provide a function for that. (maybe Demian Raschkovan as part of his great Dynamics-365-workflow-tools)
*This post is locked for comments