Describe the problem/error/question
I’m using the official SharePoint List node to Create item in SharePoint Online. All basic fields (text, number, date, boolean) save correctly, but a single-value Lookup column will not persist during Create (and also not when I try an immediate Update). The item is created successfully, yet the Lookup remains blank in the list and does not show up in a GET of the item’s fields.
Setup summary
- Node: SharePoint → Create item in a list (native)
- The node response includes
@odata.contextwith/_api/v2.0/...(so it seems to use SharePoint REST v2.0, not Graph) - Destination list has a single-value Lookup column (internal name similar to
Vaga_x0020_relacionada) pointing to another list in the same site - I already resolve the target item’s SharePoint ID (e.g.,
1333) upstream in the flow
What I tried (no errors, but lookup stays empty)
-
In Map Each Column Manually, set the Lookup field to the raw number
1333(just the value, not an object). -
In Fields (JSON) on Create:
"Vaga_x0020_relacionadaLookupId": 1333(v2/Graph-like)"Vaga_x0020_relacionadaId": 1333(classic REST-like)
-
Create without the lookup, then Update item immediately after with both variants above.
-
Ensured the value is a number (forced with unary
+), no quotes or line breaks. -
The column is single-value (not multi).
Control test
If I set the lookup manually in SharePoint UI, a GET of the item’s fields shows:
{
"Vaga_x0020_relacionadaLookupId": "1333"
}
So SharePoint stores it as …LookupId = 1333 when done via UI.
Question
- For the n8n SharePoint node that hits
/_api/v2.0/..., what is the exact property name and format to write a single-value Lookup on Create/Update? - Does the Create operation support setting Lookups via “Map Each Column Manually”, or should this be done only via Fields (JSON) (and with which key)?
- If Create can’t set it, is Update the intended pattern for this node?
- A minimal working example (field key + value shape) would be very helpful.
What is the error message (if any)?
No error. The item is created/updated successfully; the Lookup field remains empty.
Please share your workflow
(Minimal repro)
Webhook (build data incl. target item ID: 1333)
→ Get item from target list (confirms ID 1333)
→ SharePoint: Create item in destination list
- Tried setting Lookup via “Map Each Column Manually” (value: 1333)
- Tried setting via “Fields (JSON)” with:
{ "Vaga_x0020_relacionadaLookupId": 1333 }
{ "Vaga_x0020_relacionadaId": 1333 }
→ (Also tried) SharePoint: Update item in destination list with same Fields (JSON)
Share the output returned by the last node
Example (sanitized) of the Create response fields (lookup missing):
{
"Title": "Example",
"SomeText": "ok",
"SomeNumber": 123,
"Created": "2025-08-11T14:42:07Z"
// Lookup field not present here when set via node
}
Expected (when set manually in UI, shown by a GET of fields):
{
"Vaga_x0020_relacionadaLookupId": "1333"
}
Information on your n8n setup
- n8n version: 1.105.3
- Database (default: SQLite): default
- n8n EXECUTIONS_PROCESS setting (default: own, main): default
- Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
- Operating system: Linux (Docker host)