TL;DR / Key Highlights
The TODAY() formula in Smartsheet only recalculates when a sheet is physically opened. This causes stale data on dashboards that leadership relies on. The fix is a simple daily automation that records a date cell automatically: ensuring your metrics are always fresh.
There’s a bug hiding in almost every Smartsheet dashboard that uses date-based calculations: and most people don’t even know it’s there. It doesn’t throw an error. It doesn’t show a warning. It just silently feeds your dashboard the wrong numbers.
The problem is the TODAY() formula.
TODAY() Only Updates When Someone Opens the Sheet
If you type =TODAY() into a Smartsheet cell: it returns today’s date. Straightforward. But here’s what Smartsheet doesn’t tell you upfront: that formula only recalculates when someone actually navigates to the sheet.
Read that again. The TODAY() formula does not update automatically in the background. It updates when you or someone on your team physically opens the sheet in a browser or the app.
So if you built a metric sheet that uses TODAY() to determine which month’s data to highlight on your dashboard: and nobody opens that sheet for three days: your dashboard is showing data based on whatever date it was when someone last visited.
For dashboards that leadership checks every morning: this is a silent credibility killer. The numbers look fine. They’re not showing errors or blanks. They’re just wrong. And the discrepancy might be subtle enough that nobody catches it until someone compares the dashboard to the actual data and the numbers don’t match.
Where a Stale Date Corrupts Your Data
Any formula in your metric sheet that relies on the current date is affected. That includes:
Current month calculations. Formulas that determine which month to highlight: what data to show as “this month”: or which metrics to display as the most recent. If TODAY() is stale: “this month” might actually be “last week.”
Status-based indicators. Anything that calculates whether something is overdue: on track: or at risk based on comparing a due date to today. A stale TODAY() means overdue items don’t get flagged on time.
Trend and cumulative views. If your metric sheet uses TODAY() to determine the cutoff point for cumulative calculations or to identify the current position on a trend line: the entire visualization shifts when the date is wrong.
The worst part is that this fails silently. There’s no error message. The dashboard renders normally. It just shows data that’s based on the wrong reference date.
The Daily Automation Workaround
The workaround is simple once you know about it. Instead of using the TODAY() formula: create an automation that writes the current date to a specific cell in your metric sheet every single day.
Here’s the setup:
Step 1. Create a cell in your metric sheet dedicated to holding today’s date. Label it clearly: something like “Current Date (Auto-Updated).”
Step 2. Build a Smartsheet automation with a recurring daily trigger. Set it to run once per day at a consistent time. Early morning works well so the date is fresh before anyone checks the dashboard.
Step 3. Configure the automation action to record the current date into that cell. This uses Smartsheet’s Record a Date automation action: which writes the actual system date regardless of whether anyone has opened the sheet.
Step 4. Update every formula in your metric sheet that currently references TODAY() to instead reference this automation-maintained cell. If your current date cell is in row 1 of a helper column: your formulas point there instead of calling TODAY().
That’s it. Your metric sheet now has a reliable: system-updated current date that doesn’t depend on human behavior. The dashboard gets accurate data every single day: whether anyone opens the sheet or not.
Set This Up Before You Build Anything Else
If you’re building a metric sheet designed to scale (one that covers years of monthly data and powers multiple dashboard views) this is a foundational best practice. Every date-dependent formula in your system needs to reference a reliable date source.
The TODAY() workaround should be one of the first things you set up when creating any new metric sheet. It takes five minutes to configure: and it prevents a class of silent data errors that can undermine trust in your entire dashboard.
I’ve seen environments where leadership stopped using the dashboard entirely because “the numbers didn’t match,” and the root cause traced back to a stale TODAY() formula in a sheet nobody had opened in four days. That’s an easy fix that prevents a hard conversation.
Building a metric sheet? This is one of the first things to get right. If you want a Smartsheet dashboard that leadership can trust every single morning: the foundation matters. Book a free strategy call to see how we can optimize your architecture.
Sources and further reading
- WOS Week 1 TODAY formula production packageWizard of Sheets
Used as source material or platform reference for the article guidance.
Frequently asked questions
Does TODAY() work if I have the sheet open?
Yes: if anyone has the sheet open: TODAY() returns the correct date. The bug only occurs when the sheet remains closed for days: as the formula does not recalculate in the background without a user session.
Can I use an automation for all my date formulas?
Yes: and it is highly recommended for production metric sheets. Pointing all date-dependent formulas to a single: auto-updated cell is more reliable than using TODAY() throughout your system.
Will this automation hit my account limits?
It runs once per day: consuming only one automation run. The data integrity and trust it preserves far outweigh the minimal automation budget required.


