How to sync Airtable to Google Sheets automatically
Airtable is where the data gets entered; Google Sheets is where it gets analysed, charted, shared with people who don't have an Airtable seat, and pulled into Looker Studio. Sooner or later every Airtable team asks the same question: how do I get this table into Sheets and keep it there without copying and pasting every morning? Here are the four methods that actually work in 2026, with their real costs and limits.
Method 1: Manual CSV export
In any Airtable view, open the view menu → Download CSV, then File → Import in Google Sheets. It is free and fine for a one-off. The problem is that nothing stays in sync: every refresh is a manual round trip, and importing over an existing tab tends to break formulas that reference it. Use this for a snapshot, not for a report someone looks at weekly.
Method 2: A shared view link + IMPORTDATA (mostly dead)
Older tutorials suggest sharing a view and pointing =IMPORTDATA() at its CSV URL. Airtable's shared-view CSV endpoints are not stable and require a signed-in session for most bases, so this either fails outright or silently stops updating. We don't recommend building anything on it.
Method 3: Zapier or Make
Automation platforms can push each new Airtable record into a Sheets row. This is event-based, not a sync: edits and deletions in Airtable are not reflected unless you build extra scenarios, and every record costs a task. At Zapier's pricing, a 2,000-row base that changes frequently blows through the Starter tier quickly. Good for "append form submissions to a sheet", bad for "mirror this table".
Method 4: A scheduled sync add-on (recommended)
A Google Sheets add-on that reads the Airtable API on a schedule and rewrites a tab is the only approach that handles inserts, edits and deletes correctly, respects views (hidden fields, filters, sort order) and needs no external automation platform. The options in 2026:
| Tool | Type | Scheduled sync price | Row limit | Status |
|---|---|---|---|---|
| Coupler.io | Web app + add-on | from $32/mo | 5,000 rows on Starter | Active; free tier removed |
| Coefficient | Add-on | from $49/mo | varies by plan | Active; enterprise-oriented |
| Airtable Importer (Railsware) | Add-on | — | — | Closed |
| AirTable 2 Google Sheet Sync | Add-on | — | — | Abandoned (2★, last update 2024) |
| Basepull | Add-on | $19/mo (free manual plan) | 200,000 | Active |
Setting up a scheduled sync with Basepull
- Install Basepull from the Google Workspace Marketplace and open it from Extensions → Basepull → Open Basepull.
- In Airtable, go to Create token, add the scopes
data.records:readandschema.bases:read, and grant access to the bases you want to sync. Paste the token into the sidebar. It is stored in your Google account's script properties, not on any third-party server. - Choose the base, table and (optionally) view. Name the destination tab. Pick "Every hour", "Every 6 hours" or "Daily".
- Click "Run now" once to confirm the columns look right. From then on the tab refreshes itself.
Tip: keep the synced tab as a raw mirror and build your formulas, pivots and charts on other tabs that reference it with =QUERY('Leads'!A:Z, …). That way the hourly rewrite never breaks anything.
How Airtable field types map to Sheets cells
- Single line text, long text, number, currency, percent, date, checkbox → the same value.
- Single select → the option name. Multiple select → names joined with commas.
- Linked records → the primary field of each linked record, comma-separated (or the record IDs if you sync the linked table too).
- Lookups and rollups → flattened the same way as their underlying type.
- Attachments → the file URLs, comma-separated. Use
=IMAGE()in Sheets if you want thumbnails. - Collaborators → the person's name. Formula errors →
#ERROR.
Which method should you use?
If you need a snapshot once, export CSV. If you need every new form submission appended to a log, Zapier is fine. If you need a table or view in Sheets that is always current — for a dashboard, a client report or a Looker Studio source — use a scheduled add-on. Basepull does exactly that for $19 a month, or free if a manual refresh is enough.