Tally 2.4 is out: scheduled reports and a 3× faster API
Release notes

Tally 2.4: scheduled reports and a faster API

Send any dashboard by email or Slack on a schedule, and get answers three times faster.

Product updatesAll releases
Tally 2.4: scheduled reports and a faster API

Tally 2.4 is out today. It brings the feature you have asked for more than any other, scheduled reports, together with a new query engine that makes the API about three times faster, and forty-one smaller fixes.

Everything below is live for every workspace now. There is nothing to install and nothing to switch on, except the reports themselves.

What's new

  • New: Scheduled reports. Send any dashboard as an email or a Slack message every day, week or month.
  • New: Report snapshots. Every scheduled report keeps a copy, so you can see what the numbers were last Tuesday.
  • Improved: The API answers most queries in under 120 ms, down from about 380 ms.
  • Improved: Dashboards with more than twenty charts load in half the time.
  • Improved: CSV exports keep your column order and time zone.
  • Fixed: Weekly charts no longer start on Sunday for workspaces set to Monday.
  • Fixed: Funnel steps with the same event name are counted correctly.
  • Fixed: The date picker keeps the right month when you switch dashboards.
A scheduled report arrives as a short email with the three numbers you chose and a link to the full dashboard.
A scheduled report arrives as a short email with the three numbers you chose and a link to the full dashboard.

Scheduled reports

Most teams we talk to have the same Monday ritual. Someone opens Tally, takes three screenshots, pastes them into a chat message and writes "numbers look fine". It takes ten minutes, and when that person is on holiday, it does not happen.

Scheduled reports do this for you. Open any dashboard, choose Schedule, pick who should get it and how often, and choose up to three headline numbers to show at the top. Tally sends it at the time you choose, in each person's own time zone.

A few details we cared about:

  1. The email is short. Three numbers, the change since last time, and a link. No attachments, no forty-chart PDF.
  2. Slack works the same way. Choose a channel instead of an email address. The message uses Slack's own formatting, so it reads well on a phone.
  3. Snapshots. Every report keeps a copy of the numbers it sent. If someone asks "what did we see last month?", the answer is one click away.
We used to spend the first half of our Monday meeting finding the numbers. Now we spend it talking about them.

Dana Ruiz, head of product at Fieldnote

A faster API

The second big change is invisible, but you will feel it. We have replaced the query engine that sits behind every chart and every API call.

The old engine read raw events for most questions and added them up every time. The new one keeps small, pre-counted summaries for each hour and each day, and only reads raw events for the last few minutes. For most questions, that means reading a few thousand rows instead of a few million.

QueryBeforeAfter
Daily active users, 90 days410 ms95 ms
Funnel, 4 steps, 30 days1,280 ms340 ms
Retention cohorts, 12 weeks2,150 ms610 ms
Event count by property290 ms70 ms

Luis wrote about how we built it, and why it took six weeks instead of six months, in our engineering post.

The new engine runs on the same machines as before. It just reads a lot less.
The new engine runs on the same machines as before. It just reads a lot less.

For developers

The API is unchanged, so your code keeps working. Two new endpoints let you manage scheduled reports from your own tools:

curl https://api.tally.example/v2/reports \
  -H "Authorization: Bearer $TALLY_KEY" \
  -d dashboard=dash_8f2k \
  -d schedule="weekly:monday:09:00" \
  -d to="team@yourcompany.com"

The full reference is in the API docs, as usual.

💡
Scheduled reports are included in every plan. The free plan can have two; paid plans have no limit.

What's next

We are already working on 2.5. The big item is alerts: tell Tally which number matters, and it will tell you when that number does something unusual. If you would like to try alerts before everyone else, reply to any of our emails and say so.

How we chose what to build

Scheduled reports were the most requested feature on our public board for eleven months in a row. We did not build them sooner because the first three designs we made were too big: report builders with dozens of options, PDF layouts, custom branding. Every time we showed them to customers, the answer was the same. "I just want the three numbers on Monday morning."

So that is what we built first. Everything else can come later, if people still ask for it after using the simple version for a few months. Our guess is that most of them will not.

Thank you, testers

Forty-three workspaces used scheduled reports in private for the last five weeks. They found two bugs in the time-zone handling, one in the Slack formatting and one very embarrassing typo in the email footer. They also convinced us to add snapshots, which were not in the original plan. If you would like to test features before they launch, you can join the early-access list from your workspace settings.

Do scheduled reports count towards my event limit?

No. Reports read summaries that already exist, so they are free.

Can I send a report to people outside my workspace?

Yes. Anyone with an email address can receive a report. They only see what is in the email.

Will the faster engine change my numbers?

No. We ran both engines side by side for three weeks and compared every answer.

Great! Check your inbox and click the link to confirm.