> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platinur.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Sheets

> Connect a Google account and sync selected spreadsheet tabs into Platinur.

## Before you connect

The Google account you authorize must be able to open the spreadsheet. You do not need to create
or paste a Google API key. Platinur requests read-only access and stores the renewable OAuth
connection separately from the source configuration.

Use an account that has at least **Viewer** access to the spreadsheet. If the file is in a shared
drive, make sure that account can open it in the browser. The normal flow does not need a Google
Cloud project, client secret, service-account JSON, or API key.

## Connect

1. Open **Integrations → New Source → Google Sheets**.
2. Select **Sign in with Google**, choose the account, and approve read-only access.
3. Choose a spreadsheet or paste its Google Sheets URL.
4. Test the connection, create the source, then open **Schema**.
5. Discover the workbook and select the tabs to sync.
6. Run the first sync and optionally add a schedule.

**Test Connection** verifies the Google authorization and selected spreadsheet. If you choose an
advanced authentication mode instead, paste the **spreadsheet URL or ID**; for a service account,
share the spreadsheet with that service account's email as Viewer. API-key mode only works for a
spreadsheet that is already readable through the Sheets API and is usually not appropriate for
private data.

The first row of each tab becomes column names. Blank or repeated headings are normalized to
stable warehouse-safe names. Each selected tab becomes one raw table.

## Common failures

* **The spreadsheet picker is empty:** reconnect the Google account that has Viewer access, then
  confirm it can open the spreadsheet in Google Sheets.
* **Access denied:** share the spreadsheet or shared-drive item with the authorized account (or
  service-account email in advanced mode), then test again.
* **A tab is missing:** ensure the tab is visible and has a usable first-row header.
* **Too large or throttled:** split the tab when it exceeds the limits below and avoid overlapping
  schedules while Google is returning quota errors.

## Limits and recovery

A tab is limited to 500,000 populated cells and 250,000 data rows by default. Split a larger tab
before syncing it. Google applies per-minute API quotas; Platinur retries transient throttling with
bounded backoff, but a sustained quota failure remains visible in the source's **Runs** tab.

If access is revoked or the OAuth refresh token stops working, reconnect the Google account from
the source's **Config** tab and test again.

## Rotate or revoke access

Google OAuth tokens are renewed by Platinur while access remains granted. To rotate the identity,
use **Reconnect** in the source **Config** tab, choose the replacement Google account, and test
the source. To revoke access, remove the account's access to the spreadsheet and revoke Platinur
in the Google account's third-party access settings; disable or delete the source in Platinur too.

See Google's [Sheets API limits](https://developers.google.com/workspace/sheets/api/limits).
For access administration, see [share files from Google Drive](https://support.google.com/drive/answer/2494822)
and [OAuth 2.0 for Google APIs](https://developers.google.com/identity/protocols/oauth2).
