How to connect Airtable
To connect an Airtable base to TeleportHQ, you need two things from Airtable: the Base ID and a Personal Access Token. Enter both in Data Sources → Add Data Source → Airtable and click Fetch Airtable Schema. TeleportHQ adds every table in the base to your project, so you can show its records on your pages.
Before you start
- You need an Airtable account with access to the base, for example a base called "Café menu".
- Each project can have one Airtable connection. Once it's connected, the Airtable card shows Already connected.
- Connecting Airtable doesn't turn a TeleportHQ website into a web app.
Steps
1. Find your Airtable Base ID
- Open your base in Airtable.
- Look at the address in your browser. It looks like
https://airtable.com/appAbC123dEf456/tbl…. - Copy the part that starts with app, for example
appAbC123dEf456. That is your Base ID.
2. Create a personal access token in Airtable
- Go to
https://airtable.com/create/tokensand click Create new token. - Give your token a name, for example
TeleportHQ. - Add the scope data.records:read.
- Add the scope schema.bases:read.
- To also add or change records and tables from TeleportHQ, add data.records:write and schema.bases:write. Reading the base needs only the two scopes above.
- Select the base (or bases) you want to connect.
- Click Create token.
- Copy the token and keep it private: it gives access to your Airtable data.
In the TeleportHQ Airtable form, the Where to find this? link next to Personal Access Token opens a window with the same steps, titled Finding Your Personal Access Token.
3. Add the Airtable data source in TeleportHQ
- In the left sidebar, click Data Sources (the database icon).
- In the Data Sources panel, click + (tooltip Add Data Source).
- Click the Airtable card. A panel titled Airtable opens with the section Setup Airtable Connection.
- In Data Source Name, type a name, for example
Cafe menu. Use letters, numbers, spaces and underscores. - Paste your Base ID into Base ID.
- Paste your token into Personal Access Token.
- Click Fetch Airtable Schema. It stays greyed out until both fields are filled.
TeleportHQ tests the connection, adds all tables and closes the panel. If this is the project's first data source, a window titled IMPORTANT appears; click I understand. Each field's Where to find this? link repeats these steps inside TeleportHQ.
Check that it worked
The Airtable connection appears as a card in the Data Sources panel. Click it to see your tables under Confirmed Data Sources. Click View Data on a table to see its records. Then show them on your pages.
Troubleshooting
"Failed to test connection. Please verify that the Personal Access Token has the required permissions (data.records:read and schema.bases:read) and that the Base ID is correct." The token is missing a scope, doesn't include this base, or the Base ID is wrong. In Airtable, edit the token: add both scopes and select the base. Check that the Base ID starts with app. Then click Fetch Airtable Schema again.
"Failed to fetch Airtable schema. Please verify that the Personal Access Token has the required permissions (data.records:read and schema.bases:read) and that the Base ID is correct." The connection worked, but TeleportHQ couldn't read the base's tables. Check that the token has schema.bases:read and includes this base.
Saving a record or a field change from TeleportHQ fails The token can only read. In Airtable, edit the token and add data.records:write (records) and schema.bases:write (tables and fields).
A new Airtable table doesn't appear in TeleportHQ Tables added after connecting show up after a refresh. See Refresh, edit or remove a data source.
Good to know
- Your token becomes a Secret. When you save, TeleportHQ stores the token in the project's Secrets. See Keep passwords and API keys safe.
- Table structure: from TeleportHQ you can create Airtable tables, and add, change or remove fields. Links between tables are not supported.
- What the scopes allow. TeleportHQ sends record changes (add, edit, delete) and table or field changes to Airtable with your token, so those need the write scopes. Showing the base on your pages needs only data.records:read and schema.bases:read.