Daily RudderStack catalog snapshot in Google Sheets

Wake up to a fresh Google Sheet listing every RudderStack transformation and library, refreshed automatically at 7am each day.

Deterministic Code
RudderStackGoogle SheetsOperationsEngineeringData SyncDaily Digests

Build a code workflow that keeps a Google Sheets tab in sync with my RudderStack workspace every morning so my data team has a living catalog of every transformation and library. The sheet should be the source of truth for what transformations exist and which destinations they hit, with no one hand-maintaining it.

Trigger: cron, daily at 7:00am in my workspace timezone.

Steps, in order:

1. Call RudderStack List Transformations to get every published transformation in the workspace. This endpoint is not paginated, so a single call returns the full list. No loop or cursor handling is needed.

2. Call RudderStack List Libraries to get every published library. Also not paginated, single response with the full list.

3. Flatten both lists into a single array of rows with these columns, in this order: name, id, type (the literal string "transformation" or "library"), language, latest version id, updated_at, connected destinations (comma-separated list of destination IDs, populated only for transformations and left blank for libraries), and description. Use the metadata returned by the list endpoints. Do not fetch version history or per-item details; the list response is enough.

4. Call Google Sheets Batch Update Values to overwrite a configured range on a configured spreadsheet ID and tab name (default tab name: "RudderStack catalog"). Write a header row first, then one row per item. Use valueInputOption=RAW. Compute the range so it covers the full set of rows the workflow just produced, and replace the entire range on every run so stale rows from deleted transformations and libraries do not accumulate. Use Batch Update Values rather than Append Values for this reason.

Integrations: rudderstack and google-sheets.

Inputs the user should configure at setup: the target spreadsheet ID, the target tab name (default "RudderStack catalog"), and the cron schedule (default 7am daily).

This is a deterministic pipeline. No LLM nodes, no natural-language reasoning, no judgment calls. Every step maps to a known integration node.

Additional information

What does this prompt do?
  • Every morning at 7am, pulls every published transformation and library from your RudderStack workspace.
  • Flattens both into a single tidy table with names, IDs, types, languages, latest versions, connected destinations, and descriptions.
  • Replaces the contents of your chosen Google Sheets tab so the snapshot stays clean and stale entries never linger.
  • Gives your data team a self-updating index they can pivot, filter, and link into other dashboards.
What do I need to use this?
  • A RudderStack account with an access token for the workspace you want to track.
  • A Google account with edit access to the spreadsheet where the catalog should live.
  • A spreadsheet and tab name picked out in advance, for example a tab called RudderStack catalog inside a shared sheet.
How can I customize it?
  • Move the refresh time off 7am, or run it more than once a day if your team ships changes throughout the day.
  • Change which spreadsheet or tab the snapshot writes to, or split transformations and libraries onto separate tabs.
  • Add or remove columns such as connected destinations or descriptions so the sheet matches how your team likes to slice the catalog.

Frequently asked questions

What ends up in the sheet?
One row per transformation and per library, with columns for name, ID, type, language, latest version, connected destinations, last updated date, and description. Each run replaces the whole range so the sheet always matches what is live in RudderStack.
Will deleted transformations stay in the sheet?
No. The workflow overwrites the full range on every run, so anything you removed from RudderStack disappears from the sheet the next morning.
Can I share this sheet with people who do not have RudderStack access?
Yes. The output is a plain Google Sheet, so you can share it with anyone in your company and they can pivot, filter, or link to it like any other spreadsheet.
How often does it run?
Once a day at 7am by default. You can pick a different time or run it more often when you set the workflow up.
Does this change anything in RudderStack?
No. The workflow only reads from RudderStack. It never edits or deletes transformations or libraries.

Stop hand-maintaining your RudderStack index.

Connect RudderStack and Google Sheets once, and your data team wakes up to a fresh transformation catalog every morning.