Open Grant-Archibald-MS opened 9 months ago
Consider the following approaches to trigger the Power Automate Desktop:
[!NOTE] Will need to consider approach when the Delay until needs to stopped or rescheduled to a new time
Approach | Pros | Cons |
---|---|---|
Power Automate Cloud Flow Delay Until | Could have multiple cloud flows that listen to Dataverse table | If need to reschedule then need to cancel the scheduled flow and start a new one |
Do not need to poll the table for changes | How schedule multiple next runs? | |
Use Chat GPT to use natural language to generate the cron expression | ||
Power Automate Cloud flow Timer | Can schedule multiple items as each item is a work queue item row | Only run on time window of recurring time schedule |
Can update the delay until or expiry date with simple Dataverse PATCH | Single point of failure |
For the delay until will need:
Custom table Desktop Flow Schedule with Desktop Flow cron expressions which could have an effective start and end | Columns | Type | Description |
---|---|---|---|
Desktop Flow Id | GUID | The ID of the desktop flow | |
Start Date Time | Date Time | Date when the cron expression is valid from | |
End Date Time | Date Time | Optional nullable value of end time | |
Cron Expression | Text | Valid Cron expression | |
Cron Description | Text | Human readable version of the cron expression | |
Prompt | Text | Chat CPT / Open AI prompt used to generate the cron expression | |
Cloud Flow Id | Text | Identifier of the current cloud flow that is delay awaiting time. Could be used to cancel a waiting flow | |
Recalculate | Y/N | If Y then the dataverse plugin should fire | |
Next Run | Date Time | When should the scheduled flow next run |
User Experience. End state:
Select a Month, Week, Day
Simple case See a list of times that records in Desktop Flow Schedule that will run based on the crontab values. For example
Desktop Flow | Schedule | Next Run | Cron Expression |
---|---|---|---|
Test Flow | 0 10 1-5 | 2023-12-11 10:00AM | Run at 10:00 AM every weekday |
Display
Select week of 11th Dec 2023
Mon 11 10:00AM Tue 12 10:00AM Wed 13 10:00AM Thu 14 10:00AM Friday 15 10:00AM
Extended case
Desktop Flow | Schedule | Next Run | Cron Expression | Priority | Start Date | End Date |
---|---|---|---|---|---|---|
Test Flow | 0 10 1-5 | 2023-12-11 10:00AM | Run at 10:00 AM every weekday | 1 | ||
Test Flow (Wed) | 0 11 3 | Run at 10:00 AM every weekday | 2 | 12-13-2023 | 12-13-2023 |
Display
Select week of 11th Dec 2023
Mon 11 10:00AM (Test Flow 1) Tue 12 10:00AM (Test Flow 1) Wed 13 11:00AM (Test Flow 2) Thu 14 10:00AM (Test Flow 1) Friday 15 10:00AM (Test Flow 1)
@praveen-pulagam-gl consider the following enhancements
Column | Type | Description |
---|---|---|
Name | Text | Name of the schedule |
Automation Schedule | GUID | Identifier of schedule |
Type | ?? | Desktop Flow or Dataverse |
Next Run | Date Time | |
Run Now | Boolean |
Column | Type | Description |
---|---|---|
Automation Schedule | GUID | Identifier of parent |
Automation Type | Enumerated Type | Desktop Flow or Dataverse |
Cron Expression | Text | |
Cron Expression Description | Text | |
Start Date | Date Time | |
End Date | Date Time | |
Priority | Int |
Is your feature request related to a problem? Please describe.
The current process to schedule and manage Power Automate Desktop (PAD) execution is limited, which makes it difficult to automate certain tasks. For example, it's not easy to schedule PAD executions based on specific criteria or to manage multiple schedules in a centralized way.
Propose to develop a Scheduler Proof of Concept (PoC) that would allow users to schedule PAD executions in a more flexible and powerful way. The Scheduler PoC would leverage the existing PAD APIs for starting executions and the Power Automate platform for running flows on a schedule.
Describe the solution you'd like
Describe alternatives you've considered
No response
Additional context?
Consider the following options:
AB#1466