Skip to main content

Airtable Setup Guide

Prerequisites

  • An Airtable account with access to the bases you want to sync into.

Setup Guide

Step 1: Create a Personal Access Token in Airtable

  1. Sign in to Airtable and open the personal access tokens page.
  2. Click Create token, give it a descriptive name like Matia-Integration.
  3. Add the scopes data.records:read, data.records:write, and schema.bases:read.
  4. Grant access to the base(s) you want Matia to write to.
  5. Click Create token and copy the generated token - you will need it to configure your connection.

Step 2: Complete Configuration in Matia

  1. Enter the Personal Access Token you just generated from Airtable.
  2. Enter an Asset Name.
  3. (Optional) Enter a Description.
  4. (Optional) Assign Tags.
  5. Select an Owner.
  6. Verify that your Airtable account is successfully connected by clicking on Test Connection.
  7. Click Connect.

Supported Objects

This Reverse ETL connector supports syncing to Airtable tables. One connection covers your whole account: every table in every base your token can reach is offered as Base / Table, so you do not need a separate connection per base.

Sync ObjectSupported Sync Modes
TableUpsert, Mirror

Records are matched either on the Airtable Record ID or on a table field. Airtable accepts number, text, long text, single select, multiple select and date fields as a matching field; a matching field whose value appears on more than one Airtable record is rejected for that record.

A linked record column can be mapped like any other field. Because Airtable stores a link as a reference to a record, you also choose which column of the linked table your values name the record by - its Airtable Record ID, or any of its number, text, long text, single select and date columns. Each value is matched against that column before the record is written, and it must match exactly one record in the linked table: a value that matches none, or that matches several, is reported as rejected and the row is not written. This is deliberate - passing an unmatched value straight to Airtable would add a new record to the linked table. A column Airtable configures to link to a single record rejects rows carrying several values. As with a matching field, a multiple select column cannot be used to look up linked records.

In Mirror mode, a row removed from your model is also deleted from Airtable. The record is located by the same matching field, and a row is deleted only when exactly one Airtable record matches it: a row that matches none, or that matches several, is reported as rejected and nothing is deleted for it. Airtable has no recycle bin for API deletes - restore a record from the base's revision history if you need it back. A multiple select field cannot be used to match records for deletion, so choose a different matching field for a Mirror sync: rows matched on one are reported as rejected and nothing is deleted for them.