« tlly.dev

Playbooks · Integrations

Google Sheets

Chart a published CSV. Start from the KPI template (Make a copy https://docs.google.com/spreadsheets/d/1Ty5X3LkY2unxTNGbkq36qDzuuYxQMsuywaTNyzL_pac/copy; public CSV https://docs.google.com/spreadsheets/d/1Ty5X3LkY2unxTNGbkq36qDzuuYxQMsuywaTNyzL_pac/export?format=csv&gid=1746689811; downloads /templates/google-sheets.csv and /templates/google-sheets.xlsx).

What you can track

Any numeric column in a CSV tlly can fetch: a published Google Sheet, a shared sheet exported as CSV, or any other HTTPS CSV. One job reads one value column into one series. Run one job per column.

The template columns are Date, Revenue, Signups, Active users, Orders, Pipeline value, with 30 daily rows from 2026-09-27. Download it from this site or copy the founder’s sheet.

Credential

None. The tab has to be readable without signing in.

Where to get it

Then either:

1. Share → General access → **Anyone with the link** → Viewer. The CSV tlly can fetch is https://docs.google.com/spreadsheets/d/FILE_ID/export?format=csv&gid=TAB_GID. The template’s public export, checked without sign-in, is https://docs.google.com/spreadsheets/d/1Ty5X3LkY2unxTNGbkq36qDzuuYxQMsuywaTNyzL_pac/export?format=csv&gid=1746689811. 2. Or File → Share → Publish to web, choose the tab and **Comma-separated values (.csv)**, and copy the …/pub?output=csv link. Publish only what you would put on a dashboard. Publish to web.

tlly job

{"series":"revenue","cron":"0 7 * * *","request":{"url":"https://docs.google.com/spreadsheets/d/FILE_ID/export?format=csv&gid=TAB_GID"},"extract":{"format":"csv","date":"Date","value":"Revenue"}}

Repeat with "value":"Signups" (and a new series name) for each column. Header matching ignores case.

A CSV with no extract.date is a snapshot: every row is stamped with the UTC fetch day, and the series keeps the last row for that day. Use that for a one-row sheet of current totals. It does not sum the column. A JSON aggregate that omits date does sum or count the whole list into one point. A history needs the Date column. A blank cell in a named Date column is also stamped with the fetch day. A date that is present but not a date is an error.

Gotchas

Alert ideas

Red when Revenue is below the month’s target. Yellow when Signups are under the trailing week. Pipeline value red below the cover number you agree with the user.

Verification

The template file in the repo matches the public export columns and the 30 dates 2026-09-27 through 2026-10-26. Publish-to-web steps follow Google’s help page linked above. The Make a copy URL is the founder’s sheet, not a guessed link. Date-less CSV stamping is this codebase’s fromCSV.