AutomationFlowsGeneral › Merge PDFs from URLs

Merge PDFs from URLs

Original n8n title: Merge Pdfs

Merge PDFs. Uses manualTrigger, httpRequest, @custom-js/n8n-nodes-pdf-toolkit, readWriteFile. Event-driven trigger; 7 nodes.

Event trigger★★★★☆ complexity7 nodesHTTP Request@Custom Js/N8N Nodes Pdf ToolkitRead Write File
General Trigger: Event Nodes: 7 Complexity: ★★★★☆ Added:

This workflow follows the HTTP Request → Readwritefile recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "MVPlLz3CiQok6rXy",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Merge PDFs",
  "tags": [],
  "nodes": [
    {
      "id": "282b146b-ee58-4089-9ee6-94b153024bfa",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        740,
        -40
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "39a37abd-924f-474c-8dde-7536170797f2",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        960,
        -140
      ],
      "parameters": {
        "url": "=https://www.intewa.com/fileadmin/documents/pdf-file.pdf",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "b2359766-896f-4966-873e-b2dc0ee4f684",
      "name": "HTTP Request2",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        960,
        60
      ],
      "parameters": {
        "url": "=https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "7f70b25c-a171-4a7c-8067-141ce3275226",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1180,
        -40
      ],
      "parameters": {},
      "typeVersion": 3.1
    },
    {
      "id": "183b90b4-5f22-4ff8-b47f-96b7c4d522d7",
      "name": "Merge PDF1",
      "type": "@custom-js/n8n-nodes-pdf-toolkit.mergePdfs",
      "position": [
        1400,
        -40
      ],
      "parameters": {},
      "credentials": {
        "customJsApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "131474f2-c6ca-4d1f-ba49-1f2f6d91394a",
      "name": "Read/Write Files from Disk",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        1620,
        -40
      ],
      "parameters": {
        "options": {},
        "fileName": "test.pdf",
        "operation": "write"
      },
      "typeVersion": 1
    },
    {
      "id": "a86ddc41-60aa-482c-90f2-8eacc6bb0a9b",
      "name": "Read/Write Files from Disk4",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        1840,
        -40
      ],
      "parameters": {
        "options": {},
        "fileSelector": "test.pdf"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "02f73022-a678-4660-ab1d-3531e4848cba",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Merge PDF1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge PDF1": {
      "main": [
        [
          {
            "node": "Read/Write Files from Disk",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request2": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Read/Write Files from Disk": {
      "main": [
        [
          {
            "node": "Read/Write Files from Disk4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          },
          {
            "node": "HTTP Request2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Merge PDFs. Uses manualTrigger, httpRequest, @custom-js/n8n-nodes-pdf-toolkit, readWriteFile. Event-driven trigger; 7 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

AutoQoutesV2_template. Uses manualTrigger, httpRequest, stickyNote, googleSheets. Event-driven trigger; 28 nodes.

HTTP Request, Google Sheets, Google Drive +2
General

AutoClip – Automatically Generate Video Clips and Upload to YouTube. Uses manualTrigger, googleSheets, googleDrive, stickyNote. Event-driven trigger; 23 nodes.

Google Sheets, Google Drive, Read Write File +2
General

Credentials Transfer. Uses form, httpRequest, executeCommand, readWriteFile. Event-driven trigger; 22 nodes.

Form, HTTP Request, Execute Command +2
General

Structured Bulk Data Extract with Bright Data Web Scraper. Uses manualTrigger, httpRequest, stickyNote, readWriteFile. Event-driven trigger; 16 nodes.

HTTP Request, Read Write File
General

Merge. Uses manualTrigger, readWriteFile, stickyNote, httpRequest. Event-driven trigger; 6 nodes.

Read Write File, HTTP Request