Summary
Dependent task step dates are assigned when the Workflow Template is applied (rather than only after the parent task step is completed)
You set up (and view) task step dependencies via the "Depends On" column in the table of the Workflow Template
For each dependent task step, you can choose between 4 dependency types and 2 modes, the default setup being "Finish to Start" (the parent task step needs to finish before the dependent task step can start) and "Strict" (the dependent step moves if the parent step is moved, to maintain the offset between them)
You can set up dependencies between task steps that are in different Workflow "groups", and even have complex dependencies involving multiple task steps
Who is this article for?
Anyone who would like a quick summary of task step dependencies in (Project) Workflows
The functionality described in this article is relevant to Planhat Services Automation (PSA), also sometimes referred to as Professional Services or Service Delivery - but it is also relevant to other teams using Workflows (e.g. those using Planhat as a CSP or CRM).
Article contents
Introduction
Planhat's Project Workflows are designed for project management (e.g. Professional Services / Service Delivery, as well as Customer Success onboardings, and many other applications).
In spring 2026, we released a series of enhancements to this functionality.
In this article, we summarize the key features and updates.
Although there are two types of Workflows (Projects and Sequences) and two types of steps (task steps and email steps), in this article we will focus particularly on task steps in Projects.
π Key points
Dependent task steps are assigned dates ("Start Date" and "Due Date") as soon as a Workflow Template is applied (e.g. to a Company), rather than only being scheduled once the parent task step is completed
You configure dependencies via the "Depends On" column in the Workflow Template
There are 4 different types of dependencies (relationships between parent and child task steps): "Finish to Start" (default), "Start to Start", "Finish to Finish" and "Start to Finish"
Dependent task steps can also have 2 different modes: "Strict" and "Flexible" (related to the offset between task steps when one moves)
Task steps can be dependent on task steps in other groups in the Workflow
You can even set up task steps with multiple dependencies (rather than just a simple 1-to-1 relationship)
We go over some of these points in further detail below.
How to set up and view task step dependencies
To make a task step dependent on another step, you use the "Depends On" column in the Workflow Template. The screenshot below shows this in an example Project.
Click the image to view it enlarged
Let's take a closer look.
In the screenshot above, the "Welcome Email" task step does not depend on another step - it is the ultimate parent step - and so the "Depends On" column is "empty" for it (showing as "Depends on...")
The "Kick-Off Call" step depends on the "Welcome Email" step, as shown in its cell in the "Depends On" column. The third step is itself dependent on the "Kick-Off Call" step
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 other steps in the Workflow Template. You can select your choice of step(s) for your step in question to depend on. For example:
This opens in a "Simple" view with default settings applied (shown above), but you can click "Advanced" in the top right to see additional settings options, which we describe in the next sections of 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 task step dependencies, you'll see buttons at the top to switch between "Simple" and "Advanced" views.
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)
First dropdown: "Finish to Start" (default), "Start to Start", "Finish to Finish" and "Start to Finish" - we discuss these more below
Second dropdown: default "Strict"; the other option is "Flexible" - described further below
Dependency types ("Finish to Start" etc.)
Let's take a look at the first dropdown menu, where you can set dependency type.
To give an overview of the 4 different options:
... where red represents the end of a task ("Due Date"), and green represents the start of a task ("Start Date").
To describe each of these options briefly:
Finish to Start (FS)
The parent task step needs to finish before the child (dependent) task step can start
This is the historical/traditional behavior and the default behavior, and is the most common setup
Start to Start (SS)
The parent task step needs to start before the child (dependent) task step can start
Finish to Finish (FF)
The parent task step needs to finish before the child (dependent) task step can finish
Start to Finish (SF)
The parent task step needs to start before the child (dependent) task 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 task 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) task step accordingly, whereas "Flexible" initially avoids moving the child (dependent) task step and allows the offset to change instead (until the steps start overlapping, and then the child step moves as necessary).
Further reading
We plan to publish additional technical deep-dive documentation on task step dependencies, with worked examples, in the near future.













