How to Create Dynamic Notion Dashboard Cards | Complete Tutorial with Formulas & Relations

Looking for a versatile Notion component you can add to any workspace? In this tutorial, I'll show you how to create a powerful dynamic card that you can embed anywhere in your Notion setup. This reusable component automatically calculates and displays real-time information from your connected databases.

Using advanced formulas and database relations, you'll build a flexible card that can show custom information like task counts, project statuses, or deadline alerts. The beauty of this approach is that once created, you can reference this dynamic card across multiple dashboards and pages in your workspace.

For this example, we’ll be creating a task manager with a dynamic card! I recommend watching the tutorial video below, and reference the formulas in this article.

Step 1: Setting Up Your Dashboard Foundation

Start by creating a new Notion page and title it "Task Dashboard." Navigate to the three dots in the top right corner and enable "Small Text" and "Full Width" to maximize your workspace. You can also add a cover photo from Unsplash by clicking "Change Cover" to make your dashboard more visually appealing.

Step 2: Creating the Two-Column Layout

Type "/column" to create a two-column layout. This structure will house your dynamic display card on the left and your task database on the right. Use the column divider to adjust the width according to your preference.

Step 3: Building the Display Card Database

In the left column, create a gallery view database by typing "/database" and selecting "Gallery." This will serve as your dynamic display card. Hide the database title for a cleaner look and rename it with just a space and an icon for a minimal aesthetic. We'll call this database "Dynamic Card".

Step 4: Configuring the Display Card

Create a single entry in your gallery database - this will be your dynamic display card. Remove the card preview image by going to Settings > Layout > Card Preview and selecting "None." Add a friendly greeting as the title, such as "Hi [Your Name]" with a wave emoji.

Step 5: Adding Display Properties

Create three text properties for your display card:

"Your tasks due today"

"Your tasks due tomorrow"

"Watch out for overdue tasks"

Format these as bold headings and enable their visibility in the property settings. These will serve as section headers for your task information.

Step 6: Creating the Date Display Formula

Add a formula property called "Date Display" and use this formula:

"Today is " + formatDate(today(), "MMMM D, YYYY")

This will show the current date in a readable format at the top of your card.

Step 7: Setting Up the Task Database

In the right column, create a table view database for your tasks. Add these essential properties:

  • Name (title)
  • Status (select property with options like "Not Started," "In Progress," "Done")
  • Due Date (date property)
  • Dynamic Card (relation to your display card database)

Step 8: Establishing the Database Connection

Create a relation between your task database and display card database. Every task entry must be connected to your display card for the formulas to work properly. Set up a filter to ensure all tasks are automatically linked to your display card.

Step 9: Building the "Due Today" Formula

In your display card database, add a formula property called "Due Today" and use:

let( dueToday, Tasks .filter( and( current. Status != "Done", current.Due Date == today()) ).length(), if( dueToday == 0, "Congrats! No Tasks Today! 🎉", dueToday + " Task(s)" ) )

Step 10: Creating the "Due Tomorrow" Formula

Add another formula property called "Due Tomorrow":

Tasks .filter( and( current.Status != "Done", current.Due Date == dateAdd(today(), 1, "day"))) .length() + " Task(s)"

Step 11: Adding the Overdue Tasks Formula

Create a final formula property called "Overdue":

Tasks .filter(and(current.Status != "Done", current.Due Date < today())) .length() + " Task(s)"

Step 12: Organizing Your Task Views & Testing

Create different views in your task database to better organize your work:

  • Default view: All incomplete tasks
  • Completed view: Filter for tasks with "Done" status

Add several test tasks with different due dates (today, tomorrow, past dates) and various statuses to ensure your formulas are working correctly. The display card should automatically update as you add, complete, or modify tasks.

Step 13: Customizing Your Dashboard

Personalize your dashboard by adjusting text formatting, adding emojis to your custom messages, and experimenting with different date formats. You can also modify the formulas to include additional criteria like priority levels or project categories.

Most importantly, have fun with your own dashboard!

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.