Not recognising data from an upstream node

Describe the problem/error/question

I would like the final node to recognise the data from an upstream Http request node. I have set the expressions in the form

{{ $(‘HTTP Request (Upstream)’).item.json.xxxxxxx }}

But my final node only picks up the data from the immediately preceeding node - google move file - which is incorrect data for my googlesheet.

What is the error message (if any)?

No error message, just unable to recognise and acceot the correct data from an upstream node.

Please share your workflow

Share the output returned by the last node

Actual result, not wanted, this data comes from the node that immediately preceeds it, the google move file node:

[
  {
    "kind": "drive#file",
    "id": "1wRc_x3rgypnBOBO9Y0RdA39jXkQNHIojdlogDwakXfg",
    "name": "n8n-test-worksheet-2025-09-16T20:05:01.705+01:00",
    "mimeType": "application/vnd.google-apps.spreadsheet",
    "teamDriveId": "0APkroY2zQDr1Uk9PVA",
    "driveId": "0APkroY2zQDr1Uk9PVA"
  }
]

Required result, from upstream HTTP Request node:

[
  {
    "orderID": 1,
    "customerID": 8,
    "employeeName": "Mario",
    "orderPrice": 150.32,
    "orderStatus": "processing"
  },
  {
    "orderID": 2,
    "customerID": 5,
    "employeeName": "Mario",
    "orderPrice": 161.1,
    "orderStatus": "booked"
  },
... x 30 rows total
]

If i hit the refresh icon bext to “values to send” the node picks up the google move file attributes automatically (incorrect for my needs):

Information on your n8n setup

  • n8n version: 1.110.1
  • Database (default: SQLite): default
  • n8n EXECUTIONS_PROCESS setting (default: own, main): default
  • Running n8n via (Docker, npm, n8n cloud, desktop app): n8n cloud
  • Operating system: Mac OS

Can you also include a screenshot of the HTTP Request node after executing the workflow?

The output you see in the last node is just the node passing the last known output up the chain, it is normal. The most important thing is that last node needs to USE the values from the HTTP Request node, which is does.

Ok, I though about this and I think I might know what the issue could be here.

When you run the workflow for the first time, the new spreadsheet is created,
this means that the sheet doesn’t have any headers yet. If you were to run the Append node against this sheet with Automatic mapping, it would create the headers based on the output of the previous node. Then you can only reset the headers by deleting them in the document. What you need to do is to always have the manual mapping to the output of the HTTP Request node, from the very start, this way the headers will not be set to kind, id, name etc, but will be set to the values from the HTTP Request node output from the start.

Could you please explain how I ensure “…always have the manual mapping to the output of the HTTP Request node, from the very start”? Thank you

Like this:

with the “Map each column manually” setting.

But isn’t tha what I have been trying to no avail?

Let me try to build this myself.

I see the problem. see if this is the result you were looking for:

Repopulate with nodes I removed while testing.

Alternatively,

1 Like

@jabbson thank you for this, I really aprpeciate it. it does indeed work.

That said, it surprises me that such an amount of additional nodes (and complexity) was needed in order to accomodate the HTTP Request node being placed further upstream :pensive_face: .

From this:

To this:

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