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

  1. Choose the Google account that owns the spreadsheet
  2. Review the requested permission:
    • See, edit, create, and delete only the specific Google Drive files you use with this app
  3. 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.

Ready to connect?

Create your integration in 5 minutes.

Join the waitlist