How to Use Notion Formula now() With Custom Refresh Frequency
🔍 WiseChecker

How to Use Notion Formula now() With Custom Refresh Frequency

Notion’s now() formula returns the current date and time, but it does not update in real time inside a database. By default, now() refreshes only when you edit the page, reload the database, or change a formula property. This limitation can cause problems when you need a timestamp that updates every few minutes or hours, such as for time tracking, deadline alerts, or live dashboards. This article explains how now() behaves, shows you how to create a custom refresh trigger using Notion formulas and automations, and lists the exact workarounds to make your timestamps update at a frequency you control.

You will learn the technical refresh rules of now(), how to combine it with dateBetween() and a manual toggle, and how to use Notion Automations to force a refresh on a schedule. The goal is to give you a reliable method to update date formulas without editing each row manually.

Key Takeaways: Forcing now() to Refresh on Your Schedule

  • now() + a Checkbox toggle: Flipping a checkbox recalculates now() on the same row instantly.
  • Notion Automation + dateBetween(): Schedule an automation to edit a property every N minutes to refresh all now() formulas in that database.
  • Database view refresh (Ctrl+R or Cmd+R): Refreshes the page and recalculates all formulas, including now(), for the current view.

ADVERTISEMENT

How Notion Formula now() Refresh Rules Work

Notion formulas are calculated only when a property value changes or when you reload the page. The now() function is no exception. It does not run continuously in the background. Every time you open a database page or edit any property in a row, Notion recalculates all formulas for that row. This means now() returns the moment of the last edit or page load, not the true current time.

The core limitation is that Notion lacks a built-in timer or interval trigger for formulas. You cannot set a formula to auto-refresh every 5 minutes. Instead, you must design a workaround that causes a property change at your desired frequency. The most common triggers are:

  • Manual checkbox toggle: Click a checkbox to flip its state, which triggers a formula recalc for that row.
  • Notion Automation (button property): Create a button that edits a property when clicked, refreshing the row.
  • Notion Automation (time-based): Schedule an automation to update a property in all rows at a set interval.
  • Page reload: Press Ctrl+R (Windows) or Cmd+R (Mac) to reload the entire database view.

None of these methods give you a true live clock, but they let you control how often now() gets a new value. For most business use cases, a refresh every 1 to 15 minutes is sufficient.

Building a Custom Refresh System for now()

To make now() update on a schedule, you need a helper property that changes at your desired interval. The following steps create a checkbox that, when toggled, refreshes the now() formula. Then you will add a Notion Automation to toggle that checkbox automatically.

Step 1: Create the Formula Property with now()

  1. Add a formula property
    Open your Notion database. Click the + icon in the last column header. Select Formula from the property type list. Name it “Current Time” or something similar.
  2. Enter the now() formula
    In the formula editor, type now(). Optionally format it using formatDate(now(), "MMM DD, YYYY h:mm A") for a readable timestamp. Click Done.

This formula will now display the date and time of the last refresh event for each row.

Step 2: Add a Checkbox Property as a Refresh Trigger

  1. Create a checkbox property
    Add a new property, select Checkbox, and name it “Refresh Trigger”.
  2. Test the refresh
    Check the box in any row. The now() formula updates immediately to the current moment. Uncheck it, and it updates again. Each toggle counts as a property edit, forcing a formula recalculation.

This manual method works for occasional refreshes but becomes tedious if you need updates every minute across many rows.

Step 3: Automate the Toggle with Notion Automations

  1. Open Notion Automations
    In your database, click the menu in the top-right corner, then select Automations. Click + New automation.
  2. Set the schedule trigger
    Choose Schedule as the trigger type. Set the frequency to every 5 minutes, 10 minutes, or whatever interval you need. Notion supports intervals as short as 1 minute in paid plans (Plus and above). Free plans are limited to 5-minute minimum intervals.
  3. Add an action to edit the checkbox
    Click + Add action. Choose Edit a property. Select the “Refresh Trigger” checkbox property. Set the value to Checked. Then add a second action to Uncheck it. This ensures the property changes each time the automation runs, even if it was already checked.
  4. Name and save the automation
    Give the automation a name like “Refresh now() every 5 min” and click Save. The automation will now run on your schedule, toggling the checkbox for all rows in the database (or only rows that match a filter if you set one).

After the automation runs, every row’s now() formula updates to the current time. You can hide the “Refresh Trigger” column from your views to keep the interface clean.

ADVERTISEMENT

Common Problems and Workarounds

now() Shows the Same Time for All Rows

This happens when the automation toggles the checkbox in a single action that does not change the property value. If you set the automation to always check the box, rows that are already checked will not trigger a recalc. The fix is to add two actions: first check, then uncheck. This guarantees that every row experiences a property change.

Automation Does Not Run on Free Plan

Notion Automations are available on the Plus plan and above. Free plan users cannot schedule automatic toggles. As a workaround, you can use a third-party tool like Zapier or Make to update a property in your Notion database on a schedule. Alternatively, you can manually click a button property that runs a formula to update the checkbox.

now() Formula Shows the Wrong Time Zone

Notion uses your browser’s time zone for now(). If you share the database with users in different time zones, each sees the time relative to their own zone. To lock a specific time zone, use fromTimestamp(timestamp(now()) + offsetInSeconds) where offsetInSeconds is the difference from UTC. For example, for Eastern Standard Time (UTC-5), add -18000 seconds.

Manual Refresh vs Automation vs Button: Comparison

Method Refresh Speed Requires Paid Plan Best For
Manual checkbox toggle Instant per row No Occasional updates on a few rows
Notion Automation (schedule) Every 1-60 min (configurable) Yes (Plus or higher) Continuous updates across many rows
Page reload (Ctrl+R/Cmd+R) Instant for entire view No One-time refresh when you check the database
Button property with automation Instant when clicked Yes (Plus or higher) On-demand refresh by any viewer

The table shows that for a fully automated custom refresh frequency, a scheduled Notion Automation is the only method that does not require human interaction. Manual methods work for small databases or low-frequency needs.

You now have a working system to refresh now() at any interval you choose. Start by setting up the checkbox property and test the manual toggle. Then create a Notion Automation to run every 5 or 10 minutes. For advanced control, use the formatDate() function to display only the time or date as needed. Remember that the automation edits all rows in the database, so if you have a large database, consider adding a filter to limit which rows get refreshed.

ADVERTISEMENT