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 recalculatesnow()on the same row instantly.- Notion Automation +
dateBetween(): Schedule an automation to edit a property every N minutes to refresh allnow()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.
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()
- 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. - Enter the now() formula
In the formula editor, typenow(). Optionally format it usingformatDate(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
- Create a checkbox property
Add a new property, select Checkbox, and name it “Refresh Trigger”. - Test the refresh
Check the box in any row. Thenow()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
- Open Notion Automations
In your database, click the … menu in the top-right corner, then select Automations. Click + New automation. - 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. - 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. - 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.
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.