I dont have a workflow to share, but just a high level question:
If a workflow is triggered and a future date is passed to schedule an action, is the workflow unavailable to be triggered again?
Example:
Employee deprovision workflow: I send a deprovision date in the future to run a deprovision workflow (remove from google workspace, jira, etc.). Can I submit a second deprovision date for a different employee to run at a different date?
Or is the workflow “busy” on the first employee deprovision that hasn’t yet run?
Hi, I don’t think that would be a great idea, even if it would work. I would recommend an external data source with dates and actions and have a scheduled trigger every X to see what it needs to do
Even if it would work, just imagine having to go and find in N8n what is scheduled when. Bad idea.
Workflows can have multiple concurrent runs. Even if a job is already running, more jobs can be triggered and run at the same time. One run should not affect the others runs.
Any kind of trigger will initiate a new execution of a workflow. If you think of a schedule trigger in the same way as other triggers, it might be clearer. For instance, a GMail “new message” trigger would never work if it depended on processing for one email to finish before the next email arrived. You would have no control over when or how fast the emails arrived, and therefore no way to manage when the triggers occurred.
That said, it isn’t the best idea to keep a bunch of workflow executions “in flight” for a long period of time. I would consider creating a database with rows that indicate when each task should be executed, and periodically check to see if anything is ready to start processing. Then schedule the workflow to run on an interval that starts the process soon enough after the appointed time.
So create a table like: (Supabase is just for example. Almost any DB or spreadsheet could work here.)