N8n SharePoint node — how to set a Lookup column on Create?

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.context with /_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)

  1. In Map Each Column Manually, set the Lookup field to the raw number 1333 (just the value, not an object).

  2. In Fields (JSON) on Create:

    • "Vaga_x0020_relacionadaLookupId": 1333 (v2/Graph-like)
    • "Vaga_x0020_relacionadaId": 1333 (classic REST-like)
  3. Create without the lookup, then Update item immediately after with both variants above.

  4. Ensured the value is a number (forced with unary +), no quotes or line breaks.

  5. 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)
2 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.