Guides · Free tools

Airtable to Google Sheets sync script generator (free)

Fill in a short form and get a ready-to-paste Google Apps Script that copies an Airtable view into a Google Sheet and refreshes it on a timer: hourly, every 6 hours or daily. No add-on, no Zapier, no signup.

The base ID is the app... part of an Airtable URL such as airtable.com/appXXXXXXXXXXXXXX/tbl.../viw....

Your Apps Script

How to install it

  1. Create a token. Open airtable.com/create/tokens, create a personal access token with the single scope data.records:read (the script does not read the schema, so schema.bases:read is not needed), add your base under Access, and copy the token.
  2. Open the script editor. In the Google Sheet, choose Extensions > Apps Script.
  3. Paste the script. Select everything in Code.gs, delete it, paste the generated script and save.
  4. Add the token. Go to Project Settings (the gear), scroll to Script properties, click Add script property, name it AIRTABLE_TOKEN and paste the token as the value.
  5. Run it once. Pick syncAirtable in the function list and click Run. Google asks you to authorize the script. After that the sheet fills, and cell A1 gets a note with the last sync time.
  6. Start the timer. Pick setupTrigger and click Run. It deletes older triggers for syncAirtable and creates the one you chose. Reload the sheet and an Airtable > Sync now menu appears for manual runs.

What the script does

Limits to know about

Other ways to get Airtable into Google Sheets

Want it delivered instead of synced?

ViewCourier emails any Airtable view as a CSV, Excel (.xlsx) or PDF file on a schedule (daily, weekly or monthly, in your timezone), with no scripts to maintain.

Start free (no card) Read: Airtable to Google Sheets, no Zapier

Also free: export every table to CSV in one ZIP · export a whole base to one Excel workbook · export a table or view to JSON · export the base schema as a data dictionary · count records per table vs your plan limit · print a view or save it as PDF · download all attachments as a ZIP.

FAQ

Does Airtable have a built-in sync to Google Sheets?

No. Airtable has no built-in sync that keeps a Google Sheet updated from a view. The usual routes are a script like the one this page generates, a connector service, or a live CSV link that the sheet reads with IMPORTDATA.

Is it safe to use this with my Airtable token?

This page never asks for the token. You paste it into Script properties of your own spreadsheet, and the script sends it only to api.airtable.com. Use a token with only the data.records:read scope and only the one base. Anyone who can edit the spreadsheet can open its script and read the properties, so share edit access with care.

Why does Google say the app is not verified?

Because it is your own script asking permission to call an outside service and edit your spreadsheet. On the first run, read the permission list, click Advanced and continue to the project. Nobody else gets access.

Is the sync two-way?

No. It copies Airtable into the sheet and nothing goes back. The tab is cleared and rewritten on every run, so do not type in it. Put your own formulas, charts and pivot tables on a different tab that reads from it.

Why do linked records show up as rec... codes?

The Airtable API returns a linked record as its record ID, not its name. Add a lookup field in Airtable that returns the name, then list that field in the generator.

What happens with a very large table?

Airtable returns 100 records per request and Apps Script stops a run after 6 minutes. The sheet is written only after every page has loaded, so a run that times out leaves the previous data in place. For big tables, point the script at a smaller view.