microsoft / powercat-business-approvals-kit

MIT License
33 stars 3 forks source link

[Business Approvals Kit - Feature]: Ability to schedule reminders for approvals with developing a cloud flow #102

Open Grant-Archibald-MS opened 9 months ago

Grant-Archibald-MS commented 9 months ago

Is your feature request related to a problem? Please describe.

Add a new feature to the Business Approvals Kit that would allow users to schedule reminders for approvals without having to develop a cloud flow.

Currently, users who want to send reminders for pending approvals need to create a separate loop or flow that checks the status of the approval and sends reminders based on a schedule. This can be time-consuming and complex, especially for users who are not familiar with coding or automation.

With this new feature, users would be able to schedule reminders for approvals directly within the Business Approvals Kit, using a simple and intuitive interface. Users would be able to specify the frequency and content of the reminders, as well as the recipients and channels for the reminders.

Describe the solution you'd like

The reminder text could be specified using a Power FX expression, which would allow for dynamic and customizable messages based on the context of the approval. For example, a user could define a reminder message that includes information about the approval request, such as the requester's name and the approval type.

In addition, we propose to add a new feature that would allow users to specify additional context messages for the approval request. These messages could be used to provide additional information or context about the approval request, and could be specified using a Power FX expression. For example, a user could define a context message that includes emojis or other symbols to indicate the urgency or importance of the request.

Describe alternatives you've considered

No response

Additional context?

Example Power Fx expression:

Additional Information = Switch(Requests, 1, ":-|", 2, "(grimacingface)",3,"(loudlycrying)")

Smilies in Microsoft Teams (free) - Microsoft Support

AB#1471

Grant-Archibald-MS commented 9 months ago

Consider the following approach allowing the user to define a rule or rules based on the number of days until completion date and selecting one or more communication channels:

  1. Add a new field to the Add/Edit node screen in the Process Designer that allows the user to set a reminder time and message for that node, as well as a rule(s) for when the reminder should be sent.
  2. This field should include a dropdown menu that allows the user to select the number of days until the completion date when the reminder should be sent.
  3. Implement a scheduling mechanism that looks at the rules of reminder times. This can be done by using a timer control in Power Apps that triggers a cloud flow at the specified time based on the rule defined by the user.
  4. Provide the ability for the user to select one or more communication channels for the reminder notification. This can be done by adding checkboxes or toggle buttons for email, Teams, and push notifications to the Add/Edit node screen.
  5. When the cloud flow is triggered, send the reminder notification to the selected communication channels. This can be done by using the appropriate connectors for email, Teams, and push notifications.
Grant-Archibald-MS commented 4 months ago

One approach would be to

  1. Allow the user to define the due date as a date parameter.
  2. In the Designer when creating or editing the node specify an exact date or a date parameter for the due date
  3. Node Reminder Definition - Node Id, Reminder Text, Reminder Days (Number of days before the due date)
  4. In the cloud flow when create the node if a due date has been defined:
    • Trigger a cloud flow by inserted into a new Table call Node Reminders with calculated Reminder Due Time Date column (one or e more reminder where Due Date - the number of days)
  5. Create a new cloud flow triggered by Add into Node Reminders
  6. Wait until trigger for the time. At the Due date send message (Email or Teams message that the Approval is due)
  7. Cancel the wait until cloud flow if an approval decision is made by the approver
MCSDWes commented 2 months ago

@Grant-Archibald-MS or @shrikant-singh31 - How do we set the reminders up exactly? If I set it for two days does that mean every two days until the due date or does that mean 2 days before the due date? If we want daily reminders until the due date due we set that to 0?

Grant-Archibald-MS commented 2 months ago

@MCSDWes reminders works by specific the specific reminder time in days. The current version does not include the ability to specify that reminder should be recurring.

MCSDWes commented 2 months ago

@Grant-Archibald-MS - Awesome and thanks for the response. I can work with that, I will just set the same reminder for every two days until the due date hits.