Airtable GET permission issues

Hello, for a workflow n8n has issues retrieving data from mynairtable base. I don’t understand why because the workflow is able to create new records. I gave all the permissions available. The table is now empty but I also tried with data in it. The error for retrieving data is:

Forbidden - perhaps check your credentials? Invalid permissions, or the requested model was not found. Check that both your user and your token have the required permissions, and that the model names and/or ids are correct.

{ “errorMessage”: “Forbidden - perhaps check your credentials?”, “errorDescription”: “Invalid permissions, or the requested model was not found. Check that both your user and your token have the required permissions, and that the model names and/or ids are correct.”, “errorDetails”: { “rawErrorMessage”: [ “403 - {"error":{"type":"INVALID_PERMISSIONS_OR_MODEL_NOT_FOUND","message":"Invalid permissions, or the requested model was not found. Check that both your user and your token have the required permissions, and that the model names and/or ids are correct."}}” ], “httpCode”: “403” }, “n8nDetails”: { “nodeName”: “Get LinkedIn Comp. URL”, “nodeType”: “n8n-nodes-base.airtable”, “nodeVersion”: 2.1, “resource”: “record”, “operation”: “get”, “itemIndex”: 0, “time”: “12/03/2025, 12:31:16”, “n8nVersion”: “1.81.4 (Cloud)”, “binaryDataMode”: “filesystem”, “stackTrace”: [ “NodeApiError: Forbidden - perhaps check your credentials?”, " at ExecuteContext.requestWithAuthentication (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/node-execution-context/utils/request-helper-functions.js:991:19)“, " at processTicksAndRejections (node:internal/process/task_queues:95:5)”, " at ExecuteContext.requestWithAuthentication (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/node-execution-context/utils/request-helper-functions.js:1147:20)“, " at ExecuteContext.apiRequest (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Airtable/v2/transport/index.js:27:12)”, " at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Airtable/v2/actions/record/get.operation.js:53:34)“, " at ExecuteContext.router (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Airtable/v2/actions/router.js:58:30)”, " at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Airtable/v2/AirtableV2.node.js:21:16)“, " at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:660:19)”, " at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:891:51", " at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:1224:20" ] } }

Information on your n8n setup

  • n8n version: [email protected]
  • Database (default: SQLite): SQLite
  • n8n EXECUTIONS_PROCESS setting (default: own, main): own, main
  • Running n8n via (Docker, npm, n8n cloud, desktop app): n8n cloud
  • Operating system: MacOS
1 Like

Hey @karimsidibe,
Welcome to the community!

Have you checked your Airtable Personal Access Token permission scopes?
https://airtable.com/create/tokens

According to the n8n docs these are the recommended scopes:

  • data.records:read
  • data.records:write
  • schema.bases:read

403 suggests there is a permission issue with the token you are using for the integration.

Hello Ventsislav,

yes, as I said, I have given all scopes and all access.

Hi @karimsidibe could you copy and paste your entire workflow into the field that appears when you click the ‘</>’ button on the forums?

Could we see (remove/blur PIIs) your authentication setup page?

Sorry but I don’t really know how to copy an entire workflow as code?

And which authentication setup page exactly?

You can just ctl a, ctl c (or cmd) to copy the entire thing. Unless hardcoded, it ill auto remove any private creds.

And for Airtable, the credentials page (blur/remove half of any visible keys). Thats whats having the issue right?

I couldn’t paste all here because of character limit but here’s the first 3 nodes and it happens at the second one:

And attached is the credentials page, is that what you need?

Can you please try retrieving any other record?
Try using a simpler request, like getting a Base instead of a specific record.

If that works, than the record ID is probably wrong.

:point_right: If my reply answers your question, please remember to mark it as a solution.

Can you tell me where I would normally get the right record ID? Because that might be it. I got the workflow by downloading the JSON file from someone else.

  1. Open your Airtable homepage.
  2. Search for and open your preferred base.
  3. Click the + icon to the right of your desired table.
  4. Select the Formula field type and enter RECORD_ID().
  5. Click Create field.

.
:point_right: If my reply answers your question, please remember to mark it as a solution.

Thank you! Now what is the variable that needs to be put in n8n to retrieve the record ID?

Were you able to obtain the correct ID and run that node correctly?

If yes, then to obtain a record ID you would have to search for it using the “Search record” node.

You would have to configure your search filters:

.
:point_right: If my reply answers your question, please remember to mark it as a solution.

No, unfortunately I still get the same permission error, eventhough I entered the record ID I created in Airtable into the n8n Airtable node :frowning:

Do you have any other idea?

I recreated a new Access Token in Airtable just to make sure and put that in the Airtable node again, but it’s not the issue.

That’s really weird

Can you try making a custom HTTP Request for that same API function?

Ask ChatGPT to give you the HTTP request:

  • method
  • URL
  • Header
  • Body

And then put the values inside a HTTP Request node.

Other requests with the Airtable nodes work? Like getting many records from a base?