N Notion

How to build self-updating gantt charts on Notion

intermediate 12 min read Updated 2026-03-18
Quick Answer

Build self-updating Gantt charts in Notion by creating a database with start date, duration, and end date properties, then using timeline view with formula-based calculations. The chart automatically updates when you modify task dates or dependencies.

Prerequisites

  • Basic Notion database knowledge
  • Understanding of date properties
  • Familiarity with database formulas
  • Project management fundamentals

Step-by-Step Instructions

1

Create the Project Database

Create a new database by typing /database and selecting Table. Add these properties: Task Name (Title), Start Date (Date), Duration (Days) (Number), End Date (Formula), Status (Select), and Assignee (Person). This database will serve as the foundation for your Gantt chart.
Name your database something descriptive like 'Project Timeline' for easy identification
2

Configure the End Date Formula

Click on the End Date property and select Formula. Enter this formula:
dateAdd(prop("Start Date"), prop("Duration (Days)"), "days")
. This automatically calculates the end date based on start date and duration, creating the self-updating functionality.
Test the formula with sample data to ensure it calculates correctly before proceeding
3

Add Dependency Tracking

Create a new property called Depends On and set it to Relation type, connecting to the same database. This allows you to link tasks that depend on others. Add another formula property called Earliest Start with:
if(empty(prop("Depends On")), prop("Start Date"), max(prop("Depends On").prop("End Date")))
.
Use dependencies sparingly at first to avoid creating circular references
4

Create the Timeline View

Click Add a view at the top of your database and select Timeline. In the timeline settings, set Date property to use your Start Date field. Configure the End date property to use your calculated End Date. Adjust the Timeline by setting to show weeks or months based on your project duration.
5

Customize Visual Properties

In the timeline view, click Properties and enable Show on timeline for Status and Assignee. Click the color icon next to your database name and select Color by Status to create color-coded bars. You can also adjust bar height and enable Show dependencies to visualize task relationships.
Use consistent color coding across all your project databases for better organization
6

Set Up Progress Tracking

Add a Progress (%) property as a Number field with format set to Percent. Create a formula property called Days Remaining:
dateBetween(prop("End Date"), now(), "days")
. This shows how many days are left and updates automatically as time passes.
Create a filter to show only active tasks by filtering out completed ones
7

Enable Automatic Updates

Create templates for new tasks by clicking the arrow next to New and selecting New template. Set default values for Duration and Status. Use Recurring templates if you have regular milestone check-ins. The timeline will automatically adjust when you modify any date or duration values.
Set up database automations using Notion's automation feature to update status based on dates
8

Create Dashboard Views

Add additional views like Calendar for milestone tracking and Board grouped by Status for kanban-style management. Create filtered views for different team members or project phases. Link this database to other project databases using Rollup properties to aggregate data across multiple projects.
Create a master dashboard page that embeds multiple views of your Gantt chart database

Common Issues & Troubleshooting

Timeline view not showing all tasks

Check your timeline date range settings and ensure all tasks have valid Start Date and End Date values. Expand the timeline view date range by clicking the date selectors at the top.

End date formula returning errors

Verify that your Start Date property contains actual dates, not empty values. The formula dateAdd() requires a valid date input. Add an if() statement to handle empty dates: if(empty(prop("Start Date")), "", dateAdd(prop("Start Date"), prop("Duration (Days)"), "days")).

Dependencies not displaying correctly

Ensure the Depends On relation property is properly configured to link to the same database. Check that dependent tasks have their Start Date set after their prerequisite task's End Date.

Timeline bars appear too short or overlapping

Adjust the timeline zoom level using the controls at the top right of the timeline view. Change the Timeline by setting from days to weeks or months for longer projects, and verify that task durations are realistic numbers.

Prices mentioned in this guide are pulled from current plan data and may change. Always verify on the official Notion website before purchasing.