How to download attachment

I am using a form service called Paperform to collect form submissions from my users.

I am using the n8n webhook node to receive the submission data after a user submits a new form.

My form allows users to upload attachments and I receive them as URL’s from Paperform. I want to upload those attachments to Box via n8n, but need a file that I can upload.

It seems like I need to use a node in between the Webhook and Box nodes, but am not sure which one to use.

Here is my current workflow:

{
  "nodes": [
    {
      "parameters": {
        "fileName": "={{$node[\"Webhook\"].json[\"body\"][\"data\"][1][\"value\"][\"name\"]}}",
        "fileContent": "={{$node[\"Webhook\"].json[\"body\"][\"data\"][1][\"value\"][\"url\"]}}",
        "parentId": "134602517010"
      },
      "name": "Box",
      "type": "n8n-nodes-base.box",
      "typeVersion": 1,
      "position": [
        2260,
        650
      ],
      "credentials": {
        "boxOAuth2Api": "Box API"
      }
    },
    {
      "parameters": {
        "operation": "append",
        "application": "appF2xXgU97DcIdBz",
        "table": "tblU6hbbTQaH6j2Z8",
        "options": {}
      },
      "name": "Airtable",
      "type": "n8n-nodes-base.airtable",
      "typeVersion": 1,
      "position": [
        2750,
        650
      ],
      "credentials": {
        "airtableApi": "Airtable API"
      }
    },
    {
      "parameters": {
        "keepOnlySet": true,
        "values": {
          "string": [
            {
              "name": "Passport URL",
              "value": "=https://app.box.com/file/{{$json[\"id\"]}}"
            },
            {
              "name": "Passport ID",
              "value": "={{$json[\"id\"]}}"
            }
          ]
        },
        "options": {}
      },
      "name": "Set",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        2500,
        650
      ]
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "38b9cddd-ba59-4ab9-8e44-5893938bf526",
        "options": {}
      },
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        2040,
        650
      ],
      "webhookId": "38b9cddd-ba59-4ab9-8e44-5893938bf526"
    }
  ],
  "connections": {
    "Box": {
      "main": [
        [
          {
            "node": "Set",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set": {
      "main": [
        [
          {
            "node": "Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Box",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

You can do that with the HTTP Request Node. You just have to make sure to set “Response Format” to “File”.

Awesome thank you