Delaying tasks conditionally in pipelines

Hi there! My company has some pretty comprehensive workflow build to be done in the different stages of a project pipeline, which I know is in the Beta phase.

Something I am struggling with while building these out is getting subsequent tasks to generate conditionally. For example, I generate 3 tasks at the start of a workflow. When one is done, I want task A to generate. When another one of those initial tasks is done, I want tasks B and C to generate. Right now I am hitting the issue that when one task is done, it could potentially get caught in the delay I created for a different task so the subsequent task won’t generate as expected (i.e. task 1 done and should generate task A, but the delay I set for task 2’s completion is holding the workflow from progressing).

I thought I could work it into branches, but the branch functionality limits the go-to actions/creating loops in the workflow.Is there anyway to generate tasks in the same stage based exclusively off of the outcome of one task and ignore the progress of other tasks in the stage?

Hey @paiged01 - thanks so much for posting in the Community!
I’d like to tag in some workflow experts here to see if they have any insight for us on the best way to achieve this! @Aakar, @LouiseHare, and @RubenBurdin - any suggestions for @paiged01’s setup?
Shane, Senior Community Moderator

Hi @paiged01,

The simplest and most reliable way to achieve this is by not trying to do it all in one workflow.

If you have automation based on the completion of certain tasks, simply create a separate task based workflow that enrolls the completed task, then use the “Create task” action to create a follow-up task.

In other words:

  • Main workflow: create task 1, create task 2, create task 3
  • Additional workflow: enroll task 1 when its status is completed, then create task 4
  • Additional workflow: enroll task 2 when its status is completed, then create task 5
  • Additional workflow: enroll task 3 when its status is completed, then create task 6

That way, you’re avoiding “delay until” issues or scenarios where multiple branches should apply.

Best regards