Connect Google Sheets to airsource
Send your synced data — orders, customers, subscriptions, and more — directly to a Google Sheet that you control.
For the operator-side setup (Google Cloud OAuth client provisioning, Vercel env vars), see
google-sheets-setup.md. This guide is for airsource customers connecting their own Google account.
What gets written
airsource adds one row per source record to your spreadsheet. Each source (Stripe, Shopify, eBay, etc.) writes to its own tab, with column names inferred from the source schema.
- One row per record: Each Stripe customer, Shopify order, eBay transaction becomes a row
- Upsert by source ID: Existing rows are updated in place rather than duplicated
- AI-mapped headers: Column headers are inferred from the source data on first sync
What you need
- A Google account with edit access to the spreadsheet you want to use
- The spreadsheet URL or ID (a new empty spreadsheet works best)
- About 2 minutes
Setup
Step 1: Start the connection
From your airsource onboarding screen, choose Google Sheets as the destination and click Connect Google Sheets.
You will be redirected to Google's account chooser.
Step 2: Authorize airsource
- Choose the Google account that owns the spreadsheet
- Review the requested permission:
- See, edit, create, and delete only the specific Google Drive files you use with this app
- Click Continue
airsource only receives a refresh token scoped to the Google Sheets API (https://www.googleapis.com/auth/spreadsheets). It cannot read your Gmail, Drive, Calendar, or any sheet you have not explicitly connected.
Step 3: Choose or create your spreadsheet
After authorization you'll be returned to airsource. You can either:
- Paste a spreadsheet URL (e.g.
https://docs.google.com/spreadsheets/d/1AbCd.../edit), or - Create a new spreadsheet named after your source (recommended for first-time setup)
Step 4: You're done
The first sync starts within a minute. By default, subsequent syncs run every 15 minutes. You can change the interval in your airsource dashboard.
Permissions explained
airsource requests the minimum scope needed to write rows:
| Scope | Why it's needed |
|---|---|
https://www.googleapis.com/auth/spreadsheets |
Read header rows, append data rows, update existing rows by ID |
airsource cannot:
- Access spreadsheets you have not explicitly linked
- Read or write any file in Google Drive outside of the linked spreadsheet
- Access your Gmail, Calendar, Contacts, or other Google services
Disconnecting
You can revoke airsource at any time from Google's account settings: https://myaccount.google.com/permissions
Revoking the token stops future syncs immediately. Data already written to your spreadsheet remains in place.
Troubleshooting
"This app isn't verified" warning: airsource is currently undergoing Google's OAuth verification. Click Advanced > Go to airsource (unsafe) to proceed. Once verification completes, this warning will disappear.
"Invalid or expired state" error: The OAuth session expired (10-minute window). Click Connect Google Sheets again to restart.
Headers look wrong on first sync: airsource uses AI to infer column headers from your source schema. Edit the first row manually and airsource will respect your column names on the next sync (existing headers are not overwritten).
Rate limit errors in dashboard: Google Sheets has a quota of ~100 writes per 100 seconds per user. airsource batches writes, but very large syncs (10,000+ rows) may hit the limit. Contact support to enable batched async writes.
Support
Contact support@airsource.io with your airsource account email and the spreadsheet URL if you need help.
