Hi @mjliu
Instead of running a List workflow, perhaps you should look at
- running a combination of scheduled workflow plus List workflow
The Schedule workflow runs daily at 8am (you can configure the schedule, frequency, time).
It goes through the entire List. If it finds a Start Date that is equal to today (or today minus 30 days, which you can also configure), it will kick off a List workflow (based on the item ID)
Lets say Employee #100 start date is 1-Dec 2022
Phase1 - 30 days before Start Date - Notify Manager
Phase2 - 7 days before Start Date - Notify HR, reserve sitting space
Phase3 - 2 days before Start Date - Notify HR, Manager, Supervisor
Start Date - Run Introduction Training
- You will need to 4 columns to mark task as Completed (Optional)
The Schedule workflow runs through the entire List looking for Phase1, Phase2, Phase3, Start Date
If item match Phase1, run Phase1 workflow on that ID
If item match Phase2, run Phase2 workflow on that ID, etc (you get the idea)
This allow you the flexibility of changing the Start Date.
Would this solution be a better fit?
Thank you Garrett.
Here is my thought, the start date for me can change anytime and more than once. If a flow kicks off after the scheduled time arrives, and then the start date changes, will it trigger two workflows or replacing the previous one? It may cause confusion to people in either case I think. Please let me know what you think. Thank you.
Hi @mjliu
The List Workflow is triggered when the date is equal to the current date. Any date in the past should deemed as has been triggered. If you need to change a specific date to the past date, then you need to manually trigger the List Workflow
If you keep changing an item date to a tomorrow date, It will keep on triggering.
Item X. workflow is triggered. Then date is change to tomorrow.
Its tomorrow. Item X. workflow is triggered. Then date is change to next day
Its next day. .Item X. workflow is triggered. Then date is change to next day
Maybe you need a flag column. If workflow triggered, Flag value set to DONE.
Its tomorrow. Item X. workflow is triggered. However workflow check that Flag value equals to DONE and workflow ENDS (skip the normal processes).
So you can change to a future date and you can also specify whether to re-run the workflow or not (by setting Flag value to <Blank> or DONE
Would this work for you?
If the workflow is triggered only when the date is equal to the current date, but it is possible that the start date changes again between the flow is triggered and the most recent start date. Does it mean the flow won't be able to capture the change during this period? Thanks.
The part has to be define in your requirements.
Your requirements allows for change of Start Date (both direction).
When the Start Date is equals Today (Current Date), the List Workflow is triggered.
1. What should happen if a) Start Date not occur, b) WF not run c) Start Date move to past (Today - 7 days)
2. What should happen if a) Start Date has occur, b) WF has run c) Start Date move to past (Today - 7 days)
3. What should happen if a) Start Date not occur, b) WF not run c) Start Date move forward (Today - 7 days) - Do nothing scenario.
4. What should happen if a) Start Date has occur, b) WF has run c) Start Date move forward (Today - 7 days)
5. Other possible scenarios
So, how do you want to handle these scenarios?
Hi Garrett,
my issue is not the workflow cannot trigger only until start date. it has to be kicked off beforehand. think it is logically infeasible?
Item 1 - Start Date is 15-Oct 2022. This value is in your SP field "Start-Date"
Kick-off is 30 days which is 15-Sept
Current Date is 15-Sept.
When the schedule workflow runs, it will add 30 days to the current date using the Add time to Date"
and save into a variable call "Kick-Off-Date"
Scan SP List for this "Kick-Off-Date" == Start-Date, if match, run Kickoff Workflow.
This will trigger the kick-off activity even when the start date is listed as 15-Oct, right?
Yes, but what if start date changes again between Sep 15 and Oct 15? I have to kill the instance that started already, do I ? Thanks.
ok, ok, i see the confusion is coming from...
You are planning on a single List workflow which will
- Perform kick-off processes
- then Pause until Start-Date
- on Start-Date, perform the Start-Date processes.
My idea
1. There is a schedule workflow which runs daily.
a) if Current-Date + 30 days == Start-Date, run Kick-off Workflow on Item
b) If Current-Date == Start-Date, run Start-Date Workflow on Item
2. There is a List workflow for Kick-Off. Perform kick-off processes and END
3. There is a List workflow for Start-Date. Perform Start-Date processes and END
If you need additional List Workflow btw Kick-off and Start-Date or post Start-Date, no issues.
The schedule workflow needs to know when to look for these dates and trigger the desired List workflow.
Whether you can re-run or not allow to re-run, that's for you to decide and implement.
Thanks Garrett.
Does it mean I need to have two workflows built from the two lists? They do have different tasks for teams.
Hi Garrett,
i just tried multiple ways but found it may not work, can you please advise if there is any other solutions?
Even I could trigger and query a list wrt start date, the workflow I want to initiate also need to obtain information from the same list, i.e. employee name, city etc. and assign tasks to people and this requires item ID in the retrieve an item function that I would not know from a scheduled event.
Did I miss anything?
Thank you vm.