Skip to main content

Workflow step dependencies

You can make a step dependent on a previous step, typically so it's only due a certain number of days after the parent is completed

Written by Carly Hammond

Summary

  • When configuring a Workflow Template, you can make a Workflow step dependent on another step (or even multiple steps), rather than them being independent of each other

  • This means:

    • You can enforce the order in which steps occur (so a child step doesn't overtake a parent step if it's delayed)

    • The timings (and hence start/due/send dates) of child steps now relate to their parent steps, rather than when the Workflow Template was applied / they were activated

Who is this article for?

  • Planhat builders (e.g. CS Ops), designing Workflow Templates for their team

Series

This article is part of a series on scheduling Workflows:

It is strongly recommended to read these in order, as they build in complexity, and later articles refer back to earlier ones.


Article contents

Click below to jump to the relevant section:


πŸ“Œ Important to note

This article assumes you have read Scheduling your Workflows and Workflow step timings. If you haven't yet, please go through those articles before this one.

What are step dependencies?

Often, when scheduling actions in a Workflow, you'll want a step to take place only after another step has occurred.

In the examples of simple step timings we looked at in the previous article, all the steps were independent of each other. This meant that when all the steps were activated by applying the Workflow Template (e.g. to a Company or End User), their start/due/send dates were calculated by counting from that date; and also, if one step ended up being completed late, it would never affect the due dates of the others.

In contrast, with step dependencies, you make a hierarchy of parent and child steps. (You could have many levels if you like, with grandparent and grandchild steps etc., and you could even make a step directly dependent on multiple other steps.)

The two main consequences are:

  • You can enforce the order in which steps are scheduled/completed - parent before child

    • Note that in spring 2026, some new functionality was introduced that affects how this works exactly, so you can tailor the behavior to suit different circumstances - this is for dependencies related to parent task steps

      • Choose a type: "Finish to Start" (default), "Start to Start", "Finish to Finish" and "Start to Finish"

      • Choose a mode: "Strict" (default) or "Flexible"

    • We go into further details later in this article

  • The timings of dependent child steps relate to their parent steps, rather than when they were activated / when the Workflow Template was applied

    • As of spring 2026, the dates for child steps are generated (i.e. the steps are scheduled) when the Workflow Template is applied, rather than only after the relevant parent step is completed

    • However, the dates themselves still applies from the parent steps (i.e. the days specified in the Workflow Template are counted from the parents)

    • You can configure it (using the settings mentioned above) so that if a parent step is delayed, the child step is also moved (rescheduled) accordingly

Note that it's also possible to add in step conditions, which further influence when steps occur. We'll go over conditions later in this article series, but firstly in this article we'll just consider dependent steps without conditions.

πŸ“Œ Important to note

In the examples below, we are using "Advanced" view, which means that the dependent steps are not indented. If you are in "Simple" view, you will see the dependent steps indented. We go over this in detail slightly later in this article, here.

Here's an example of a dependent step - a task step in a Project. You can tell that the "Send follow-up email with next actions" is a child of the "Kick-off call" step by the text in the "Depends On" column. (FS stands for "Finish to Start", and S stands for Strict.)

Click the image to view it enlarged

The dependent step is scheduled to take place after its parent step. Let's see what this looks like in practice when we apply this example Workflow Template to a Company.

Click the image to view it enlarged

You can see that the first two steps (the ones that aren't dependent on any other steps) have their Start Dates and Due Dates assigned as you've seen before, from simple timings: the Workflow was created for this Company on April 30, and so the first step is scheduled for 1 day after that (May 1) and the next step is scheduled 2 days after that start point (May 2). For the third step, although it has the same "Start After Days" as the step before it (2), because it's dependent we are now counting from that parent step (May 2), so we end up with the step being scheduled for May 4.

Let's take a look at this with a different example - email steps in a Sequence. The behavior is slightly different.

Click the image to view it enlarged

If we apply this to an End User:

  • The first email is sent right away (as it as set to send ASAP):

  • Once the first email is sent, the second email is created as a scheduled email (scheduled to send 1 day later):

  • The third email is not yet created as a drafted/scheduled email because its parent email step hasn't completed (the second email hasn't sent yet), but an estimated send date (of 1 day after the second email) is shown

Viewing dependent steps as indented

In the example screenshots above, the dependent steps were not indented, but actually showing dependent steps as indented is a common view and a helpful way of visualizing which steps are dependent on which other steps - as shown in the example screenshot below. Whether dependent steps are indented or not is controlled by whether you are in "Simple" or "Advanced" view mode, as shown and configured near the top-right of the Workflow Template.

Click the image to view it enlarged

Click the image to view it enlarged

The "Simple" wording refers to the dependencies (rather than the view) being simple. This is the default view, and is applied automatically as long as (1) each dependent step only has one parent, and (2) the parent and dependent step of each pair are within the same Workflow group.

The "Advanced" view is designed to allow more complex dependencies: dependencies between steps in different groups, and/or situations where a dependent step has multiple parents. If either of these criteria are true within a Workflow Template, you will find that "Advanced" is automatically selected for you, and "Simple" is not selectable (is grayed out, with a tooltip).

Click the image to view it enlarged


Why use step dependencies?

There are many cases where you'll want to ensure steps occur in a specific order.

For example, you might want to:

  1. review a Company's usage, then

  2. have a meeting with them to discuss your findings, and then

  3. carry out some follow-up actions.

As you can't have the discussion meeting before doing the review, and you can't do the follow-up actions until after your meeting, it makes sense to make these dependent steps, so they won't go out of sequence if an earlier step is delayed.

It also may be that, when setting up the scheduling, you simply find it easier to think about step timings in terms of, for example, "I want this email to be sent 2 days after the previous email" rather than "I want this email to be sent 5 days after the Workflow is applied", and you can achieve this using dependent steps.

Another factor to consider is that you may wish to avoid having a series of scheduled draft emails being created straight away (potentially cluttering your End User Profiles), and prefer them to only be created/scheduled as the earlier steps are completed.


How to set up step dependencies

To make a step dependent on another step, you use the "Depends On" column in the Workflow Template.

This is an example from a Project Workflow Template:

Click the image to view it enlarged

And this is an example from a Sequence Workflow Template:

Where a step is shown in this column, that's the parent step - so e.g. "Initial welcome" is the parent step of "Getting started". The colored initials state the type of dependency, which we will explain below.

πŸš€ Tip

Remember, if you are viewing the Workflow Template in "Simple" view mode, dependent steps will be indented below their parent, as we discussed/showed here.

To make a step a dependent step, click on "Depends on..." for that step.

This will open up a modal similar to the one shown below, with checkboxes for the other steps in the Workflow Template. You can select your choice of step(s) for your step in question to depend on. For example:

The modal opens as a "Simple" form with default settings applied (shown above), but you can click "Advanced" in the top right to see additional settings options, which we describe next in this article.

Any selections you make here are saved automatically, so you can simply press "Close" in the bottom right when you have finished configuring your dependency.

Simple v. Advanced dependency settings

When you're configuring step dependencies, you'll see buttons at the top to switch between "Simple" and "Advanced" versions of the form. Note that this should not be confused with the "Simple" (indented) v. "Advanced" (not indented) views when looking at the whole Workflow Template - we are talking about something different here.

  • Simple

    • This simply applies the default setup (which is the same as the historical/traditional dependent step behavior): "Finish to Start" and "Strict" - we define these later in this article

  • Advanced

    • Selecting this will show two dropdown menus when you have selected a task step to be the parent (as shown in the screenshot below)

      • Note that they will be grayed out if an email step is the parent, because for that step type, it's always set to the defaults of "Finish to Start" and "Strict"

    • First dropdown: options are "Finish to Start" (default), "Start to Start", "Finish to Finish" and "Start to Finish" - we discuss these more below

    • Second dropdown: default is "Strict"; the other option is "Flexible" - described further below

Dependency types ("Finish to Start" etc.)

Finish to Start (FS)

  • The parent step needs to finish before the child (dependent) step can start

  • Start to Start (SS)

    • The parent step needs to start before the child (dependent) step can start

  • Finish to Finish (FF)

    • The parent step needs to finish before the child (dependent) step can finish

  • Start to Finish (SF)

    • The parent step needs to start before the child (dependent) step can finish

Mode: Strict v. Flexible

In the second dropdown menu, you select between the two modes of "Strict" (default/historical setting) and "Flexible".

These options refer to the difference in dates between the parent and child (dependent) steps, sometimes called the "offset". This setting comes into play if you move the parent task step - e.g. you change the "Due Date" (end date) because a task is taking longer than expected.

"Strict" maintains the offset by moving the child (dependent) step accordingly, whereas "Flexible" initially avoids moving the child (dependent) step and allows the offset to change instead (until the steps start overlapping, and then the child step moves as necessary).


Next ...

So you've seen how you can add timings to step details, and make steps dependent on other steps if required. The next element to sequencing steps is rule-based conditions, which we introduce here.

Did this answer your question?