---
title: Google Sheets
description: Connect Google Sheets, understand its sync behavior, and query every table and column it writes.
species: reference
---
# Google Sheets

Connect Google Sheets with Google OAuth and one or more selected spreadsheets. The source writes one discovered table per visible sheet tab under `titan.google_sheets`.
## Connect Google Sheets

1. Open **Apps**, choose **Connect app**, and select **Google Sheets**.
2. Enter Google OAuth and one or more selected spreadsheets.
3. Review the tables, then save the source.
4. Watch **Sync history** until the first run completes.

Credentials are stored as secrets. They never become lake columns or appear in query results.

## Sync behavior

Supernova infers types from 100 rows, forward-fills merged cells, and adds _sn_row_number so row identity remains explicit.

A new source syncs when you connect it and then follows its schedule. The default recurring interval is 4 hours. An interrupted run keeps its completed progress and retries safely.

Every lake table also has the [system columns](/v2/docs/concepts/your-lake#the-system-columns) `_synced_at` and `_deleted`; the column reference below lists source columns only.

## Table reference

Supernova discovers this reference from the connected account. Spreadsheet titles, sheet tabs, headers, and inferred types define the reference after setup.

Open **Apps → Google Sheets → Tables** after the first discovery run to see every exact table name, column name, type, and sync selection. Dynamic fields cannot be listed truthfully before an account is connected.

## Deletes and history

Rows are merged by their source key. When the source can prove that a row was deleted, Supernova keeps the row and sets `_deleted` so queries can choose whether to include history. Filter current-state queries with `where not _deleted`.
