Airtable Update Node Successfully Updates Some Fields But Not Others - Need Help

I’m having an issue with the Airtable update node where it successfully updates certain fields but completely ignores one field, despite showing successful execution.
Setup:
n8n version: 1.110.1 (Self Hosted)
Airtable node version: 2.1
Operation: Update record
Data flows from Switch node → Email node → Airtable update node
Problem:
The update node successfully updates “Due Date” and “Task Name” fields but the “Attempt” field (Number type) remains unchanged at 0, even though the expression should increment it to 1.
What I’ve Tried:
Multiple expression formats: {{ $json.Attempt + 1 }}, {{ $json[“Attempt”] + 1 }}, {{ parseInt($json.Attempt) + 1 }}, {{ $json.fields.Attempt + 1 }}
Verified the Attempt field exists in Airtable and has type “Number”
Confirmed the input data contains “Attempt”: 0 in the correct data structure
Tested different ID matching expressions for the record lookup
All other fields update correctly using similar expression syntax
Current Configuration:
Columns to match on: id
ID (using to match): {{ $(‘Search Task Records’).item.json.id }}
Attempt field: {{ parseInt($json.Attempt) + 1 }}
Input Data Structure:
json{
“id”: “recRA7QDaEjSwoFkD”,
“fields”: {
“Attempt”: 0,
“Task Name”: “No Feedback-Day 3”,
“Due Date”: “2025-09-23”
}
}
The node reports successful execution with correct Record ID, but only some fields actually update in Airtable. Has anyone encountered selective field updating behavior like this?

Here is the json;

{
“name”: “3. Nudges for filling feedback form”,
“nodes”: [
{
“parameters”: {
“rule”: {
“interval”: [
{
“triggerAtHour”: 8
}
]
}
},
“type”: “n8n-nodes-base.scheduleTrigger”,
“typeVersion”: 1.2,
“position”: [0, 224],
“id”: “0c9381a3-6e92-4e09-95d5-11e60157b610”,
“name”: “Schedule Trigger”
},
{
“parameters”: {
“operation”: “search”,
“base”: {
“__rl”: true,
“value”: “YOUR_AIRTABLE_BASE_ID”,
“mode”: “list”,
“cachedResultName”: “CRM Database for Scotia AI”
},
“table”: {
“__rl”: true,
“value”: “YOUR_TABLE_ID”,
“mode”: “list”,
“cachedResultName”: “Tasks”
},
“filterByFormula”: “{Status}=‘Waiting’”,
“options”: {}
},
“type”: “n8n-nodes-base.airtable”,
“typeVersion”: 2.1,
“position”: [224, 224],
“id”: “9123a05a-8d69-46f9-8c86-2cd17e6e9eea”,
“name”: “Search Task Records”,
“credentials”: {
“airtableTokenApi”: {
“id”: “YOUR_CREDENTIAL_ID”,
“name”: “Airtable Personal Access Token account”
}
}
},
{
“parameters”: {
“rules”: {
“values”: [
{
“conditions”: {
“options”: {
“caseSensitive”: true,
“leftValue”: “”,
“typeValidation”: “loose”,
“version”: 2
},
“conditions”: [
{
“leftValue”: “={{ $json.Attempt }}”,
“rightValue”: “0”,
“operator”: {
“type”: “string”,
“operation”: “equals”
},
“id”: “a79ff1ad-b7ce-43aa-9a8c-9dead017acec”
}
],
“combinator”: “and”
},
“renameOutput”: true,
“outputKey”: “Day 3”
},
{
“conditions”: {
“options”: {
“caseSensitive”: true,
“leftValue”: “”,
“typeValidation”: “loose”,
“version”: 2
},
“conditions”: [
{
“id”: “118e5efe-b71a-4bb6-8787-7fafaa0fe463”,
“leftValue”: “={{ $json.Attempt }}”,
“rightValue”: “1”,
“operator”: {
“type”: “string”,
“operation”: “equals”,
“name”: “filter.operator.equals”
}
}
],
“combinator”: “and”
},
“renameOutput”: true,
“outputKey”: “Day 5”
},
{
“conditions”: {
“options”: {
“caseSensitive”: true,
“leftValue”: “”,
“typeValidation”: “loose”,
“version”: 2
},
“conditions”: [
{
“id”: “169b6bd4-28a0-4751-8385-809895d631b4”,
“leftValue”: “={{ $json.Attempt }}”,
“rightValue”: “2”,
“operator”: {
“type”: “string”,
“operation”: “equals”,
“name”: “filter.operator.equals”
}
}
],
“combinator”: “and”
},
“renameOutput”: true,
“outputKey”: “Day 7”
},
{
“conditions”: {
“options”: {
“caseSensitive”: true,
“leftValue”: “”,
“typeValidation”: “loose”,
“version”: 2
},
“conditions”: [
{
“id”: “8529e117-d98e-479d-8d78-9e569a827aea”,
“leftValue”: “={{ $json.Attempt }}”,
“rightValue”: “3”,
“operator”: {
“type”: “string”,
“operation”: “equals”,
“name”: “filter.operator.equals”
}
}
],
“combinator”: “and”
},
“renameOutput”: true,
“outputKey”: “Day 9-Final email”
}
]
},
“looseTypeValidation”: true,
“options”: {}
},
“type”: “n8n-nodes-base.switch”,
“typeVersion”: 3.2,
“position”: [880, 192],
“id”: “a187b257-cf54-403b-be1a-19012bd5d207”,
“name”: “Switch”
},
{
“parameters”: {
“sendTo”: “EMAIL_PLACEHOLDER”,
“subject”: “We Haven’t Received Your Chatbot Feedback Form Yet”,
“message”: “Email content here…”,
“options”: {}
},
“type”: “n8n-nodes-base.gmail”,
“typeVersion”: 2.1,
“position”: [1104, -64],
“id”: “206b30ae-2ddd-4d49-8fe5-962de6e9e158”,
“name”: “Send 1st nudge (3 days)”,
“webhookId”: “WEBHOOK_ID_REMOVED”,
“credentials”: {
“gmailOAuth2”: {
“id”: “YOUR_GMAIL_CREDENTIAL_ID”,
“name”: “Gmail account”
}
}
},
{
“parameters”: {
“operation”: “update”,
“base”: {
“__rl”: true,
“value”: “YOUR_AIRTABLE_BASE_ID”,
“mode”: “list”,
“cachedResultName”: “CRM Database for Scotia AI”
},
“table”: {
“__rl”: true,
“value”: “YOUR_TABLE_ID”,
“mode”: “list”,
“cachedResultName”: “Tasks”
},
“columns”: {
“mappingMode”: “defineBelow”,
“value”: {
“id”: “={{ $json.id }}”,
“Status”: “Waiting”,
“Task Name”: “No Feedback-Day 3”,
“Attempt”: “={{ parseInt($json.Attempt) + 1 }}”,
“Due Date”: “={{ $now.plus({ days: 3 }).format(‘M/d/yyyy’) }}”
},
“matchingColumns”: [“id”],
“schema”: [
{
“id”: “id”,
“displayName”: “id”,
“required”: false,
“defaultMatch”: true,
“display”: true,
“type”: “string”,
“readOnly”: true,
“removed”: false
},
{
“id”: “Attempt”,
“displayName”: “Attempt”,
“required”: false,
“defaultMatch”: false,
“canBeUsedToMatch”: true,
“display”: true,
“type”: “number”,
“readOnly”: false,
“removed”: false
}
],
“attemptToConvertTypes”: false,
“convertFieldsToString”: false
},
“options”: {}
},
“type”: “n8n-nodes-base.airtable”,
“typeVersion”: 2.1,
“position”: [1328, -64],
“id”: “7fe20e68-c39b-4ac5-a75d-131f0e93d377”,
“name”: “Day 3”,
“credentials”: {
“airtableTokenApi”: {
“id”: “YOUR_CREDENTIAL_ID”,
“name”: “Airtable Personal Access Token account”
}
}
},
{
“parameters”: {
“base”: {
“__rl”: true,
“value”: “YOUR_AIRTABLE_BASE_ID”,
“mode”: “list”,
“cachedResultName”: “CRM Database”
},
“table”: {
“__rl”: true,
“value”: “YOUR_LEADS_TABLE_ID”,
“mode”: “list”,
“cachedResultName”: “Leads”
},
“id”: “={{ $json[“Related Lead/Client”][0] }}”,
“options”: {}
},
“type”: “n8n-nodes-base.airtable”,
“typeVersion”: 2.1,
“position”: [448, 224],
“id”: “09b0fe87-c00d-47dc-b44c-f84962a0cabb”,
“name”: “Lead Lookup”,
“credentials”: {
“airtableTokenApi”: {
“id”: “YOUR_CREDENTIAL_ID”,
“name”: “Airtable Personal Access Token account”
}
}
},
{
“parameters”: {
“base”: {
“__rl”: true,
“value”: “YOUR_AIRTABLE_BASE_ID”,
“mode”: “list”,
“cachedResultName”: “CRM Database”
},
“table”: {
“__rl”: true,
“value”: “YOUR_TABLE_ID”,
“mode”: “list”,
“cachedResultName”: “Tasks”
},
“id”: “={{ $json[“Related Tasks”][0] }}”,
“options”: {}
},
“type”: “n8n-nodes-base.airtable”,
“typeVersion”: 2.1,
“position”: [656, 224],
“id”: “fa8eccc3-8017-48e3-8223-b27d08d40012”,
“name”: “Get a Task”,
“credentials”: {
“airtableTokenApi”: {
“id”: “YOUR_CREDENTIAL_ID”,
“name”: “Airtable Personal Access Token account”
}
}
}
],
“pinData”: {},
“connections”: {
“Schedule Trigger”: {
“main”: [
[
{
“node”: “Search Task Records”,
“type”: “main”,
“index”: 0
}
]
]
},
“Search Task Records”: {
“main”: [
[
{
“node”: “Lead Lookup”,
“type”: “main”,
“index”: 0
}
]
]
},
“Switch”: {
“main”: [
[
{
“node”: “Send 1st nudge (3 days)”,
“type”: “main”,
“index”: 0
}
]
]
},
“Send 1st nudge (3 days)”: {
“main”: [
[
{
“node”: “Day 3”,
“type”: “main”,
“index”: 0
}
]
]
},
“Lead Lookup”: {
“main”: [
[
{
“node”: “Get a Task”,
“type”: “main”,
“index”: 0
}
]
]
},
“Get a Task”: {
“main”: [
[
{
“node”: “Switch”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“active”: false,
“settings”: {
“executionOrder”: “v1”
}
}

Hey, please re-share your workflow like so, because otherwise it breaks the quotes and we can’t run it.

I hope I am doing this right. I can't paste the code here as it has links that I'm not allowed to include because of some limitation. 

Here is the JSON code: https://docs.google.com/document/d/1eoxL90DorJS-i5La7hMGmdSKixFGSV8njIF1p-FaPUs/edit?usp=sharing  


I also made a video here: https://www.loom.com/share/45775c4fdcfc44788594f75d596b2391?sid=0e1cec9c-c41e-44cf-a447-a682c2fd05ca

Keep in mind I am an advanced beginner, thanks

Joan

@JoanW Thank you, could you also do this:

  1. Execute the workflow
  2. Pin the data on the problematic node and the node before that ( highlight them → press P )
  3. Download to a JSON again and update the Google file so I can check it.

This will allow me to check the exact issue as it’s probably related to your specific data.

Because I self host through Hostlinger, I don’t have the Pin option (grayed out), nor can I share my workflows. I would upgrade but then I can’t self host.

The nodes I am having issues with are the last ones - Days 3, 5, 7, 9. But I think this issue starts earlier in the sequence as it shows 0 from the 1st node (Search Task Records) onward

Hi @JoanW,

After the Gmail node executes, there’s no such thing as {{ $json["Attempt"] + 1 }}

The Attempt value comes from the node called Get a Task,

so the correct way to reference it will be:

{{ $('Get a Task').item.json.Attempt + 1 }}

so just edit that in the last airtabes nodes

I have it that way already

1 Like

replace it with:

{{ $('Get a Task').item.json.Attempt + 1 }}

1 Like

Sorry, I see what you’re saying. I did that and got this

{
“errorMessage”: “Invalid input for ‘Related Lead/Client’ [item 0]”,
“errorDescription”: “‘Related Lead/Client’ expects a array but we got ‘recHiHqmzsdduP0o8’”,
“errorDetails”: {},
“n8nDetails”: {
“itemIndex”: 0,
“runIndex”: 0,
“time”: “9/21/2025, 8:33:04 AM”,
“n8nVersion”: “1.110.1 (Self Hosted)”,
“binaryDataMode”: “default”,
“stackTrace”: [
“ExpressionError: Invalid input for ‘Related Lead/Client’ [item 0]”,
" at validateValueAgainstSchema (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/node-execution-context/utils/validate-value-against-schema.ts:206:9)“,
" at ExecuteContext.getNodeParameter (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/node-execution-context/node-execution-context.ts:469:42)”,
" at ExecuteContext.getNodeParameter (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/node-execution-context/execute-context.ts:128:9)“,
" at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_1af219c3f47f2a1223ec4ccec249a974/node_modules/n8n-nodes-base/nodes/Airtable/v2/actions/record/update.operation.ts:113:37)”,
" at ExecuteContext.router (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_1af219c3f47f2a1223ec4ccec249a974/node_modules/n8n-nodes-base/nodes/Airtable/v2/actions/router.ts:32:67)“,
" at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_1af219c3f47f2a1223ec4ccec249a974/node_modules/n8n-nodes-base/nodes/Airtable/v2/AirtableV2.node.ts:30:23)”,
" at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1254:31)“,
" at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1428:22)”,
" at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1760:38",
" at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2337:11"
]
}
}

I removed this and still got an error:

{
“errorMessage”: “Invalid input for ‘Related Lead/Client’ [item 0]”,
“errorDescription”: “‘Related Lead/Client’ expects a array but we got ‘’”,
“errorDetails”: {},
“n8nDetails”: {
“itemIndex”: 0,
“runIndex”: 0,
“time”: “9/21/2025, 8:34:25 AM”,
“n8nVersion”: “1.110.1 (Self Hosted)”,
“binaryDataMode”: “default”,
“stackTrace”: [
“ExpressionError: Invalid input for ‘Related Lead/Client’ [item 0]”,
" at validateValueAgainstSchema (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/node-execution-context/utils/validate-value-against-schema.ts:206:9)“,
" at ExecuteContext.getNodeParameter (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/node-execution-context/node-execution-context.ts:469:42)”,
" at ExecuteContext.getNodeParameter (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/node-execution-context/execute-context.ts:128:9)“,
" at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_1af219c3f47f2a1223ec4ccec249a974/node_modules/n8n-nodes-base/nodes/Airtable/v2/actions/record/update.operation.ts:113:37)”,
" at ExecuteContext.router (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_1af219c3f47f2a1223ec4ccec249a974/node_modules/n8n-nodes-base/nodes/Airtable/v2/actions/router.ts:32:67)“,
" at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_1af219c3f47f2a1223ec4ccec249a974/node_modules/n8n-nodes-base/nodes/Airtable/v2/AirtableV2.node.ts:30:23)”,
" at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1254:31)“,
" at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1428:22)”,
" at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1760:38",
" at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_5aee33ef851c7de341eb325c6a25e0ff/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2337:11"
]
}
}

Okay, that’s another error now,

Change that column type to ‘string’ in Airtable if you don’t intend it to be an array.

I just added it and saw it created an error so I deleted it. I don’t need it for this to work I don’t think. It uses the Airtable ID.

Nice, also delete the fields you don’t want to update:

Then try executing the workflow, it should work, and the “Attempt” column should be updated..

I deleted them and ran the workflow. It went smoothly until the Switch. After the Switch nothing happened. I executed the 1st Nudge node but there wasn’t any output even though the node executed successfully.

I also deleted the 0s in the Airtable CRM and nothing has been entered there.

Do not delete the 0s in Airtable, because the switch node checks for the values 0, 1, 2, 3
If the value is empty, the workflow will stop at the switch since there is no case for that.

OK, I’ll add them back

So, basically no one can figure this out for me? Thanks for all the suggestions that some gave me.

Check if your expression entered in Column “Related Lead/Client” is an array

I don’t have anything in “Related Lead/Client”