Smartsheet Advanced Tips: TODAY() Refresh

This post represents a public cross-listing of a post I made to the Consulting Organization at Smartsheet in Jul 2020. The purpose is to help out potential end-users reading this. All thoughts are my own.

As a set of guiding principals and assumptions, let’s start off with the basics:

  • A cell-link or static reference (`DATE1`) is cheaper than a new calc (`TODAY()`)
  • A refresh on one sheet is more expensive than a refresh on many sheets
  • The maximum cell-link connections you should use is 5 (this is a bit arbitrary, but Cell-Links slow down as number of Cell-Links previous increase

Based on this set of guidelines, let’s define the critical steps to set up the methodology for a single sheet:

Single-Sheet Setup

Refreshing the TODAY() function on a single sheet can be done with the following steps:

  1. Implement `=TODAY()` as needed in a cell (i.e. in `DATE1`) 
  2. Create a new automation workflow that unlocks a row, where a dummy column has a unique value (i.e. Primary == <<DO NOT DELETE>>)
  3. Create a new automation workflow that locks a row, where a dummy column has the same unique value (i.e. Primary == <<DO NOT DELETE>>)

Now, turning them both on, only one should fire each day.  However, this should be sufficient in setting up the workflow. Cell link/formula around your sheet(s) as needed.

When you are done, you should have:

Control Center Setup

Refreshing the `TODAY()` function on the intake sheet can be done with the following steps:

  1. Implement `=TODAY()` as needed in a cell (i.e. in `TODAY1`) 
  2. Implement `=$DATE$1` in all subsequent date cells
  3. Set Primary == <<DO NOT DELETE>>
  4. Create a new automation workflow that unlocks a row, where a dummy column has a unique value (i.e. Primary == <<DO NOT DELETE>>)
  5. Create a new automation workflow that locks a row, where a dummy column has the same unique value (i.e. Primary == <<DO NOT DELETE>>)
  6. Log into Control Center
  7. Select Today as a profile data, linking from `TODAY` column to the `DATE` column on your metadata.
  8. Call this `TODAY` anywhere else in your solution package.

Multi-tier considerations or chained intake sheets should potentially not have the `TODAY()` on the Summary Sheet, as archiving may break these `TODAY()` functions.