Google Sheets
Sync data from Google Sheets spreadsheets.
Configuration
| Field | Required | Description |
|---|---|---|
spreadsheet_id | Yes | The ID from the spreadsheet URL |
service_account_json | Yes | Service account key JSON from Google Cloud Console (must contain client_email and private_key fields) |
How It Works
- Each sheet tab becomes a separate stream (table)
- The first row is used as column headers
- Column and table names are normalized: lowercased, spaces replaced with underscores (e.g.
Business Category→business_category, sheetIssued Licenses→issued_licenses) - Data types are inferred from cell values (boolean, integer, float, string)
- Only full refresh is supported (sheets do not have change cursors)
- Use
rq tables describe <schema>.<table>after sync to see exact column names
Setup
- Create a service account in Google Cloud Console
- Download the JSON key file
- Share the spreadsheet with the service account email (Viewer access is sufficient)
- Paste the JSON key and spreadsheet ID into the connection form