Weekly Upstash inventory and spend log in Google Sheets

Every Monday at 7am, every database and index in your Upstash account lands in a spreadsheet with its size, usage and cost, so you keep a history you can chart.

Deterministic Code
UpstashGoogle SheetsEngineeringOperationsData SyncResearch & Monitoring
PromptCreate

Every Monday at 7am, take a point in time inventory of my entire Upstash account and append it to a Google Sheet, so I keep a cost and capacity trend that outlives what the Upstash console retains.

Start by enumerating every resource in the account. Use the Upstash List Redis Databases operation to get every Redis database, and List Vector Indices to get every Vector index. Then, for each Redis database returned, call Get Redis Database Stats to pick up its current usage: current_storage, total_monthly_requests, total_monthly_bandwidth and total_monthly_billing.

Write one row per resource into the sheet using Google Sheets Append Values, with this exact column order on every run: run date, resource type, name, region, plan or tier, storage, monthly requests, monthly bandwidth, monthly billing. Resource type is either redis or vector. The run date is the date the workflow executes, and it is the same value on every row of a given run so each week's batch can be grouped.

Redis databases and Vector indexes come back with different shapes, so use this one shared column set and leave a blank where a field does not apply. The stats call is Redis only, so vector rows carry the run date, resource type, name, region and tier taken from the index listing, and leave storage, monthly requests, monthly bandwidth and monthly billing blank. Never reorder or rename the columns between runs. The entire point is that appended rows line up into a trend I can chart.

Finish each run with a single totals row: the run date, the word TOTAL in the resource type column, and the account wide sums for storage, monthly requests, monthly bandwidth and monthly billing across every Redis database. Leave name, region and plan blank on that row so it is easy to filter the totals apart from the per resource rows.

Append using the value input option that parses entries the way typed input is parsed, so the run date lands as a real date and the usage and cost figures land as numbers rather than text, and the columns stay chartable without cleanup. Only ever append. Do not overwrite, clear or rewrite existing rows, so every week stacks onto the bottom of the history.

This is a straight list, format and append with no judgement required, so build it as a deterministic workflow. If the account has no resources at all, still append the totals row with zeros, so the weekly record has no gaps.

What does this prompt do?

  • Takes a full inventory of your Upstash account every Monday morning, covering every Redis database and every vector index
  • Records how much each database holds and what it has cost this month, including storage, request volume, bandwidth and spend
  • Adds one row per resource plus an account wide totals row, so week after week the sheet builds a trend you can chart
  • Keeps the same columns in the same order on every run, so the history stays clean enough to pivot without any cleanup

What do I need to use this?

  • An Upstash account, with sign in details that can see the databases and indexes you want tracked
  • A Google account and a spreadsheet you want the log written into
  • A tab in that spreadsheet set aside for the log, with a header row matching the columns below

How can I customize it?

  • Change the timing: run it daily for a finer trend, or monthly if you only care about the bill
  • Add or remove columns to match what you report on, as long as the order stays the same every week
  • Point it at a different spreadsheet or tab, for example one per environment or one per team

FAQs

Why not just check the Upstash console?
The console shows you current numbers and only keeps a limited window of history. This copies those numbers into your own spreadsheet every week, so you keep the full record and can chart months of growth and spend instead of a snapshot.
Does this change anything in my Upstash account?
No. It only reads. Nothing is created, changed or deleted, and it never touches the data stored inside your databases or indexes.
Do vector indexes get the same columns as databases?
They share one set of columns so the rows line up. Vector indexes record their name, region and tier, and the usage and cost columns are left blank for them, since those figures are only reported for Redis databases.
What happens when I add or delete a resource?
Each run records whatever exists at that moment. New resources show up in the next weekly batch of rows, and removed ones simply stop appearing. Older rows are never rewritten, so they stay an accurate record of what you had at the time.
Can I share the sheet with people who do not have Upstash access?
Yes, and that is one of the better reasons to run this. Anyone you share the spreadsheet with can pivot and chart the trend themselves, with no access to your infrastructure needed.

Related templates

Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Flag VIP client emails in Zoho Mail and alert your team

Keep a spreadsheet of your most important senders, and every email from one gets labeled, posted to your team channel, and logged automatically.

Zoho Mail
Google Sheets
Slack Bot
Deterministic Code
Send Yotpo review requests when Shopify orders ship

The moment an order is fulfilled, we register it with Yotpo so the review request is timed off real delivery, and we log every sync so failures never go unnoticed.

Shopify
Yotpo
Google Sheets
Deterministic Code
Reconcile Shopify sales against Zoho Books every night

Every night at 11pm we compare the day's Shopify orders with your Zoho Books invoices and payments, and flag only what does not match.

Zoho Books
Shopify
Google Sheets
+1
Agentic Task

Stop losing your infrastructure cost history.

Set this up once and let your spreadsheet quietly build the spend and growth trend for you.