n8n-workflows/workflows/3445_workflow_3445.json
2025-05-14 11:58:29 +03:00

1376 lines
34 KiB
JSON

{
"meta": {
"instanceId": "db80165df40cb07c0377167c050b3f9ab0b0fb04f0e8cae0dc53f5a8527103ca",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "fd4629a6-f7c3-4927-a3da-767d8206b486",
"name": "set credentials",
"type": "n8n-nodes-base.set",
"position": [
0,
300
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "bfb7f25d-f992-4395-9fbe-939a57fc2a3c",
"name": "n8n",
"type": "string",
"value": "=[your n8n instance without a trailling /]"
},
{
"id": "538e0608-fd19-46ed-ba2c-c1efe03eaf9b",
"name": "username",
"type": "string",
"value": "=your n8n username"
},
{
"id": "ad1c4785-70d0-40d7-a61c-e97c3e8702e7",
"name": "password",
"type": "string",
"value": "=your n8n password"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "877bbd5c-fb57-4fa4-9d0a-113270113f31",
"name": "login n8n",
"type": "n8n-nodes-base.httpRequest",
"position": [
180,
300
],
"parameters": {
"url": "={{ $json.n8n }}/rest/login",
"method": "POST",
"options": {
"response": {
"response": {
"fullResponse": true
}
}
},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "emailOrLdapLoginId",
"value": "={{ $json.username }}"
},
{
"name": "password",
"value": "={{ $json.password }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json, text/plain, */*"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9"
},
{
"name": "user-agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "41effdd0-ffad-439c-aa33-39f9cc13f6f9",
"name": "get tags",
"type": "n8n-nodes-base.httpRequest",
"position": [
800,
300
],
"parameters": {
"url": "={{ $('set credentials').first().json.n8n }}/rest/tags",
"options": {
"redirect": {
"redirect": {}
},
"response": {
"response": {
"neverError": true,
"fullResponse": true,
"responseFormat": "json"
}
},
"allowUnauthorizedCerts": false
},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "withUsageCount",
"value": "false"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json, text/plain, */*"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9"
},
{
"name": "user-agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"
},
{
"name": "cookie",
"value": "={{ $('login n8n').first().json.headers['set-cookie'][0] }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "8fd2e71d-8da6-4f28-a377-56ef12c50c33",
"name": "my-projects",
"type": "n8n-nodes-base.httpRequest",
"position": [
340,
300
],
"parameters": {
"url": "={{ $('set credentials').item.json.n8n }}/rest/projects/my-projects",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json, text/plain, */*"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9"
},
{
"name": "sec-fetch-dest",
"value": "empty"
},
{
"name": "user-agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"
},
{
"name": "cookie",
"value": "={{ $json.headers['set-cookie'][0] }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "6bbd2296-fe2b-40d2-8e6c-d04b0987b1c6",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
480,
300
],
"parameters": {
"options": {},
"fieldToSplitOut": "data"
},
"typeVersion": 1
},
{
"id": "28a1f311-37fd-45be-aac4-684de800f099",
"name": "filter owned projects",
"type": "n8n-nodes-base.filter",
"position": [
640,
300
],
"parameters": {
"options": {
"ignoreCase": true
},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": false,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "e66c13b9-4e49-486b-812e-6a38e680207b",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.name.extractEmail() }}",
"rightValue": "={{ $('set credentials').item.json.username }}"
},
{
"id": "99059f5b-055b-48ee-93c9-9689063fcfbe",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.role }}",
"rightValue": "project:personalOwner"
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "0362220f-ebb7-4fa0-b204-ec45f9b20cf4",
"name": "Get folders",
"type": "n8n-nodes-base.httpRequest",
"position": [
1440,
480
],
"parameters": {
"url": "={{ $('set credentials').item.json.n8n }}/rest/projects/{{ $('filter owned projects').item.json.id }}/folders?filter={\"excludeFolderIdAndDescendants\":\"\",\"name\":\"{{ $json.name }}\"}&sortBy=updatedAt:desc",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{}
]
},
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json, text/plain, */*"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9"
},
{
"name": "user-agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"
},
{
"name": "cookie",
"value": "={{ $('login n8n').item.json.headers['set-cookie'][0] }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "b03373b9-ff14-4e8f-8d00-96755390d252",
"name": "Split Out2",
"type": "n8n-nodes-base.splitOut",
"position": [
1800,
380
],
"parameters": {
"options": {},
"fieldToSplitOut": "data"
},
"typeVersion": 1
},
{
"id": "00ad1ad3-5c55-40e9-8209-2c60fb8b5a0a",
"name": "Remove Duplicates",
"type": "n8n-nodes-base.removeDuplicates",
"position": [
2140,
380
],
"parameters": {
"compare": "selectedFields",
"options": {},
"fieldsToCompare": "name"
},
"typeVersion": 2
},
{
"id": "ac6c24e3-f095-48e2-a007-e5f07b7ff2a0",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1240,
320
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "bcb53003-7473-47ec-82c3-2e954ae26e90",
"name": "get workflows",
"type": "n8n-nodes-base.n8n",
"position": [
3040,
720
],
"parameters": {
"filters": {
"tags": "={{ $json.tag }}"
},
"requestOptions": {}
},
"credentials": {
"n8nApi": {
"id": "qMPcwXYtxelKJQhF",
"name": "n8n account✅"
}
},
"typeVersion": 1
},
{
"id": "ddf83b3b-dffb-46b8-ab4b-38d19e1672b7",
"name": "Move workflow to folder",
"type": "n8n-nodes-base.httpRequest",
"position": [
3240,
720
],
"parameters": {
"url": "={{ $('set credentials').item.json.n8n }}/rest/workflows/{{ $json.id }}",
"method": "PATCH",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "parentFolderId",
"value": "={{ $('set global').item.json['folder id'] }}"
},
{
"name": "versionId",
"value": "={{ $json.versionId }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json, text/plain, */*"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9"
},
{
"name": "user-agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"
},
{
"name": "cookie",
"value": "={{ $('login n8n').item.json.headers['set-cookie'][0] }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "a611394f-418d-42d5-b26c-095c17043a86",
"name": "Normalize names",
"type": "n8n-nodes-base.set",
"position": [
1980,
380
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a0d33a3e-f13b-438d-af1b-a4ff644b9373",
"name": "name",
"type": "string",
"value": "={{ $json.name.toLowerCase().split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ') }}"
},
{
"id": "abff18b8-ea51-4cc0-8e88-f326534931ec",
"name": "tag",
"type": "string",
"value": "={{ $('Loop Over Items').item.json.name }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "e351c926-cf6e-4f61-9a7a-46338368c66e",
"name": "Limit1",
"type": "n8n-nodes-base.limit",
"position": [
2420,
380
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c5d0c6b1-e478-40da-b9b7-15a60d3439dc",
"name": "Create folders",
"type": "n8n-nodes-base.httpRequest",
"position": [
2260,
640
],
"parameters": {
"url": "={{ $('set credentials').item.json.n8n }}/rest/projects/{{ $('filter owned projects').item.json.id }}/folders",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "name",
"value": "={{ $json.name }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json, text/plain, */*"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9"
},
{
"name": "user-agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"
},
{
"name": "cookie",
"value": "={{ $('login n8n').item.json.headers['set-cookie'][0] }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "e7ab539f-6795-45eb-b23d-11ee13d3a17e",
"name": "set folder name + id",
"type": "n8n-nodes-base.set",
"position": [
2800,
640
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b4743119-ab58-44d8-b881-877de84e82e9",
"name": "name",
"type": "string",
"value": "={{ $json.data.name }}"
},
{
"id": "42ad0f03-f7c1-424f-9429-0b5402b60cc6",
"name": "folder id",
"type": "string",
"value": "={{ $json.data.id }}"
},
{
"id": "9ac73fd6-cfd9-47a3-8f28-d0238ebccaf9",
"name": "tag",
"type": "string",
"value": "={{ $('Edit Fields').first().json.tag }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8daa7475-4ac3-46b4-9681-b4c80002db06",
"name": "set folder name + id1",
"type": "n8n-nodes-base.set",
"position": [
2780,
360
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b4743119-ab58-44d8-b881-877de84e82e9",
"name": "name",
"type": "string",
"value": "={{ $json.name }}"
},
{
"id": "42ad0f03-f7c1-424f-9429-0b5402b60cc6",
"name": "folder id",
"type": "string",
"value": "={{ $json.id }}"
},
{
"id": "9ac73fd6-cfd9-47a3-8f28-d0238ebccaf9",
"name": "tag",
"type": "string",
"value": "={{ $('Normalize names').item.json.tag }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "688107fc-03e4-4e7f-9e51-ad8d30822566",
"name": "set global",
"type": "n8n-nodes-base.set",
"position": [
3020,
480
],
"parameters": {
"options": {},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "39027caf-6097-47cf-86c5-70882c45062d",
"name": "Filter",
"type": "n8n-nodes-base.filter",
"position": [
2280,
380
],
"parameters": {
"options": {
"ignoreCase": true
},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": false,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "c7bf8dcd-6e97-4908-a4c2-a197d452ffc1",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.name }}",
"rightValue": "={{ $('Loop Over Items').first().json.name }}"
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2,
"alwaysOutputData": true
},
{
"id": "1fcaf2d9-4aef-435d-968f-b8ecfea8a1ea",
"name": "Edit Fields",
"type": "n8n-nodes-base.set",
"position": [
1820,
640
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "6dae439c-b0b1-4058-832f-9308fda265fc",
"name": "name",
"type": "string",
"value": "={{ $('Loop Over Items').item.json.name }}"
},
{
"id": "3c1f1bf1-d6ae-4111-b091-2b05a62c15e9",
"name": "tag",
"type": "string",
"value": "={{ $('Loop Over Items').item.json.name }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "1dea92e4-9b93-4b7e-8496-020731864219",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
-160,
300
],
"webhookId": "d7a3218f-0b12-4966-bf07-edd8acffe5e8",
"parameters": {
"options": {
"buttonLabel": "Submit"
},
"formTitle": "Tags to Folders",
"formFields": {
"values": [
{
"fieldType": "html"
}
]
},
"formDescription": "Convert all tags into folders"
},
"typeVersion": 2.2
},
{
"id": "926f64a9-e5ef-4f99-8938-83b09c7cc13c",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
360,
580
],
"parameters": {
"jsCode": "function capitalizeFirstLetter(val) {\n const str = String(val).trim();\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\n// Get raw comma-separated string\nconst raw = $json.name;\n\n// Step 1: Split, clean, and filter\nconst values = raw\n .split(',')\n .map(x => x.trim())\n .filter(x => x.length > 0 && !/^[A-Za-z0-9]{10,}$/.test(x)) // filter junk-like tokens\n .map(x => ({ option: capitalizeFirstLetter(x) }));\n\n// Step 2: Add [create new]\nvalues.push({ option: \"[create new]\" });\n\n// Step 3: Build form config\nconst formOptions = {\n fieldLabel: \"Dropdown Options\",\n fieldType: \"dropdown\",\n requiredField: true,\n fieldOptions: {\n values\n }\n};\n\n// Step 4: Return as stringified JSON\nreturn [\n {\n json: {\n fieldLabel: \"Dropdown Options\",\n fieldType: \"dropdown\",\n requiredField: true,\n fieldOptions: {\n values: values\n }\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "4c3b4a14-d0ec-449d-b222-cd4a7c05b2bb",
"name": "If no folder",
"type": "n8n-nodes-base.if",
"position": [
1620,
480
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "e10c2b8e-bdc0-476e-aaed-886e99d4ed37",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ $json.count }}",
"rightValue": 0
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a29325c5-5543-463c-9dc9-ec572afc0b82",
"name": "If folder exists",
"type": "n8n-nodes-base.if",
"position": [
2580,
380
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "70916c0d-531b-4cae-9fac-ae40aa3f7453",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.name }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "d65e17fb-8c4b-4412-8d81-b7fa0d540b81",
"name": "set name",
"type": "n8n-nodes-base.set",
"position": [
2020,
640
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e7d24d6b-0d97-4e47-b0d4-43682eef686d",
"name": "name",
"type": "string",
"value": "={{ $json.name.toLowerCase().split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ') }}"
},
{
"id": "52fb820d-5a8a-434b-a99f-db035714d8e3",
"name": "tag",
"type": "string",
"value": "={{ $json.tag }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "104af4eb-f087-4c4f-ad69-058f7fbe5407",
"name": "end import",
"type": "n8n-nodes-base.form",
"position": [
1660,
160
],
"webhookId": "3605aadf-17f1-4443-8950-e4d506a61415",
"parameters": {
"options": {},
"operation": "completion",
"completionTitle": "Import complete",
"completionMessage": "=Successfully imported {{ $('pass all items').all().length }} workflows to the folders {{ $('select tags to move').item.json['Dropdown Options'] }}"
},
"typeVersion": 1
},
{
"id": "31441d1e-8675-4a6b-bf3d-5f7230a6c173",
"name": "pass all items",
"type": "n8n-nodes-base.set",
"position": [
1480,
160
],
"parameters": {
"options": {},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "287704cc-7a43-4ffc-873e-b19920764b1e",
"name": "select tags to move",
"type": "n8n-nodes-base.form",
"position": [
580,
580
],
"webhookId": "72c3db6c-542a-4df9-a10a-d63ce8a2f33b",
"parameters": {
"options": {},
"defineForm": "json",
"jsonOutput": "=[\t{\n\t\t\"fieldLabel\": \"Dropdown Options\",\n\t\t\"fieldType\": \"dropdown\",\n\t\t\"fieldOptions\": {\n\t\t\t\"values\": {{ $json.fieldOptions.values.toJsonString() }}\n\t\t},\n\t\t\"requiredField\": true,\n \"multiselect\": true \n\t}\n\n] "
},
"typeVersion": 1
},
{
"id": "df8831e6-d587-4220-b602-8c06b3627d11",
"name": "extract name from form",
"type": "n8n-nodes-base.set",
"position": [
1020,
320
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "f3bbf61c-6f60-4b51-a2b4-05d92d4fe000",
"name": "name",
"type": "string",
"value": "={{ $json['Dropdown Options'] || $json['[\\'Dropdown Options\\']'] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "6340d3b0-9059-463c-bd78-2789156f47a8",
"name": "Split Out the tags",
"type": "n8n-nodes-base.splitOut",
"position": [
780,
580
],
"parameters": {
"options": {},
"fieldToSplitOut": "['Dropdown Options']"
},
"typeVersion": 1
},
{
"id": "5f6dc440-7be1-432f-88c5-f05f5f3939b1",
"name": "tags to string",
"type": "n8n-nodes-base.set",
"position": [
140,
580
],
"parameters": {
"options": {
"ignoreConversionErrors": true
},
"assignments": {
"assignments": [
{
"id": "ce3e2cf1-a37e-476c-934b-355a477c91d2",
"name": "name",
"type": "array",
"value": "={{ $json.body.data.map(item => item.name )}} "
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8784bdaf-0100-4f91-8631-b4ad4518fa33",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-20,
220
],
"parameters": {
"width": 960,
"height": 260,
"content": "## Step 1\nLogin to n8n, and get the tags we have for our personal owned projects"
},
"typeVersion": 1
},
{
"id": "f27df4ec-c415-4077-8037-0bfe573aa4bf",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-20,
500
],
"parameters": {
"width": 960,
"height": 280,
"content": "## Step 2\nExtract the tags as a json string, and format this into a suitable format for our response form for user to select the tags they want to work with"
},
"typeVersion": 1
},
{
"id": "8966e043-e358-4ba3-bc12-406c104b7dd1",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
240
],
"parameters": {
"color": 2,
"width": 420,
"height": 260,
"content": "## Step 3\nExtract the form details and loop over each tag to process"
},
"typeVersion": 1
},
{
"id": "8b0bdded-cbeb-471a-ba74-ca7c6aaa34f2",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1420,
380
],
"parameters": {
"color": 3,
"width": 340,
"height": 240,
"content": "## Step 3\nWe search for the folders and filter based on the number of folders found"
},
"typeVersion": 1
},
{
"id": "be088523-e64a-4251-9c5c-355342c3ba98",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1780,
300
],
"parameters": {
"width": 940,
"height": 220,
"content": "## Step 4 a) \nIf more than 1 folder is found, we dedupe the tags and limit to one, then use that as the folder"
},
"typeVersion": 1
},
{
"id": "6b08db71-dca5-4bb8-bb0c-4599c8e53bb1",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1780,
560
],
"parameters": {
"width": 680,
"height": 220,
"content": "## Step 4 b) \nIf no folder is found, we create a new folder "
},
"typeVersion": 1
},
{
"id": "f96f9211-e076-472c-a7cd-abf58b4662ff",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2740,
260
],
"parameters": {
"color": 5,
"width": 420,
"height": 480,
"content": "## Step 5\n\nMerge the paths so we use one workflow"
},
"typeVersion": 1
},
{
"id": "f7f253bd-0b3a-48bb-97f5-1a8cf82b9b7e",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2960,
660
],
"parameters": {
"color": 4,
"width": 480,
"height": 240,
"content": "## Step 6\nGet the workflows and move them to the respective folders"
},
"typeVersion": 1
},
{
"id": "1d10ecf9-48e4-47d9-9d79-69ac1e375827",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
1440,
80
],
"parameters": {
"width": 380,
"height": 220,
"content": "## Step 7\nRespond with a success message"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"Code": {
"main": [
[
{
"node": "select tags to move",
"type": "main",
"index": 0
}
]
]
},
"Filter": {
"main": [
[
{
"node": "Limit1",
"type": "main",
"index": 0
}
]
]
},
"Limit1": {
"main": [
[
{
"node": "If folder exists",
"type": "main",
"index": 0
}
]
]
},
"get tags": {
"main": [
[
{
"node": "tags to string",
"type": "main",
"index": 0
}
]
]
},
"set name": {
"main": [
[
{
"node": "Create folders",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "filter owned projects",
"type": "main",
"index": 0
}
]
]
},
"login n8n": {
"main": [
[
{
"node": "my-projects",
"type": "main",
"index": 0
}
]
]
},
"Split Out2": {
"main": [
[
{
"node": "Normalize names",
"type": "main",
"index": 0
}
]
]
},
"set global": {
"main": [
[
{
"node": "get workflows",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "set name",
"type": "main",
"index": 0
}
]
]
},
"Get folders": {
"main": [
[
{
"node": "If no folder",
"type": "main",
"index": 0
}
]
]
},
"my-projects": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"If no folder": {
"main": [
[
{
"node": "Split Out2",
"type": "main",
"index": 0
}
],
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"get workflows": {
"main": [
[
{
"node": "Move workflow to folder",
"type": "main",
"index": 0
}
]
]
},
"Create folders": {
"main": [
[
{
"node": "set folder name + id",
"type": "main",
"index": 0
}
]
]
},
"pass all items": {
"main": [
[
{
"node": "end import",
"type": "main",
"index": 0
}
]
]
},
"tags to string": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[
{
"node": "pass all items",
"type": "main",
"index": 0
}
],
[
{
"node": "Get folders",
"type": "main",
"index": 0
}
]
]
},
"Normalize names": {
"main": [
[
{
"node": "Remove Duplicates",
"type": "main",
"index": 0
}
]
]
},
"set credentials": {
"main": [
[
{
"node": "login n8n",
"type": "main",
"index": 0
}
]
]
},
"If folder exists": {
"main": [
[
{
"node": "set folder name + id1",
"type": "main",
"index": 0
}
],
[
{
"node": "set name",
"type": "main",
"index": 0
}
]
]
},
"Remove Duplicates": {
"main": [
[
{
"node": "Filter",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "set credentials",
"type": "main",
"index": 0
}
]
]
},
"Split Out the tags": {
"main": [
[
{
"node": "extract name from form",
"type": "main",
"index": 0
}
]
]
},
"select tags to move": {
"main": [
[
{
"node": "Split Out the tags",
"type": "main",
"index": 0
}
]
]
},
"set folder name + id": {
"main": [
[
{
"node": "set global",
"type": "main",
"index": 0
}
]
]
},
"filter owned projects": {
"main": [
[
{
"node": "get tags",
"type": "main",
"index": 0
}
]
]
},
"set folder name + id1": {
"main": [
[
{
"node": "set global",
"type": "main",
"index": 0
}
]
]
},
"extract name from form": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Move workflow to folder": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
}
}
}