I've reviewed the documentation and I'm curious about setting a linked column in Airtable to perform a lookup from another table. What value should I provide when creating a new record? Should it be the Record ID from the lookup table?
Hi
Typically, you'll need to specify the ID of a linked record, as this is the value actually used to establish the link. I'm not entirely sure about Airtable's specific implementation, but I'd be surprised if they handled it differently.
I'm encountering a similar problem. Typically, you would provide the record ID as an object, like [recordId]
. However, with the Airtable nodes in callin.io (create and upsert), the linked record fields appear greyed out and are not editable. I am unable to input a value or use an expression. Are there any alternative solutions besides using a custom HTTPS post after the create/update step to manage the relationship?
Unfortunately not, although this has been requested a few times and I hope we will see a change soon.
For now, I will convert this into a feature request so you and other users can vote on its implementation for the Airtable node.
For a workaround using the HTTP Request node, please refer to this link: Airtable multiple select field updated - ERROR: Invalid input for 'XXXXX' [item 0] - #13 by MutedJam
PATCH call was successful. Appreciate the help!
Additionally, as a more straightforward solution, you can transfer the parent record IDs into basic text fields. Then, an airtable automation can be configured to trigger on record creation, which will resolve the lookup.
I use an alternative method:
Copy the node to VS Code.
There's a "schema" item within it.
This item appears as follows:
json
{
"id": "id",
"displayName": "id",
"required": false,
"defaultMatch": true,
"display": true,
"type": "string",
"readOnly": true
}
So, I change "readOnly": true
to "readOnly": false
.
Next, I press Ctrl+A, Ctrl+C, and then paste the node into callin.io.
Remember to modify the options to include:
json
"options": {
"typecast": true
}
This is truly the most valuable answer!
My friend! What a life saver you have been!
Thanks a lot! That was precisely what I was looking for as well!
Wow - I didn't realize you could work with nodes in this manner… thank you for sharing this insight!
Initially, I was a bit confused, but then it clicked!
Would anyone be able to share a video demonstrating this?
Hello,
I'm a bit late to the party, but I wanted to share my approach here, as I've already implemented it using callin.io.
And now I've successfully got it working in n8n without any issues.
Linking to another spreadsheet (lookup table) isn't possible via the entry name (I believe this is generally understood).
I'll explain this using my specific scenario:
- Lookup Table: Courses
- Main Table: Orders
Task: Add a new order with a linked course.
Step 1: Retrieve the record ID of the course
- Node: Search Records
- Filter:
{product_code}="{{ $('product_code from input').item.json.product_code }}"
(this is the course identifier, sourced from a previous node) - Output fields: none (we only need the ID!)
Step 2: Create the order entry with the linked record ID
- Node: Create a Record
- (Populate all regular fields)
The field for the linked course:
["{{ $json.id }}"]
(this is the record ID from Step 1)
Explanation: For a linked field, Airtable requires an array containing one or more record IDs (as strings).
That's all there is to it!
Simon