How to create a task management system with dependencies in Coda (with free Coda doc)
In a solid project management system, you can create meaningful task dependencies. For example, you can ensure that a subtask can only be completed when its parent task is complete. Additionally, you can automatically update the dates of child tasks when the parent task's date is updated.
Coda allows you to develop your own task management system using the tool’s building blocks and advanced formulas. I have created a sample task management system with dependencies in Coda, and this post explores how the system works and how I approached building it. If you prefer to watch a video, you can click here, or watch it below.
Build the task table
The first core component of a task management system is a table of tasks. If this is part of a broader project management system, you can also link this table to your “Projects” table via a lookup column in Coda. For this post, however, we will keep things minimal and use a “Tasks” table to show the functioning of dependencies in Coda.
Two key columns in the “Tasks” table are Blocked By and Blocking. These are lookup columns, referencing the same table. It’s a self-referential lookup within the “Tasks” table. That’s the building block of dependencies. When a task is “blocked by” another task, the former can’t be marked as “complete”. There is a parent-child relationship between the two. The “blocked by” column is a manual lookup, where you can pick the parent task. The “blocking” column uses a formula to show the reciprocal relationship: Lookup(thisTable,thisTable.ParentRow ,thisRow.RowNumber).
Another essential feature in a system with task dependencies is the ability to mark a task as “done” only if the parent task is also complete (or if there is no parent task). That’s what the “Done” button in our Coda table does: it conditionally allows you to mark a task as complete/incomplete by clicking the button. When it is greyed out, it means you can’t click it. When it is orange, it signals you can click it. You can check out the button settings in the screenshot below, or watch the video for a comprehensive explanation. Essentially, we want to make the button clickable when these criteria are met: the task does not have a “blocked by” value, OR the “blocked by” value is complete. In other circumstances, the button should not be clickable (and we use the “disable when” setting to define this rule: thisRow.[Blocked By].Completed=false).
Create automation to power up task dependencies
In our Coda task-dependencies system, each task has a “Start Date” and an “End Date”. When we edit a parent task’s “End Date”, we want the system to automatically update the “Start Date” of the children tasks to match it. There are multiple ways to approach the development of this solution. One way (and the one I use in this example system) is Coda’s native automation. In particular, we are using two automation:
When the “End Date” of a parent task is updated, change the “Start Date” of the children tasks to match.
This automation allows you to not worry about manually updating tasks when you edit a date in your system. You can watch the video for a detailed explanation of the automation trigger and action.
2. When you add a parent task to a child task, update the task’s “Start Date” based on the parent task’s “End Date”.
This automation rule is especially useful when you add new tasks. If you add a new child task, its “Start Date” will populate automatically based on the “End Date” of the parent task. This happens via a “push button” in Coda (one of the ways you can approach this feature). When the automation runs and meets the condition criteria (”Blocked by” is not empty), it will push a button that is part of our “Tasks” table, whose action is to update the “Start Date” of the children tasks with the “End Date” from the parent task. The button is disabled if a task does not have a “Blocked by” (parent) task.
Timeline view
Finally, you can create a timeline view of your tasks using the “/timeline” command within your Coda doc. The timeline will display task dependencies visually through an arrow connecting them. You can click on each task to open its page, and you can also drag and drop each task to change its start and end dates.
This is one way to develop a task management system with dependencies in Coda. Coda’s powerful and versatile formulas and interactive components (e.g., buttons) provide a wide range of approaches to reach the same result. In this post, we looked at the critical components of a dynamic, solid task management system with dependencies in Coda and the logic behind its key features. You can watch the full walkthrough video here.
Template
Similar Articles
Affiliate Links
Get one free month on the pro plan in Make (automation software)
Get 20% off any Centered subscription (deep work sessions tracker with AI coaches) by using the discount code
SIMONE20
here.Automate your processes with AI: https://get.bitskout.com/s3e5wkwuks8h