top of page

The Smartsheet TODAY() Formula Bug That's Corrupting Your Dashboard Data


The Smartsheet TODAY() Formula Bug That's Corrupting Your Dashboard Data

A Silent Bug in Almost Every Smartsheet Dashboard

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() Formula 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.


Frequently Asked Questions


Does the TODAY() formula work correctly if I have the sheet open?

Yes. If you or anyone on your team has the sheet open in a browser tab, TODAY() will return the correct date. The problem only occurs when nobody has the sheet open. The formula doesn't recalculate in the background without a user session.


Can I use a daily automation instead of TODAY() for all my formulas?

Yes, and I recommend it for any production metric sheet. The automation-based approach is more reliable because it doesn't depend on user behavior. Set it up once and it runs every day automatically.


Will this automation count against my Smartsheet automation limits?

It runs once per day, so it uses one automation run per day. For most plans, this is negligible. The reliability it provides far outweighs the minimal automation budget it consumes.


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.



 
 
 

Comments


bottom of page