Airtable to Attio Sync
Sync selected Airtable rows into Attio and link them to People by email. Updates and deletions in Airtable update the corresponding Attio records.
Requirements
An Airtable account with access to the selected bases, base and table IDs, a field map, and an Attio workspace for the custom app.
Setup
If the integration is not installed in your workspace, request setup.
- Choose bases, tables and fieldsConfirm the bases and tables to sync, the field map, the email fields used to match People, and any historical import or sync-status write-back.
- Create an Airtable personal access tokenLimit the token to the selected bases. Include data.records:read, schema.bases:read and webhook:manage. Add data.records:write only for approved write-back.
- Install the custom Attio appAdd the Airtable token and the JSON configuration for each base, table and field map.
- Provision the connectionThe app creates the Attio mapping object and Airtable webhooks, then checks access to each configured table.
- Start sync and any historical importNew changes sync through webhooks. Import existing rows separately if a backfill is included.
For the token step, see Airtable's guide to creating personal access tokens.
Configuration
| Setting | Configuration |
|---|---|
| Bases and tables | Airtable bases and tables allowed to sync. |
| Field map | Airtable fields and their Attio destinations, configured with stable field IDs where needed. |
| People matching | Primary and secondary email fields, additional People links and unmatched-email handling. |
| Per-base coverage | Separate mapping and historical-import rules for each base. |
| Write-back | Optional status or timestamp written to Airtable. Requires data.records:write. |
| Deleted rows | How deleted Airtable rows are marked and filtered in Attio. |
| Historical import | Rows and filters to include in the initial import. |
Sync behavior
Updates
Changes to mapped Airtable fields update the corresponding Attio record. Each table has explicit webhook coverage and its own field map.
People matching
The primary email field links the row to an Attio Person. A secondary email can link additional People. Airtable record and base IDs identify the mapping record so repeated updates target the same record.
Deleted rows
Deleting a row in Airtable marks its Attio mapping record as deleted. It does not remove the record from Attio. Filter deleted rows out of active views to retain the history.
Limitations
- The default direction is Airtable to Attio. Write-back is limited to agreed fields, such as sync status.
- Linked records, lookups, rollups and formulas sync as displayed values unless a separate relationship mapping is configured.
- Attachments stay in Airtable. Text links can be included when configured.
- Configuration uses JSON rather than a visual field mapper. Each table needs its own entry.
- Historical imports are paced around Airtable API limits.
Troubleshooting
New or changed fields are missing
Update the field map and reprovision the connection after changing Airtable fields, Attio attributes or email-matching rules.
A row links to the wrong Person
Check the primary and secondary email fields configured for that table. Those fields control People matching.