How to Connect Airtable to TableCrafter
TableCrafter can pull data directly from any Airtable base and render it as a filterable, sortable table on your WordPress site. This guide walks through every step: generating a personal access token, locating your base ID, configuring the TableCrafter data source, mapping your fields, and placing the shortcode.
What You Need Before You Start
Before touching TableCrafter, gather three things from Airtable:
- A personal access token with read (or read/write) scope on your base
- Your base ID (starts with
app) - The exact table name as it appears in Airtable
You will also need TableCrafter installed and activated on your WordPress site. The Airtable source is available on all plans.
Step 1: Create an Airtable Personal Access Token
Airtable uses personal access tokens (PATs) instead of a single API key. Here is how to create one scoped to exactly what TableCrafter needs.
- Go to airtable.com/create/tokens while logged into your Airtable account.
- Click Create new token.
- Give it a recognizable name, such as
TableCrafter WordPress. - Under Scopes, add
data.records:read. If you plan to use inline editing, also adddata.records:write. - Under Access, choose All current and future bases in workspace or select only the specific base you are connecting.
- Click Create token and copy the token immediately. Airtable only shows it once.
Step 2: Find Your Base ID and Table Name
The base ID is embedded in the URL when you have a base open in Airtable.
- Open your Airtable base in the browser.
- Look at the URL. It follows the pattern:
https://airtable.com/appXXXXXXXXXXXXXX/tblYYYYYYYYYYYYYY/viwZZZZ - The segment starting with
appis your base ID: copy everything fromappthrough the next forward slash (not including the slash). - The segment starting with
tblis the table ID, but TableCrafter accepts the human-readable table name instead. Use the name exactly as it appears on the tab in Airtable, including capitalization and any spaces.
Member Directory.Step 3: Configure the Airtable Source in TableCrafter
Now open the TableCrafter admin panel in WordPress.
- Navigate to TableCrafter → Add New Table.
- Under Data Source, select Airtable.
- Paste your personal access token into the API Token field.
- Enter your base ID (the
appXXX...string). - Enter the table name exactly as it appears in Airtable.
- Optionally enter a view name if you want TableCrafter to pull from a specific Airtable view rather than the default grid view. Leave blank to use the default.
- Click Test Connection.
A successful test returns a green confirmation and shows the first few field names detected in your table. If the test fails, double-check that the token scope includes data.records:read and that the base ID has no trailing spaces.
Step 4: Map Airtable Fields to Table Columns
After a successful connection test, TableCrafter loads all field names from your Airtable table. You now configure which fields appear as columns and how they render.
- In the Columns section, you will see a list of detected Airtable fields.
- Toggle each field on or off to include or exclude it from the table.
- Set a column label for each included field. This is the heading visitors see, and it can differ from the Airtable field name.
- Choose a column type. TableCrafter auto-detects most types, but you can override: Text, Number, Date, Image URL, Select, or Multi-select.
- Set column width, sort order, and whether the column is filterable.
For a detailed breakdown of how each Airtable field type renders, see How to Map Airtable Fields to Table Columns in TableCrafter.
Step 5: Configure Display and Behavior Settings
With columns mapped, configure the table behavior before publishing.
- Rows per page: Set how many records appear per page. Default is 25.
- Search: Enable the live search bar to let visitors search across all text columns.
- Filter bar: Enable column-level dropdown filters for Select and Multi-select fields.
- Sort: Enable clickable column headers for sorting.
- Export: Enable a CSV export button if visitors should be able to download data.
- Edit: Enable inline editing only if your PAT includes write scope and you want visitors to update Airtable records directly from WordPress.
Save the table configuration. TableCrafter assigns it a numeric ID, visible in the admin list.
Step 6: Place the Shortcode
TableCrafter uses a simple shortcode to embed the table anywhere on your WordPress site: a page, post, or widget area.
[tablecrafter id="1"]
Replace 1 with the actual table ID assigned by TableCrafter. For a table with search, filters, and export enabled at the shortcode level:
[tablecrafter id="1" filter="true" search="true" export="true"]
Paste the shortcode into the WordPress block editor using a Shortcode block, or directly into a Classic Editor page. The table renders on page load and fetches live data from Airtable.
Troubleshooting Common Connection Issues
403 Forbidden from Airtable API
This almost always means the PAT scope is missing or the token was not granted access to the base you specified. Re-check the token at airtable.com/create/tokens and verify both the scope and the base access list.
No Fields Detected After Test
The table name is likely wrong. Airtable table names are case-sensitive. Copy the name exactly from the Airtable UI tab.
Stale Data After Editing Records in Airtable
TableCrafter caches Airtable responses briefly to reduce API calls. Force a fresh fetch by reloading the page or configuring the auto-refresh interval in the table settings. See How to Keep an Airtable Table in Sync with Your WordPress Site for details on the caching layer.
Next Steps
Once your Airtable data is live on your WordPress site, explore the rest of the TableCrafter Airtable documentation:
- How to Map Airtable Fields to Table Columns — detailed field type behavior
- How to Filter an Airtable Table on Your WordPress Site — column filters and search
- How to Build an Airtable-Powered Member Directory — full end-to-end recipe
Ready to try it?
TableCrafter is free on WordPress.org. Pro unlocks inline editing, role-based permissions, and advanced data sources.