Getting 403 forbidden error when connecting to Airtable API

I keep running into a 403 forbidden response when I try to make API calls to Airtable through Voiceflow. The JSON format looks good to me since I already checked it multiple times. I’m wondering if this could be some kind of authorization problem with Voiceflow itself. Anyone else dealt with this kind of issue before? What did you do to solve it? I’m pretty stuck right now and could use some help figuring out what’s going wrong.

I experienced a similar issue with the Airtable API. In my case, the problem was related to the token being used. Ensure that you are using a personal access token, as previous API key formats are no longer supported. When sending requests, the token must be included in the Authorization header formatted as ‘Bearer YOUR_TOKEN’. Additionally, check your base’s sharing settings; if the token doesn’t have proper access, you could face a 403 error. I recommend testing your API interactions with Postman to determine if the issue lies with Airtable’s setup or with Voiceflow.

This happened to me recently and it turned out to be a scope permissions issue. When you create your personal access token in Airtable, make sure you’ve granted the correct permissions for the specific base and tables you’re trying to access. The token needs explicit read/write permissions depending on what operations you’re performing. Also double check that the base ID in your API endpoint URL is correct - I spent hours debugging only to realize I was using an old base ID from a duplicated workspace. Another thing to verify is whether Voiceflow might be adding extra headers or modifying your request in some way that Airtable doesn’t like.

The 403 error might be happening because of rate limiting on Airtable’s side, especially if you’re making multiple requests quickly through Voiceflow. I encountered this when building an automated workflow that was hitting the API too frequently. Airtable has specific rate limits per base and per workspace that aren’t always obvious. Try adding delays between your API calls or implementing exponential backoff in your Voiceflow logic. Another possibility is that your Airtable plan doesn’t support the API operations you’re attempting - some features require paid plans. You can verify this by checking your workspace’s API usage in the account settings and comparing it against your plan limits.

Check if your Airtable workspace has any IP restrictions enabled. I ran into this exact problem last year when our company added IP whitelisting to their Airtable workspace without telling the dev team.

Voiceflow makes requests from their servers, not your local machine, so their IP addresses need to be whitelisted if your workspace has those restrictions turned on.

You can test this theory by making the same API call from Postman or curl on your local machine. If it works locally but fails through Voiceflow, IP restrictions are probably the culprit.

Also worth checking if someone on your team recently changed the workspace security settings. This usually happens when companies get more strict about data access.

If IP restrictions aren’t the issue, try creating a completely new personal access token and test with minimal permissions first. Sometimes tokens get corrupted or cached incorrectly.

had this same 403 error a while back too. i found out voiceflow was using a wrong content-type header. make sure to add “Content-Type: application/json” to your api call. also, your airtable base needs editor access, not just read-only.