Skip to main content

Command Palette

Search for a command to run...

CF7 to Airtable Not Showing Tables? Your Token Is Probably the Problem

Updated
6 min read
CF7 to Airtable Not Showing Tables? Your Token Is Probably the Problem
R
Experienced software developer skilled in solving real-world business and technical challenges through WordPress, custom web development, API integrations, and scalable software solutions. Passionate about building efficient, user-friendly digital products.

You set up the CF7 to Airtable plugin, pasted in your Airtable token, and now you are looking at an empty dropdown. The plugin says it is connected but your bases and tables are nowhere to be seen. You cannot map any fields and the integration is stuck.

A developer posted this exact problem on the WordPress support forums. They had done everything right: installed the plugin, gone to Airtable to generate a token, pasted it in, and navigated to the Airtable tab in their CF7 form. Nothing loaded.

The plugin author asked for screenshots, looked at the token, and spotted the issue immediately. The token was too short. It was either truncated when it was copied or the wrong type of token had been used entirely.

But that one-line answer does not tell you enough to avoid the same problem. Here is the full picture.

Why Airtable Tokens Confuse People Right Now

Airtable changed their authentication system in 2024. They moved from legacy API keys to Personal Access Tokens (PATs). If you have any old Airtable integrations or you found a tutorial from before 2024, you might have seen the old format which started with key:

keyXXXXXXXXXXXXXX

Those no longer work. Every new Airtable integration needs a PAT. A properly generated PAT looks completely different and is much longer:

patXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

It starts with pat, has a short identifier section, then a dot, then a 64-character string. The total length is much longer than a legacy key. If what you pasted into the plugin is short or does not start with pat, that is why nothing is loading.

Three Reasons Tables Still Do Not Load Even With a Valid Token

Getting the token format right is the first step. But even a correctly formatted PAT can fail to load your bases and tables if it was set up with the wrong permissions.

The first reason is missing scopes. When you create a PAT in Airtable, you choose what permissions it has. To allow the plugin to show you your bases and tables in the dropdown, the token needs the schema.bases:read scope. Without it, Airtable lets the token authenticate but refuses to return the list of bases. The plugin sees an empty response and shows you an empty dropdown.

The second reason is restricted access. When creating a PAT you also choose which bases it can access. If you set it to specific bases and did not include the one you want to connect to, the plugin cannot see that base at all.

The third reason is a truncated paste. Airtable only shows you the complete token once, immediately after you create it. If you closed the window before copying the full token, or if you accidentally copied only part of it, the token in your plugin settings is invalid. Airtable has no way to retrieve the original token again after you close that screen. You have to regenerate it.

How to Create a Token That Works First Time

Go to airtable.com/create/tokens and create a new one. Name it something like "WordPress CF7" so you can identify it later.

Under Scopes, add these two at minimum:

  • data.records:write so the plugin can create new records when a form is submitted

  • schema.bases:read so the plugin can read your list of bases and tables

Under Access, choose either "All current and future bases" if you want the plugin to see everything, or select the specific base your form needs to write to.

Click Create Token. A popup shows you the complete token. Copy all of it right now. Do not close this window until you have confirmed it is pasted somewhere safe. The token starts with pat and the whole string is quite long. That length is correct.

Paste the complete token into the plugin settings. Your bases and tables should now appear in the mapping dropdown.

Confirming Your Token Works Before Connecting the Plugin

If you want to be certain the token is valid before touching the plugin settings, test it directly. The Airtable API has a simple endpoint that lists your bases:

GET https://api.airtable.com/v0/meta/bases
Authorization: Bearer YOUR_FULL_PAT_TOKEN

You can test this in any browser extension that makes API requests, or using cURL in a terminal. If you get back a list of your bases with their names and IDs, the token is working correctly with the right scopes. If you get a 401 or 403 response, the token has a problem with either its validity or its scope configuration.

This test takes about thirty seconds and confirms whether the problem is with the token or with the plugin before you spend time debugging.

If the Plugin Keeps Breaking After Airtable Updates

Dedicated CF7 to Airtable plugins work well when Airtable's API is stable. But when Airtable changes their token format or endpoint structure, these plugins can stop working until their authors release an update.

Contact Form to API takes a different approach. Instead of using a plugin that manages the Airtable connection for you, you configure the Airtable API endpoint directly. You set the exact URL of the Airtable table you want to write to, add your PAT as the Bearer token in the Authorization header, and map your CF7 form fields to the Airtable column names.

Because you are calling Airtable's API directly with explicit field names and a standard Bearer auth header, the integration does not depend on a plugin author keeping up with Airtable's changes. If Airtable updates something, you update the URL or header in your settings and move on. No waiting for a plugin update.

What to Do Right Now

If your tables are not loading in the CF7 Airtable plugin, work through these steps:

Check that the token you pasted starts with pat and is the full length. If it looks short or starts with key, you need a new token.

Open your token settings in Airtable and confirm that schema.bases:read is listed under the scopes. Add it if it is missing.

Check that the base you want to connect to is included in the token's access settings.

If you are still unsure, regenerate the token, copy the full string immediately, and paste it into the plugin settings fresh. That resolves the truncation issue completely.