← Back to Blog

How Naxely Keeps Your Google Sheets Reports Current (Not Just a One-Time Import)

August 4, 2026

If you're running recurring client reports off a Google Sheet — a shared tracker your team updates weekly, a live dashboard export, anything that changes between report runs — the question that actually matters isn't "can I connect a Google Sheet." It's "does the report pull fresh data every time, or does it quietly keep showing me whatever was in the sheet the day I first connected it."

Here's exactly how Naxely handles that, including a real gap we found and fixed.

How it actually works

Every time a report generates from a connected Google Sheet — whether you're running it manually or it's on a schedule — Naxely fetches the sheet fresh at that moment. There's no cache TTL, no minimum interval between fetches. One report generation means one live read from your Google Sheet, every time.

If that live fetch fails for any reason — the sheet's been unshared, deleted, or Google's API has a hiccup — Naxely falls back to the last-known data pulled at connection time, so your report still generates instead of failing outright. That's a safe fallback, not a silent one at the system level: the report itself is marked internally as having used fallback data. (We're still working on surfacing that more visibly in the report itself — right now it's tracked, not yet shown in the UI. If you want to know whether a given report used live or fallback data, ask us and we can check.)

The gap we found and fixed

Worth being straight about this: the Sheets connector didn't always work this way. When it first shipped, it did a one-time import at connection time and cached that snapshot — which meant scheduled reports kept regenerating from that original import, not the sheet's current state. If your team updated the sheet after connecting it, scheduled reports wouldn't reflect that until someone manually reconnected.

We identified that scheduled reports were reusing a stale snapshot and fixed it — every report generation now does the live fetch described above, for both manual and scheduled runs. If you connected a Google Sheet before late July 2026 and have scheduled reports running off it, they're now pulling live data on every run, not the original snapshot.

Connecting a sheet

  1. Start a new report and choose Google Sheets as your data source (next to CSV and Excel).
  2. You'll see a service-account email address — share your Google Sheet with that address. Viewer access is enough; you don't need to grant edit permissions.
  3. Paste your sheet's URL and connect. Naxely validates the sheet has data before proceeding (checks for a real header row and actual content, plus standard security checks on the data itself).
  4. From there it's the same flow as any other data source — map your columns, configure the report, generate.

If your data isn't updating the way you expect

A couple of real failure modes worth knowing, both tied to sheet access rather than Naxely itself:

  • Permission revoked. If the sheet's sharing was changed and the service account no longer has access, the next report will fall back to last-known data instead of failing. Re-share the sheet with Viewer access to restore the live connection.
  • Sheet deleted or the link is wrong. Since the connection is tied to the sheet's unique ID in the URL, a deleted or moved-and-unshared sheet won't be found on the next fetch. Renaming the sheet itself is fine — that doesn't affect the connection at all, since it's ID-based, not name-based.

If a report doesn't look like it picked up recent changes, checking sharing permissions first is the fastest way to rule out the most common cause.


Naxely turns your CSV or Google Sheet into a branded, AI-narrated PDF report in under 60 seconds. Learn more about how the full pipeline works →

Related reading: Converting CSVs into client-ready PDF reports · What our anomaly detection actually catches

Naxely © 2026