GOOGLE SHEETS → SNOWFLAKE
Land every worksheet from Google Sheets as a Snowflake table — stable across sheet renames, resilient to formula cells, and synced on your schedule.
When analysts maintain lead lists, finance builds planning models, or ops runs on Google Forms output, the data lives in Sheets. Supaflow turns each worksheet into a Snowflake table and keeps it fresh — using stable worksheet tracking so renames don't break the pipeline, and handling formula cells, oversized Sheets exports, and schema drift that break generic CSV importers.
Used by RevOps teams piping Google Forms responses and lead-scoring sheets into Snowflake, and by FP&A teams loading planning models for variance analysis — with no per-row fees.
Every row below is an actual capability in the Google Sheets connector, not a forward-looking promise.
| Feature | How it works | Limit / caveat |
|---|---|---|
| Worksheet as table | Each worksheet in a spreadsheet becomes its own Snowflake table, named from the source file and worksheet. Supaflow scans subfolders under the configured Drive folder. | Empty worksheets are skipped at schema discovery; they appear once they have data. |
| Stable worksheet tracking | Supaflow tracks the stable worksheet identity behind the title, so worksheets renamed between syncs continue to sync without reconfiguration. | If a worksheet is deleted and recreated with the same title, Google treats it as a new worksheet and Supaflow treats it as a new table. |
| Authentication | Two auth modes: user OAuth 2.0 (Google sign-in flow, refreshable tokens, easiest for getting started) or a Google service account (granted Viewer access on the target Drive folder, easier for unattended pipelines). Pick per source. | Token refresh happens automatically to prevent mid-sync failures, regardless of mode. |
| Incremental sync | Only spreadsheets touched since the last successful run are re-read. Incremental tracking happens at the spreadsheet file level. | Any worksheet inside a touched spreadsheet is re-synced in full; Google Sheets does not expose reliable cell-level incremental sync for this workflow. |
| Schema discovery | Row 1 is treated as the header row, and column types are inferred from sampled data rows. Formula cells use their evaluated value when available, and failed formula cells become null instead of aborting the sync. | There is no header-row auto-detection. If your sheet starts with title rows, banner notes, or merged cells before the actual header, add the row offset upstream or restructure the source sheet. |
| Rate limiting | Google rate limits and transient read failures are retried automatically before the file is marked failed. | — |
| Cancellation safety | Cancelled jobs stop promptly between file reads and parsing checkpoints. | — |
| Audit metadata | Every row loaded into Snowflake carries source spreadsheet metadata for lineage and debugging. | — |
| Destination | Lands directly in Snowflake with generated tables, Snowflake-ready types, and incremental merges where applicable. | — |
Every Supaflow connector is included on every plan at no extra cost. You pay only for compute consumed, measured in Supaflow Credits (1 credit = 1 compute-hour on a Small node). No per-row fees.
Large Sheets exports can fail. Formula cells evaluate inconsistently across workbooks with external references. Worksheet renames can orphan downstream consumers if the pipeline tracks by name. Supaflow addresses each case specifically.
Most pipelines that map worksheets to destination tables track them by name. When an analyst renames "Q3 final" to "Q3 final v2", those pipelines duplicate the table or drop history. Supaflow tracks the stable worksheet identity behind the name, so renames keep syncing to the same Snowflake table with full history preserved.
Every one of these is something our connector handles specifically. A generic pipeline built in Airflow or a basic ELT tool will hit at least three of them in production.
Failure mode: Google can refuse to export oversized Sheets files. A naive pipeline aborts the entire sync when one spreadsheet hits the limit.
Evidence: Verified against production spreadsheets that exceeded Google export limits.
Fix: Supaflow logs the specific oversized spreadsheet and continues the rest of the sync. Operators can split that sheet or load it as a direct Excel file while the rest of the data still lands.
Failure mode: Analysts rename worksheets all the time ("Q3 final" becomes "Q3 final v2"). Pipelines that track worksheets by name either duplicate the table or drop history on rename.
Evidence: Google keeps a stable worksheet identity behind the visible title. Tracking by title is the default footgun.
Fix: Supaflow uses the stable worksheet identity and resolves the current title at read time. Renamed worksheets keep syncing to the same Snowflake table; history is preserved.
Failure mode: Formula cells can evaluate to #REF!, #N/A, or throw on unresolved external references, circular dependencies, or deprecated functions carried over from Excel import. Naive readers throw and abort.
Evidence: Tested across planning sheets with complex IMPORTRANGE and VLOOKUP chains that failed cleanly against unrelated imports.
Fix: Supaflow uses the formula result when available and falls back safely when evaluation fails. Bad cells become nulls in Snowflake; the pipeline continues.
Failure mode: A single Drive folder often holds multiple spreadsheets with related but not identical schemas — one sheet adds a status column the others lack. A strict "first sheet defines schema" approach loses columns from later sheets.
Evidence: Common in ops workflows where different teams maintain parallel sheets with slightly divergent templates.
Fix: Union headers across sampled sheets with first-seen casing and insertion order preserved. Every column from every sheet appears in the target table; missing values are nulls.
Pick an auth mode: sign in with a Google user account via OAuth (fastest setup), or share the Drive folder with a Google service account (best for unattended pipelines). For Sheets, configure the source File Type as Google Sheets.
Google Drive source docs→Select the folder containing the spreadsheets you want to sync. Supaflow walks subfolders, opens each Google Sheet, and creates one Snowflake table per worksheet.
Connect your Snowflake warehouse. Supaflow creates Snowflake-ready tables, with one table per worksheet.
Snowflake destination docs→Pick a cron or interval. Incremental syncs pull only spreadsheets touched since the last successful run.
Schedules docs→Supaflow authenticates with either user OAuth 2.0 or a Google service account, scans the Drive folder you configure, opens each spreadsheet, and creates one Snowflake table per worksheet. Row 1 is treated as the header row, and column types are inferred from sampled data rows. When a spreadsheet changes, every worksheet inside it is re-read in full.
Nothing breaks. Supaflow tracks the stable worksheet identity behind the name, so a rename continues syncing to the same Snowflake table with full history preserved.
Google can refuse to export oversized Sheets files. When that happens, Supaflow logs the specific sheet and continues the rest of the sync. The practical fix is to split the oversized sheet or load it as a direct Excel file instead.
Fivetran and Hevo often price by rows or volume, which makes spreadsheet sync expensive when a single sheet regenerates daily. Every Supaflow connector is included on every plan at no extra cost. You pay only for compute consumed, measured in Supaflow Credits (1 credit = 1 compute-hour on a Small node). No per-row fees. See the pricing page for the credit packages and free tier.
Yes. Formula cells use their evaluated value when available and fall back safely when evaluation fails. Sheets with #REF!, #N/A, or broken IMPORTRANGE calls still sync; the bad cells become nulls in Snowflake rather than aborting the whole pipeline.
The connector is folder-based — point it at a Drive folder and every spreadsheet in it syncs. To isolate a single spreadsheet, put it in its own Drive folder and point the source there. This pattern also keeps blast radius small when you add new sheets over time.
Yes. The sync agent runs in your own VPC if you want spreadsheet contents and service-account credentials to stay in your network. The control plane is managed; the data plane can be managed or self-hosted.
The Google Sheets source and Snowflake destination, plus other Supaflow connectors you can pair into a Snowflake pipeline.
Source connector overview — Sheets, CSV, TSV, and Excel all use the same connector.
Bulk file-drop use case: CSV, TSV, and Excel from Drive into Snowflake.
Destination connector overview and capabilities.
Pair with Sheets when Salesforce reports are exported for collaboration.
Pair with Sheets for marketing reporting that mixes CRM and manual data.
Browse the full catalog of sources and destinations.
Full setup guide for both OAuth and service account auth, File Type selection for Sheets, and troubleshooting.
Connect your Snowflake warehouse, role requirements, type mapping, and sync semantics.
Long-form walkthrough from zero to production, with screenshots.
Every connector is included on every plan. Pay only for compute consumed (Supaflow Credits).
Every connector is included on every Supaflow plan — you pay only for the compute your pipelines consume. Worksheet-level tables, stable worksheet tracking, incremental sync, set up in under 10 minutes.