Example 9: Snowflake -> Google Sheets executive report
Why this example
The exec team reads a monthly KPI dashboard inside a shared Google Sheet that they already have bookmarked. Authoring the same report inside Snowflake or BI tools nobody opens isn't useful. This workflow runs once a month, queries the KPI fact table in Snowflake, pivots it into the wide layout the sheet expects, and writes back to the same tab.
Helix Beverages context: the CEO at Helix has read the same shared Google Sheet every Monday morning since 2021. No BI tool will replace that workflow. This recipe is how the leadership team keeps the Sheet auto-fresh from Snowflake (named problem 4 in the Helix overview).
At a glance
- Connectors used: Snowflake, Google Sheets
- Nodes used: Start, Source, Reshape (pivot), Transform, Load
- Schedule: monthly, the 1st at 09:00 local
- Direction: One-way (Snowflake -> Google Sheets)
Canvas
Start
Source: KPI_FACTS (long)
Reshape: pivot to wide
Transform: format + headers
Load: Google Sheets
Step-by-step
| # | Node | Action | Key configuration | Output shape |
|---|---|---|---|---|
| 1 | Start | -- | -- | -- |
| 2 | Source | Snowflake: query | SELECT month, region, kpi_name, value FROM WH.MART.KPI_FACTS WHERE month = DATE_TRUNC('month', CURRENT_DATE) - INTERVAL '1 month' | Long-format rows: { month, region, kpi_name, value } |
| 3 | Reshape | -- | Pivot mode: rows = region, columns = kpi_name, values = value. | One row per region, one column per KPI |
| 4 | Transform | -- | Add a top-row header label, format month as MMM YYYY, round numeric columns to two decimals. | Sheet-ready row |
| 5 | Load | Google Sheets: write | Sheet ID + tab name (e.g. KPI Monthly). Mode: Replace tab contents. Header row: first row. | -- |
Variations
- Day-level instead of monthly -- change the schedule + the Source predicate.
- Append rather than replace -- switch the Load mode to
Append. Useful for an audit log that grows over time. - Multiple sheets in one workbook -- duplicate the Reshape + Load chain after the Source; each branch targets a different tab.
- PDF snapshot -- run a final Notification node that emails the leadership team with the sheet URL after the load completes.