AutomationFlowsWeb Scraping › Inst - the N8n Installer: Deploy Workflows with Automatic Credential Mapping

Inst - the N8n Installer: Deploy Workflows with Automatic Credential Mapping

ByWyeth @wyeth on n8n.io

This workflow provides everything you need to package and deploy multiple workflows from a single workflow you distribute.

Event trigger★★★★★ complexity31 nodesn8nStop And ErrorGitHubHTTP Request
Web Scraping Trigger: Event Nodes: 31 Complexity: ★★★★★ Added:

This workflow corresponds to n8n.io template #7028 — we link there as the canonical source.

This workflow follows the GitHub → HTTP Request 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
{
  "name": "INST_installer",
  "nodes": [
    {
      "id": "eb8eccf7-c27b-4143-923c-be89fd9993d1",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        80,
        368
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "80bdf586-cb19-4ea6-9c9c-c1ee6c4171c4",
      "name": "Installer Data",
      "type": "n8n-nodes-base.set",
      "position": [
        1616,
        368
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "7ced4f8b-ccea-4327-9211-347dd34843a3",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "091a97f2-d7ad-4212-8ba5-5390c048c695",
      "name": "Convert to File",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        1792,
        368
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "49399999-ab2c-4788-a284-36617e17aae2",
      "name": "Extract Workflow",
      "type": "n8n-nodes-base.set",
      "position": [
        2992,
        432
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "34175484-8ee8-4877-a0e2-c9fc6ef3515f",
      "name": "Create Workflow",
      "type": "n8n-nodes-base.n8n",
      "position": [
        3168,
        432
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6f8f030b-0000-43a5-988c-563f14b0a43c",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        144
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "18c468c7-c0be-4207-9676-8ba1a7fdbe19",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        144
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "4ca0cf02-f2cd-4779-a613-3e71a7a17b97",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1536,
        144
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "84b479c4-75f1-44af-811b-146dab17b0d5",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2704,
        144
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "f7e50f01-b6bc-41b7-882e-4bb6606e1706",
      "name": "Loop Over Workflows",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        2800,
        304
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "63c79b2b-8235-4150-b0d8-c1c395bbe090",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4000,
        144
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "43f0241d-e0c0-462e-b439-785da8384780",
      "name": "Decompress Workflows",
      "type": "n8n-nodes-base.extractFromFile",
      "notes": "Extract JSON from base64\n",
      "position": [
        1968,
        368
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1
    },
    {
      "id": "7b32a5b4-b02e-46eb-8ffc-308eabd7b4c0",
      "name": "Split Workflows",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        2160,
        368
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4fb5e073-c873-4440-bab5-5f2ea4e29ee0",
      "name": "If 3 Credentials",
      "type": "n8n-nodes-base.if",
      "position": [
        1104,
        464
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "573b0344-d6ab-4699-973e-7f17fbb07e39",
      "name": "Stop and Error",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        1392,
        912
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "eb0f9869-1342-4c2a-a7b5-4c823758149e",
      "name": "Github Credentials",
      "type": "n8n-nodes-base.github",
      "notes": "Configure this.",
      "position": [
        528,
        368
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1.1
    },
    {
      "id": "8b2d39ea-5c13-4ee5-8387-47e6ad429ef7",
      "name": "OpenAi Credentials",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Configure this.",
      "position": [
        352,
        368
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "a98ee951-9528-43c6-9831-9b44b7ec390c",
      "name": "n8n Credentials",
      "type": "n8n-nodes-base.n8n",
      "notes": "Configure this.",
      "position": [
        704,
        368
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1
    },
    {
      "id": "dd6b2684-9e90-4338-9228-66768d0e3693",
      "name": "Credential Dictionary",
      "type": "n8n-nodes-base.set",
      "notes": "Create Dictionary",
      "position": [
        912,
        464
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 3.3
    },
    {
      "id": "9f78fcd9-e4c7-4993-82c6-9e053173df72",
      "name": "Fix Credentials",
      "type": "n8n-nodes-base.code",
      "position": [
        2448,
        368
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "161c0218-fc6c-469c-9353-e55ba1529af9",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2336,
        144
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "e8cd60bd-82ed-45c8-890a-d85e6b690b24",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1344,
        720
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "8d808702-a8e6-4a06-8398-ea90f233d92a",
      "name": "Move to Project",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3600,
        400
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "9eac3572-8225-434d-b433-4553f0150068",
      "name": "Extract Project Details",
      "type": "n8n-nodes-base.set",
      "position": [
        912,
        288
      ],
      "parameters": {},
      "executeOnce": false,
      "typeVersion": 3.4
    },
    {
      "id": "96759220-a85e-4ad4-82d3-b7e93b4ad6e2",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1328,
        368
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "e464566a-c0d9-4a0f-be27-24b37684ac41",
      "name": "No Op",
      "type": "n8n-nodes-base.noOp",
      "position": [
        3776,
        496
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "0445d4af-09f2-45f9-bf61-8440ed85941c",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3360,
        144
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b7b9b0f9-9d95-4195-b0d8-c20e15efc84f",
      "name": "Install Success1",
      "type": "n8n-nodes-base.noOp",
      "position": [
        4256,
        416
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "56507322-65e3-455d-b070-ab7bd482c772",
      "name": "Done",
      "type": "n8n-nodes-base.noOp",
      "position": [
        3776,
        288
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "86653aa3-cb03-440c-a083-1f146878c75d",
      "name": "If Project",
      "type": "n8n-nodes-base.if",
      "position": [
        3392,
        480
      ],
      "parameters": {},
      "typeVersion": 2.2
    }
  ],
  "settings": {
    "executionOrder": "v1"
  },
  "connections": {
    "Done": {
      "main": [
        [
          {
            "node": "Install Success1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Installer Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "No Op": {
      "main": [
        [
          {
            "node": "Loop Over Workflows",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If Project": {
      "main": [
        [
          {
            "node": "Move to Project",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Op",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Installer Data": {
      "main": [
        [
          {
            "node": "Convert to File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to File": {
      "main": [
        [
          {
            "node": "Decompress Workflows",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Workflow": {
      "main": [
        [
          {
            "node": "If Project",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fix Credentials": {
      "main": [
        [
          {
            "node": "Loop Over Workflows",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Move to Project": {
      "main": [
        [
          {
            "node": "No Op",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Workflows": {
      "main": [
        [
          {
            "node": "Fix Credentials",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "n8n Credentials": {
      "main": [
        [
          {
            "node": "Credential Dictionary",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract Project Details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Workflow": {
      "main": [
        [
          {
            "node": "Create Workflow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If 3 Credentials": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ],
        [
          {
            "node": "Stop and Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Github Credentials": {
      "main": [
        [
          {
            "node": "n8n Credentials",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAi Credentials": {
      "main": [
        [
          {
            "node": "Github Credentials",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Workflows": {
      "main": [
        [
          {
            "node": "Done",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Extract Workflow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Decompress Workflows": {
      "main": [
        [
          {
            "node": "Split Workflows",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Credential Dictionary": {
      "main": [
        [
          {
            "node": "If 3 Credentials",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Project Details": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "OpenAi Credentials",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

This workflow provides everything you need to package and deploy multiple workflows from a single workflow you distribute.

Source: https://n8n.io/workflows/7028/ — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

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

Web Scraping

[n8n] Advanced URL Parsing and Shortening Workflow - Switchy.io Integration. Uses splitInBatches, stickyNote, httpRequest, html. Event-driven trigger; 56 nodes.

HTTP Request, GitHub, Stop And Error +1
Web Scraping

[](https://youtu.be/c7yCZhmMjtI)

HTTP Request, GitHub, Stop And Error +1
Web Scraping

Git Commit. Uses github, n8n, formTrigger, httpRequest. Event-driven trigger; 34 nodes.

GitHub, n8n, Form Trigger +2
Web Scraping

Remixed Backup your workflows to GitHub from Solomon's work. Check out his templates.

HTTP Request, GitHub, Execute Workflow Trigger +1
Web Scraping

Based on Jonathan & Solomon work.

n8n, HTTP Request, GitHub +1