{"workflow":{"id":13245,"name":"Back up n8n workflows to google drive while preserving folder structure","views":68,"recentViews":0,"totalViews":68,"createdAt":"2026-02-06T14:17:49.498Z","description":"### Back up & restore n8n workflows with preserved folder structure with GoogleDrive\n\n\n# A. Backup workflows solution to google Drive\n\n## ✅ What problem does this workflow solve?\n\nIf you’re building and managing multiple automations with well-organized nested folders structure, then, losing a workflow due to accidental deletion or misconfiguration, can cost you hours of work and headache.\n\nThis can be even more impactful for self-hosted n8n instances.\n\nThis template solves that for any n8n setup (cloud or self hosted)  by exporting a perfect mirrored setup of a whole n8n project, preserving the nested folder structure and the workflows within it. \n\nAll of it is uploaded in google drive under one main backup folder per execution to keep track of different setup versions along time.\n\n## 🧑‍💻Who’s it for ?\n\nThis workflow is ideal for any n8n user, from beginner to advanced solo/team “flowgrammer” who wants to have a reliable, safe, automated and easy to access backup solution that reflects a perfect mirror of their n8n setup. \n\n## ✨What it does\n\n* **Scheduled Execution**: The workflow runs automatically according to the schedule, could be up to X times a day (or can be triggered manually).\n\n* **Creates backup Folder**: It creates a new overall backup folder with a naming convention as “n8n_backup_folder_structure_DDMMYYYY_HHmmss” (i.e “n8n_backup_folder_structure_02022026_123343”) where the whole n8n nested folder structure along with workflows (JSON files) will be saved.\n\nFor example if an n8n workflow instance look like this, then same structure will be preserved and reflected on google drive along with the workflows within each folder : \n\n```\n projects-root-folder/\n\t└── Your-project-folder-name/\n\t\t└── Utilities/\n└──Error_management/\n\t└── error_alerting.json\n└──Log_analysis/\n└── Reports/\n\t└── Clients/\n\t\t└──Client_A/\n\t\t└──Client_B/\n└── client_reporting_standard.json\n       └── ...\n└── workflow_test.json\n```\n\n\n* **Fetches the non documented n8n API**: It connects to your n8n instance via the n8n API, not the documented one, but the one used directly from your UI when you manipulate your instance.\nThis API has been used instead of the native n8n node because it gives some more features that are being used here such as :\n\n    * Retrieve the workflow’s parentFolder name\n    * Retrieve the workflow’s description\n    * Retrieve the n8n instance’s projectId\n    * Create an n8n data table\n    * Get properties of an n8n data table\n\n## 🛠️How to set up ?\n\n**1.** **Configure Credentials**: Make sure you have valid credentials for :\n    * **Google Drive**: To allow the workflow to create folders and upload files.\n\n**2.** **Set Your Variables**: In the first `Set` node named **\"n8n instance/project access details\"**:\n    * `n8n_instance_URL`: Paste your n8n instance URL without the “/” at the end. For example : https://myautomations.app.n8n.cloud\n    * `emailOrLdapLoginId`: your login email address\n    * `password`: your password\n\n![image.png](fileId:4265) ![image.png](fileId:4266)\n\n\n**3.** **Create your main backup folder**: Create on your google drive space the main folder where all your backup will be uploaded. For example “my_n8n_backup” and then select it in the node `Create backup folder \"n8n_backup_folder_structure_ddMMyyyy_HHmmss\"` ” from the List under “Parent Folder”,\n\n![image.png](fileId:4267)\n\n![image.png](fileId:4268)\n\n\n\n### 🚀 Activate the workflow, and you're all set!\n\n# B. Restore Backup workflows to n8n from google Drive\n\nYou can run it manually by adding the  specific google drive backup folder name that you want to restore on n8n inside the node \"Search for the backup folder in Drive\".\n\n![drive folder backer](https://i.ibb.co/dsCBqmXR/Screenshot-2026-02-15-184251.png)\n\n![setup node backup folder](https://i.ibb.co/9HYgryj6/Screenshot-2026-02-15-184528.png)\n\nAfter running the workflow you'll see on your n8n the backup folder restored with all your saved folder/subfolders and associated workflows.\n\n![](https://i.ibb.co/whBcHn4C/Screenshot-2026-02-15-184630.png)\n\nAnd when you open that folder you'll see all your setup successfully restored! \n\n\n![](https://i.ibb.co/5hqXdJ9J/Screenshot-2026-02-15-214348.png)","workflow":{"id":"","meta":{"instanceId":""},"name":"Complete automated n8n workflows backup & restore solution with preserved folder structure","tags":[],"nodes":[{"id":"3fd2c2d7-e952-4089-a0f0-f10ebe2b49e1","name":"n8n login API1","type":"n8n-nodes-base.httpRequest","position":[-1184,1552],"parameters":{"url":"={{ $json.n8n_instance_URL }}/rest/login","method":"POST","options":{"response":{"response":{"fullResponse":true}}},"jsonBody":"={\"emailOrLdapLoginId\":\"{{ $json.emailOrLdapLoginId }}\",\"password\":\"{{ $json.password }}\"}","sendBody":true,"specifyBody":"json"},"typeVersion":4.3},{"id":"a7aa39e5-7365-4ee2-92b8-731a5bcfe0fe","name":"get subfolder(s) structure","type":"n8n-nodes-base.httpRequest","position":[1568,1552],"parameters":{"url":"={{ $('n8n instance/project access details').item.json.n8n_instance_URL }}/rest/workflows?includeScopes=true&includeFolders=true&skip=0&take=400","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $json['n8n-auth'] }}"}]}},"typeVersion":4.3},{"id":"4afec708-a63f-4337-90ca-9ec8eb324bbe","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[1472,1408],"parameters":{"color":6,"width":2048,"height":352,"content":"# 3/ Get project folder(s) and add names in n8n tables \"folders\" & \"workflows\" : root and subfolders"},"typeVersion":1},{"id":"2d8bb722-0ad4-46d0-9b70-ccf9dec591e1","name":"Merge","type":"n8n-nodes-base.merge","position":[5904,688],"parameters":{"mode":"combine","options":{},"advanced":true,"joinMode":"enrichInput1","mergeByFields":{"values":[{"field1":"data.parentFolder.id","field2":"folderId"}]}},"typeVersion":3.2},{"id":"3986a459-2d39-4cad-96af-43b2013af546","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[4144,192],"parameters":{"color":6,"width":1056,"height":304,"content":"# 4/ Assign the folder's fullPath value"},"typeVersion":1},{"id":"7396cc15-be5d-41a0-b390-3ff9e9bc47f1","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[4144,576],"parameters":{"color":6,"width":2800,"height":384,"content":"# 5/ Get workflow + folder relation with full path and add it to \"workflows\" table"},"typeVersion":1},{"id":"be656883-d32c-4820-999d-22b56bf694c9","name":"Search if folder already exists","type":"n8n-nodes-base.googleDrive","maxTries":3,"position":[7472,1280],"parameters":{"filter":{"driveId":{"__rl":true,"mode":"list","value":"My Drive","cachedResultUrl":"https://drive.google.com/drive/my-drive","cachedResultName":"My Drive"},"folderId":{"__rl":true,"mode":"id","value":"={{ $json.parent_google_folder_Id }}"},"whatToSearch":"folders"},"options":{"fields":["name","id"]},"resource":"fileFolder","returnAll":true,"queryString":"=mimeType = 'application/vnd.google-apps.folder' and name = '{{ $json[\"folderName\"] }}'","searchMethod":"query"},"credentials":{"googleDriveOAuth2Api":{"id":"ipWSglDR3WeYHBf5","name":"Google Drive account"}},"retryOnFail":true,"typeVersion":3,"alwaysOutputData":true,"waitBetweenTries":5000},{"id":"980ede93-1d45-4c68-8538-f6e4fb2bb3f2","name":"if folder not found => create it","type":"n8n-nodes-base.if","position":[7744,1280],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"961c3bb2-5f6d-4c4e-b081-1df15c421f07","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $json.isEmpty() }}","rightValue":""}]}},"typeVersion":2.3},{"id":"7ec9d727-0dd0-49c0-9ccf-65cf876562d6","name":"Attach the parentFolder if any","type":"n8n-nodes-base.set","position":[8064,1264],"parameters":{"options":{},"assignments":{"assignments":[{"id":"3bd8e3a9-f787-401a-9326-7f74424b5da5","name":"subfolder","type":"string","value":"={{ $('One run per folder').item.json[\"folderName\"] }}"},{"id":"5bdb5050-cf5e-4c2e-8d52-7ae44eb04f2c","name":"parentFolder","type":"string","value":"={{ $('One run per folder').item.json.parentFolderName }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"a76a1ab3-d5d7-4876-b77c-c961acac7b30","name":"if parentFolder empty","type":"n8n-nodes-base.if","position":[8352,1264],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"4a4f7eb5-e1e8-4dec-914c-c55ecef8654e","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.parentFolder }}","rightValue":"null"}]}},"typeVersion":2.3},{"id":"5dbd2002-c3b8-4c2e-85ca-6a170122ab42","name":"Create folder under the parentFolder","type":"n8n-nodes-base.googleDrive","maxTries":3,"position":[9120,1552],"parameters":{"name":"={{ $json.subfolder }}","driveId":{"__rl":true,"mode":"list","value":"My Drive","cachedResultUrl":"https://drive.google.com/drive/my-drive","cachedResultName":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"id","value":"={{ $json.google_folder_id }}"},"resource":"folder"},"credentials":{"googleDriveOAuth2Api":{"id":"ipWSglDR3WeYHBf5","name":"Google Drive account"}},"retryOnFail":true,"typeVersion":3,"waitBetweenTries":5000},{"id":"033fd371-ce8e-4ebf-9a91-1b14a03a4560","name":"Split Out3","type":"n8n-nodes-base.splitOut","position":[4432,3456],"parameters":{"options":{},"fieldToSplitOut":"data"},"typeVersion":1},{"id":"589f781f-df42-4a3b-8088-8cf439d1dcaa","name":"Merge1","type":"n8n-nodes-base.merge","position":[6432,3488],"parameters":{"mode":"combine","options":{},"advanced":true,"joinMode":"enrichInput1","mergeByFields":{"values":[{"field1":"=wf_folder_name","field2":"folderName"}]}},"typeVersion":3.2},{"id":"61ce5ba7-057b-4d52-b959-07ab96476e69","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[4160,2944],"parameters":{"color":6,"width":5344,"height":976,"content":"# 8/ Upload each JSON workflow file into its google drive folder"},"typeVersion":1},{"id":"82ba512f-bb51-44a8-a6d8-53f952a5d555","name":"Merge2","type":"n8n-nodes-base.merge","position":[7456,3392],"parameters":{"mode":"combine","options":{},"advanced":true,"joinMode":"enrichInput2","mergeByFields":{"values":[{"field1":"wf_name","field2":"name"}]}},"typeVersion":3.2},{"id":"acb15afa-4bfa-4941-9b6d-6e187173c7ab","name":"wf_id + wf_name","type":"n8n-nodes-base.set","position":[7216,3264],"parameters":{"options":{},"assignments":{"assignments":[{"id":"b7fc8ea1-5821-461e-b87b-2a84f22155c2","name":"wf_id","type":"string","value":"={{ $json.data.id }}"},{"id":"8d631960-60d3-4019-a1c6-1ef582aca223","name":"wf_name","type":"string","value":"={{ $json.data.name }}"}]}},"typeVersion":3.4},{"id":"8d6830e5-b23f-4d19-93f9-f619370487aa","name":"root folder : backup_n8n","type":"n8n-nodes-base.set","position":[8288,3232],"parameters":{"options":{},"assignments":{"assignments":[{"id":"4d118455-104d-435f-a976-527134ef63ec","name":"main_root_folder","type":"string","value":"={{ $('rename fields7').item.json.google_folder_id }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"79b54cb4-b62d-4af5-8113-d7182b791206","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[9536,1280],"parameters":{"color":4,"width":336,"height":80,"content":"## root folder(s) : full_path = 1"},"typeVersion":1},{"id":"2e1f5257-1526-4541-adfb-8a10e818cb08","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[9872,1616],"parameters":{"color":4,"width":352,"height":96,"content":"## subfolders : full_path>1"},"typeVersion":1},{"id":"5c60442e-8909-4780-93eb-218cfa1c91bb","name":"Merge3","type":"n8n-nodes-base.merge","position":[5248,1520],"parameters":{"mode":"combine","options":{},"joinMode":"enrichInput2","fieldsToMatchString":"folderName"},"typeVersion":3.2},{"id":"657b0921-4949-4a10-b9e7-e09bc51e311f","name":"Merge6","type":"n8n-nodes-base.merge","position":[8912,1552],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition"},"typeVersion":3.2},{"id":"b2172894-132e-4eb9-bfca-0c141183393a","name":"Sticky Note9","type":"n8n-nodes-base.stickyNote","position":[4160,2112],"parameters":{"color":6,"width":3264,"height":688,"content":"# 7/ Assign \"parent_google_folderid\" value in \"folders\" table"},"typeVersion":1},{"id":"184498fc-c2ef-47bd-b6bb-94a50dc77b41","name":"Aggregate3","type":"n8n-nodes-base.aggregate","position":[3680,1536],"parameters":{"options":{},"aggregate":"aggregateAllItemData"},"typeVersion":1},{"id":"0d88a854-2947-4b8e-ab6f-cf1965342c60","name":"Split Out1","type":"n8n-nodes-base.splitOut","position":[2336,1552],"parameters":{"include":"allOtherFields","options":{},"fieldToSplitOut":"data"},"typeVersion":1},{"id":"b7fc919b-ffff-414a-b784-17d2597a9970","name":"Remove Duplicates","type":"n8n-nodes-base.removeDuplicates","position":[6208,688],"parameters":{"compare":"selectedFields","options":{},"fieldsToCompare":"data.name"},"typeVersion":2},{"id":"5d78ff31-f946-4897-8b7c-76e84113f822","name":"rename fields","type":"n8n-nodes-base.set","position":[6480,688],"parameters":{"options":{},"assignments":{"assignments":[{"id":"24db19c2-ca4f-40b5-b7e5-809e01a63e4f","name":"workflow_id","type":"string","value":"={{ $json.data.id }}"},{"id":"d85602c8-ee40-46bf-8bbd-ff8f09ddaf25","name":"workflow_name","type":"string","value":"={{ $json.data.name }}"},{"id":"5c16e433-77bc-4a8d-aada-ac60173d53e7","name":"folder_name","type":"string","value":"={{ $json.data.parentFolder ? $json.data.parentFolder.name : 'root folder'  }}"},{"id":"ecb4b90a-ec90-4fb6-8457-64f1fa13e3fa","name":"folder_id","type":"string","value":"={{ $json.data.parentFolder ? $json.data.parentFolder.id : 'root folder'}}"},{"id":"4cc53ac4-3019-4ac5-8982-7b55a38fe202","name":"parentFolderName","type":"string","value":"={{ $json[\"parentFolderName\"] ? $json[\"parentFolderName\"] : 'root folder' }}"},{"id":"0a8c11cf-34de-4361-89d8-855c276c7334","name":"parentFolderId","type":"string","value":"={{ $json.parentFolderId ? $json.parentFolderId : 'null' }}"},{"id":"190e119f-6a70-4da1-aa0d-47a3457d9226","name":"full_path","type":"string","value":"={{ $json.full_path }}/{{ $json.data.name }}"},{"id":"3ece2341-45e3-4751-babd-769cdfbd0b09","name":"workflow_google_file_id","type":"string","value":""},{"id":"f4c317f5-2fa2-4901-b902-12678e60bf70","name":"folder_google_id","type":"string","value":""}]}},"typeVersion":3.4},{"id":"5bf19a77-1511-4d2a-8980-6f33e43233fe","name":"rename fields1","type":"n8n-nodes-base.set","position":[3008,1536],"parameters":{"options":{},"assignments":{"assignments":[{"id":"2c38083a-7bc0-42fd-a361-143182a1eac1","name":"folderId","type":"string","value":"={{ $json.data.id }}"},{"id":"abb3ce18-4932-406a-b12a-79aed4496a0e","name":"folderName","type":"string","value":"={{ $json.data.name }}"},{"id":"4511394e-a89f-4d12-9147-32f77ccda49a","name":"folderType","type":"string","value":"={{ $json.data.parentFolder ? 'sub folder' : 'root folder' }}"},{"id":"226914ec-f619-4119-825d-19c3daf1fedd","name":"parentFolderName","type":"string","value":"={{ $json.data.parentFolder ? $json.data.parentFolder.name : 'null' }}"},{"id":"0cfdf094-d2ae-4d61-9f27-80853ba1c66a","name":"parentFolderId","type":"string","value":"={{ $json.data.parentFolderId ? $json.data.parentFolderId : 'null'  }}"},{"id":"22eb2393-2987-431e-bdf3-0c4926cedd46","name":"workflowCount","type":"string","value":"={{ $json.data.workflowCount }}"},{"id":"f4817fc1-3bf5-4825-8134-503757cf6ce9","name":"subFolderCount","type":"string","value":"={{ $json.data.subFolderCount }}"},{"id":"cf6ebbcf-28e4-4461-b4ef-12658b0e9d05","name":"google_folder_id","type":"string","value":""},{"id":"0e11c873-13eb-46b6-a78d-eb9ae5c2e5ba","name":"parent_google_folderid","type":"string","value":""},{"id":"fc055add-79e0-4155-9a50-56471a2f2370","name":"main_root_folder_name","type":"string","value":""},{"id":"b79a93b5-246e-49d0-bd32-fa1a8ba4dce8","name":"main_root_folder_google_folder_id","type":"string","value":""}]}},"typeVersion":3.4},{"id":"05c4785a-36e8-4cca-894c-23047f7e2148","name":"rename main_root_folder fields","type":"n8n-nodes-base.set","position":[4864,1344],"parameters":{"options":{},"assignments":{"assignments":[{"id":"442e923e-af2c-4901-9e5e-b494e764013b","name":"main_root_folder_name","type":"string","value":"={{ $('Create backup folder \"n8n_backup_folder_structure_ddMMyyyy_HHmmss\"').item.json.name }}"},{"id":"66c62de7-6b55-4cef-b125-af551dc04cc4","name":"main_root_folder_google_folder_id","type":"string","value":"={{ $('Create backup folder \"n8n_backup_folder_structure_ddMMyyyy_HHmmss\"').item.json.id }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"963e9983-47af-4675-90dc-44fd4c91a00e","name":"Create folder under the static \"backup_n8n\" folder","type":"n8n-nodes-base.googleDrive","maxTries":3,"position":[8784,1248],"parameters":{"name":"={{ $json.subfolder }}","driveId":{"__rl":true,"mode":"list","value":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"id","value":"={{ $('One run per folder').item.json.main_root_folder_google_folder_id }}"},"resource":"folder"},"credentials":{"googleDriveOAuth2Api":{"id":"ipWSglDR3WeYHBf5","name":"Google Drive account"}},"retryOnFail":true,"typeVersion":3,"waitBetweenTries":5000},{"id":"cea7e2c7-f710-4a6f-93c4-2c76618319fc","name":"rename fields2","type":"n8n-nodes-base.set","position":[9088,1248],"parameters":{"options":{},"assignments":{"assignments":[{"id":"80fa0fad-a41b-4852-b858-c5bee7f41d7b","name":"folderName","type":"string","value":"={{ $json.name }}"},{"id":"861cbaed-fa08-43d3-9d6a-545690409301","name":"google_folder_id","type":"string","value":"={{ $json.id }}"}]}},"typeVersion":3.4},{"id":"388a2756-fd38-43cc-9854-950c130bc514","name":"rename fields3","type":"n8n-nodes-base.set","position":[9424,1552],"parameters":{"options":{},"assignments":{"assignments":[{"id":"ef6355e7-7c8d-4449-b5ef-bd9263d426ff","name":"folderName","type":"string","value":"={{ $json.name }}"},{"id":"8c8838a6-1c0a-447b-85f0-2f2586ecd6c1","name":"google_folder_id","type":"string","value":"={{ $json.id }}"}]}},"typeVersion":3.4},{"id":"47dd15be-4b2c-4638-b30f-ff12541e7320","name":"get directParentFolderName","type":"n8n-nodes-base.set","position":[4656,2400],"parameters":{"options":{},"assignments":{"assignments":[{"id":"ea93a04a-52b0-400b-9b9f-071f8b7b3cb3","name":"directParentFolderName","type":"string","value":"={{ $json.full_path.split('/').length > 1 ? $json.full_path.split('/')[$json.full_path.split('/').length - 2] : $json.main_root_folder_name }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"2a9e7181-8a9b-4b63-a537-698f330f26cc","name":"Split root vs subfolders","type":"n8n-nodes-base.if","position":[4928,2400],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"2a1f4632-d430-406c-94c1-a4472a9184db","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.parentFolderName }}","rightValue":"null"}]}},"typeVersion":2.3},{"id":"74042713-716f-4efd-b589-a1a181444ced","name":"Merge4","type":"n8n-nodes-base.merge","position":[5776,2624],"parameters":{"mode":"combine","options":{},"advanced":true,"joinMode":"enrichInput1","mergeByFields":{"values":[{"field1":"parentFolderName_branch","field2":"directParentFolderName"}]}},"typeVersion":3.2},{"id":"8504b867-000c-4d6e-8644-e9fdb36e4659","name":"Remove Duplicates1","type":"n8n-nodes-base.removeDuplicates","position":[5984,2624],"parameters":{"compare":"selectedFields","options":{},"fieldsToCompare":"folderName"},"typeVersion":2},{"id":"b95a83ef-8333-4919-9084-efd6cfeb1ffe","name":"rename fields4","type":"n8n-nodes-base.set","position":[6192,2624],"parameters":{"options":{},"assignments":{"assignments":[{"id":"3aef0d40-ce48-4963-9c21-7d6bec3e03fe","name":"folderName","type":"string","value":"={{ $json.folderName }}"},{"id":"3bd77b8c-3005-42f9-b08b-2a5840bba1f2","name":"parent_google_folderid","type":"string","value":"={{ $json.parent_google_folderid_branch }}"}]}},"typeVersion":3.4},{"id":"4de20b20-1ff1-49ab-81b4-5e98fcd63b6c","name":"rename fields5","type":"n8n-nodes-base.set","position":[5568,2416],"parameters":{"options":{},"assignments":{"assignments":[{"id":"d5ccb91f-8e02-422a-ae5a-05b4d8c5fa2f","name":"parentFolderName_branch","type":"string","value":"={{ $json.folderName }}"},{"id":"70fa4065-5c40-435d-8151-a876ff059b77","name":"parent_google_folderid_branch","type":"string","value":"={{ $json.google_folder_id }}"}]}},"typeVersion":3.4},{"id":"fbb5e25e-2141-4eb7-96a1-77fb348c596c","name":"rename fields6","type":"n8n-nodes-base.set","position":[6176,2272],"parameters":{"options":{},"assignments":{"assignments":[{"id":"1e49108f-0abe-4ee6-a1ca-d8d79868a053","name":"folderName","type":"string","value":"={{ $json.folderName }}"},{"id":"8655c8f0-124a-4f55-a628-eb301adb5980","name":"parent_google_folderid","type":"string","value":"={{ $json.main_root_folder_google_folder_id }}"}]}},"typeVersion":3.4},{"id":"67f678a6-34e5-4feb-ad1b-2090dfc2811d","name":"Sticky Note11","type":"n8n-nodes-base.stickyNote","position":[6672,2288],"parameters":{"color":4,"width":624,"height":80,"content":"## Assign \"parent_google_folderid\" value to root folders"},"typeVersion":1},{"id":"1b6e6294-2752-4d10-854e-1a2f1a4ee8ee","name":"Sticky Note13","type":"n8n-nodes-base.stickyNote","position":[6672,2624],"parameters":{"color":4,"width":624,"height":80,"content":"## Assign \"parent_google_folderid\" value to sub folders"},"typeVersion":1},{"id":"1927323f-1881-4564-92ef-dfb739149ecc","name":"If there parentFolder.isEmpty()","type":"n8n-nodes-base.if","position":[5024,3456],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"b5b4e356-815f-4f23-bf93-b5a1225098f5","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $json.parentFolder.isEmpty() }}","rightValue":""},{"id":"a0f473c0-72ba-4853-886a-a71b8ae28b55","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"","rightValue":""}]}},"typeVersion":2.3},{"id":"2f7bc2c9-ee12-45b3-ba9a-fb04b9db1092","name":"Remove Duplicates2","type":"n8n-nodes-base.removeDuplicates","position":[6720,3488],"parameters":{"compare":"selectedFields","options":{},"fieldsToCompare":"name"},"typeVersion":2},{"id":"0e7b52dc-b634-49fa-8a47-5957c4e7e7e0","name":"Merge5","type":"n8n-nodes-base.merge","position":[6480,3184],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition"},"typeVersion":3.2},{"id":"25244f08-401a-4f65-95c5-a12ad27ae972","name":"rename fields7","type":"n8n-nodes-base.set","position":[6704,3184],"parameters":{"include":"except","options":{},"assignments":{"assignments":[{"id":"0f1832a2-e6b1-482d-a8e7-1e50e795091a","name":"id","type":"string","value":"={{ $json.workflow_id }}"},{"id":"947945e7-f906-4247-a779-57b056726f8f","name":"google_folder_id","type":"string","value":"={{ $json.main_root_folder_google_folder_id }}"}]},"excludeFields":"google_folder_id","includeOtherFields":true},"typeVersion":3.4},{"id":"fc8e350a-9b53-4d17-9024-8faf4b92c683","name":"Upload file to its folder","type":"n8n-nodes-base.googleDrive","maxTries":3,"position":[8528,3600],"parameters":{"name":"={{ $binary.data.fileName }}","driveId":{"__rl":true,"mode":"list","value":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"id","value":"={{ $('Merge1').item.json.google_folder_id ? $('Merge1').item.json.google_folder_id : $json.main_root_folder }}"}},"credentials":{"googleDriveOAuth2Api":{"id":"ipWSglDR3WeYHBf5","name":"Google Drive account"}},"retryOnFail":true,"typeVersion":3,"waitBetweenTries":5000},{"id":"267d479f-1321-40e5-9cf4-e4969c3c8773","name":"root folder : backup_n8n1","type":"n8n-nodes-base.set","position":[8288,3600],"parameters":{"options":{},"assignments":{"assignments":[{"id":"4d118455-104d-435f-a976-527134ef63ec","name":"main_root_folder","type":"string","value":"={{ $('Merge1').item.json.main_root_folder_google_folder_id }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"956d858c-8ea8-4e0a-8b8e-57d7769f4e3f","name":"If parentFolder is null","type":"n8n-nodes-base.if","position":[7936,3392],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"627fe1c6-3812-4a1e-9bd9-3f5b1224b6dd","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $('Merge2').item.json.parentFolder == null}}","rightValue":""}]}},"typeVersion":2.3},{"id":"1ad681d2-5f96-4c52-9a65-e3dcecc6f3ba","name":"Sticky Note12","type":"n8n-nodes-base.stickyNote","position":[8976,3248],"parameters":{"color":4,"width":496,"height":80,"content":"## workflows at the main root folder location"},"typeVersion":1},{"id":"543cd2d7-ce2b-43b8-810e-f881043be5ed","name":"Sticky Note14","type":"n8n-nodes-base.stickyNote","position":[9040,3600],"parameters":{"color":4,"width":432,"height":80,"content":"## workflows in other folders"},"typeVersion":1},{"id":"2a74fe1b-1e21-4096-9948-81513d52f8f8","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-1712,1216],"parameters":{"color":6,"width":1104,"height":576,"content":"# 1/ Initialize n8n instance access details to reach n8n API "},"typeVersion":1},{"id":"2458b279-0dc8-41d5-ae57-961eeb0d3a48","name":"If resource == \"folder\"","type":"n8n-nodes-base.if","position":[2640,1552],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"57414794-90d0-48a3-8ff7-bb081e889e93","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.resource }}","rightValue":"=folder"}]}},"typeVersion":2.3},{"id":"d45b0f7f-499e-4638-88a2-9089d34776a6","name":"Define & assign folder's fullPath value","type":"n8n-nodes-base.code","position":[4512,288],"parameters":{"jsCode":"// Add comments for explanation\n// 1. Create a lookup for folders by ID\nconst folderMap = {};\nfor (const item of items) {\n  folderMap[item.json.folderId] = item.json;\n}\n\n// 2. Recursive function to build full path\nfunction buildFullPath(folder) {\n  if (!folder.parentFolderId || folder.parentFolderId === 'null') {\n    return folder['folderName'];\n  }\n\n  const parent = folderMap[folder.parentFolderId];\n  if (!parent) {\n    return folder['folderName']; // Edge case: parent missing\n  }\n\n  return `${buildFullPath(parent)}/${folder['folderName']}`;\n}\n\n// 3. Loop over all folders and generate full_path\nreturn items.map(item => {\n  const folder = item.json;\n  folder.full_path = buildFullPath(folder);\n  return { json: folder };\n});\n"},"typeVersion":2},{"id":"65acb23a-b3f1-4f5f-9641-62efca36b681","name":"get all workflows","type":"n8n-nodes-base.httpRequest","position":[4208,672],"parameters":{"url":"={{ $('n8n instance/project access details').item.json.n8n_instance_URL }}/rest/workflows","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API').item.json[\"n8n-auth\"] }}"}]}},"typeVersion":4.3},{"id":"6ff3a621-a8d1-49da-b2ab-31abb6ca4d93","name":"extract each workflow","type":"n8n-nodes-base.splitOut","position":[4416,672],"parameters":{"options":{},"fieldToSplitOut":"data"},"typeVersion":1},{"id":"01d1fcaf-66aa-4100-9ee7-b64fad321a02","name":"Create backup folder \"n8n_backup_folder_structure_ddMMyyyy_HHmmss\"","type":"n8n-nodes-base.googleDrive","position":[4368,1536],"parameters":{"name":"=n8n_backup_folder_structure_{{ $now.format('ddMMyyyy_HHmmss') }}","driveId":{"__rl":true,"mode":"list","value":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"list","value":"1d07iU8QVVbctS6KRTUlmxFdiI8z8FlwS","cachedResultUrl":"https://drive.google.com/drive/folders/1d07iU8QVVbctS6KRTUlmxFdiI8z8FlwS","cachedResultName":"backup_n8n"},"resource":"folder"},"credentials":{"googleDriveOAuth2Api":{"id":"ipWSglDR3WeYHBf5","name":"Google Drive account"}},"retryOnFail":true,"typeVersion":3,"waitBetweenTries":5000},{"id":"45df3645-d980-418b-8355-b96a7ec4fca4","name":"Sort to get root folders first","type":"n8n-nodes-base.sort","position":[6336,1264],"parameters":{"options":{},"sortFieldsUi":{"sortField":[{"fieldName":"order"}]}},"typeVersion":1},{"id":"38dfeed3-a4f4-475d-aac7-593fb5454ba4","name":"define full_path length","type":"n8n-nodes-base.set","position":[6032,1520],"parameters":{"options":{},"assignments":{"assignments":[{"id":"a1ebcfbe-d91f-482a-a4b8-1c41aec7bdf5","name":"order","type":"string","value":"={{ $json.full_path.split(\"/\").length }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"656779fd-fe59-4e76-99e4-fb3bcb067cc4","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[4128,1104],"parameters":{"color":6,"width":6336,"height":816,"content":"# 6/ Upload the n8n folder structure in gdrive\n\n## + add the \"google_folder_id\" of each folder in table \"folders\". For example :\n- for uploaded folder https://drive.google.com/drive/u/1/folders/1bbirmn7VdcZknQ0hjzVmthiu4XaAAAB \n- the \"google_folder_id\" is 1bbirmn7VdcZknQ0hjzVmthiu4XaAAAB"},"typeVersion":1},{"id":"36ab2894-d4c1-4c2b-922c-71ec402f2d3c","name":"One run per folder","type":"n8n-nodes-base.splitInBatches","position":[6688,1264],"parameters":{"options":{}},"typeVersion":3},{"id":"87e7360f-76bc-4146-9ff5-3dd1d2fbf4d0","name":"get all workflows1","type":"n8n-nodes-base.httpRequest","position":[4224,3456],"parameters":{"url":"={{ $('n8n instance/project access details').item.json.n8n_instance_URL }}/rest/workflows","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API').item.json['n8n-auth'] }}"}]}},"typeVersion":4.3},{"id":"b3f5d6b2-7a76-4098-a347-48a81dbfa73d","name":"keep only workflows not archived","type":"n8n-nodes-base.filter","position":[4672,672],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"c4cd3177-e9ec-41e6-b816-8d1c10259e90","operator":{"type":"boolean","operation":"false","singleValue":true},"leftValue":"={{ $json.isArchived }}","rightValue":false}]}},"typeVersion":2.3},{"id":"c1a80b0c-228e-4ecf-99e3-df3b97ddcb9e","name":"keep only workflows not archived1","type":"n8n-nodes-base.filter","position":[4720,3456],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"c4cd3177-e9ec-41e6-b816-8d1c10259e90","operator":{"type":"boolean","operation":"false","singleValue":true},"leftValue":"={{ $json.isArchived }}","rightValue":false}]}},"typeVersion":2.3},{"id":"89625ce3-100f-4152-ace9-56121f097d1c","name":"add wf_folder_name","type":"n8n-nodes-base.set","position":[5808,3472],"parameters":{"options":{},"assignments":{"assignments":[{"id":"cc2d4972-7616-4fd9-a753-911a58696cec","name":"wf_folder_name","type":"string","value":"={{ $json.parentFolder.name }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"fc2cf73c-f7ee-4aa2-bc3e-b6641ca9f3fc","name":"remove the [] wrapper to re-create imported wf later","type":"n8n-nodes-base.code","notes":"remove the [] wrapper to re-create imported wf","position":[7232,3536],"parameters":{"mode":"runOnceForEachItem","jsCode":"return $json.data"},"notesInFlow":true,"typeVersion":2},{"id":"5726303d-887a-4b09-83e3-36e730f7c69e","name":"n8n-auth for n8n API","type":"n8n-nodes-base.set","position":[-816,1552],"parameters":{"options":{},"assignments":{"assignments":[{"id":"6b1740b2-6608-458e-987a-c5193fe90c0e","name":"n8n-auth","type":"string","value":"={{ $json.headers[\"set-cookie\"][0] }}"}]}},"typeVersion":3.4},{"id":"73ee2d7c-588c-4a84-abc7-dde1f4bdc555","name":"Convert workflow to JSON file","type":"n8n-nodes-base.convertToFile","position":[7696,3392],"parameters":{"mode":"each","options":{"fileName":"={{ $json.name }}"},"operation":"toJson"},"typeVersion":1.1},{"id":"e2f5dd2e-a15f-43f6-bc77-93e5265393b7","name":"Upload file to gdrive main root folder","type":"n8n-nodes-base.googleDrive","maxTries":3,"position":[8528,3232],"parameters":{"name":"={{ $binary.data.fileName }}","driveId":{"__rl":true,"mode":"list","value":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"id","value":"={{ $('rename fields7').item.json.google_folder_id }}"}},"credentials":{"googleDriveOAuth2Api":{"id":"ipWSglDR3WeYHBf5","name":"Google Drive account"}},"retryOnFail":true,"typeVersion":3,"waitBetweenTries":5000},{"id":"e68961c1-711b-46b0-9d93-e16f2b5355cb","name":"Sticky Note10","type":"n8n-nodes-base.stickyNote","position":[-2960,960],"parameters":{"width":784,"height":1120,"content":"## Backup n8n workflows to Google Drive with automatic cleanup\n\nThis template solves that for any n8n setup (cloud or self hosted)  by exporting a perfect mirrored setup of a whole n8n project, preserving the nested folder structure and the workflows within it. \n\n\n## Who’s it for\nThis workflow is ideal for any n8n user, from beginner to advanced solo/team “flowgrammer” who wants to have a reliable, safe, automated and easy to access backup solution that reflects a perfect mirror of their n8n setup. \n\n## What it does\n* **Scheduled Execution**: The workflow runs automatically according to the schedule, could be up to X times a day (or can be triggered manually).\n\n* **Creates backup Folder**: It creates a new overall backup folder with a naming convention as `n8n_backup_folder_structure_DDMMYYYY_HHmmss` (i.e “n8n_backup_folder_structure_02022026_123343”) where the whole n8n nested folder structure along with workflows (JSON files) will be saved.\n\nFor example if an n8n workflow instance look like this, then same structure will be preserved and reflected on google drive along with the workflows within each folder : \n\n\n```\n \nprojects-root-folder/\n\t└── Your-project-folder-name/\n\t\t└── Utilities/\n└──Error_management/\n\t└── error_alerting.json\n└──Log_analysis/\n└── Reports/\n\t└── Clients/\n\t\t└──Client_A/\n\t\t└──Client_B/\n└── client_reporting_standard.json\n       └── ...\n└── workflow_test.json\n```\n## How to set up\n1.  **Configure Credentials**: Make sure you have valid credentials for:\n    * **n8n API**: To allow the workflow to access its own list of workflows.\n    * **Google Drive**: To allow the workflow to create folders and upload files.\n\n2.  **Set Your Variables**: In the first `Set` node named **\"n8n instance/project access details\"**:\n    * `n8n_instance_URL`: Paste your n8n instance URL without the “/” at the end. For example : https://myautomations.app.n8n.cloud\n    * `emailOrLdapLoginId`: your login email address\n    * `password`: your password\n\n3.  **Create your main backup folder**: Create on your google drive space the main folder where all your backup will be uploaded. For example “my_n8n_backup” and then select it in the node “Create backup folder \"n8n_backup_folder_structure_ddMMyyyy_HHmmss\"” from the List under “Parent Folder”,\n\n## You're all set to lauch the workflow !"},"typeVersion":1},{"id":"a9bef7ed-8dbf-4489-9bc5-0a40e8f88b9e","name":"n8n instance/project access details","type":"n8n-nodes-base.set","position":[-1616,1552],"parameters":{"options":{},"assignments":{"assignments":[{"id":"9a4ebecf-d383-40d8-966f-c5db06ea0aaf","name":"n8n_instance_URL","type":"string","value":"xxxxx"},{"id":"982bcee4-6bc4-4eae-b468-6a25e8b9215e","name":"emailOrLdapLoginId","type":"string","value":"xxxxx"},{"id":"ec91ebf5-ab0a-4565-8abe-ad29c040a1fe","name":"password","type":"string","value":"xxxxx"}]}},"typeVersion":3.4},{"id":"fb42ecff-2dd5-4a19-95d5-6a6f0d156e37","name":"Sticky Note15","type":"n8n-nodes-base.stickyNote","position":[-1696,1440],"parameters":{"color":3,"width":288,"height":272,"content":"## Add your n8n URL and credentials here\n### URL without the \"/\" at the end\n"},"typeVersion":1},{"id":"8d75988b-5576-40ab-aaa7-7a30da5aad8e","name":"create n8n table \"folders\"","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","position":[-48,432],"parameters":{"url":"={{ $('n8n instance/project access details').item.json.n8n_instance_URL }}/rest/projects/{{ $json.data[0].id }}/data-tables","method":"POST","options":{},"jsonBody":"{\n  \"name\":\"folders\",\n  \"columns\":[],\n  \"hasHeaders\":true\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API').item.json[\"n8n-auth\"] }}"}]}},"typeVersion":4.3},{"id":"7bc553d7-970f-4dc8-bf19-5939abea778f","name":"create n8n table \"workflows\"","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","position":[-16,1008],"parameters":{"url":"={{ $('n8n instance/project access details').item.json.n8n_instance_URL }}/rest/projects/{{ $json.data[0].id }}/data-tables","method":"POST","options":{},"jsonBody":"{\n  \"name\":\"workflows\",\n  \"columns\":[],\n  \"hasHeaders\":true\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API').item.json[\"n8n-auth\"] }}"}]}},"typeVersion":4.3},{"id":"b4a7e1be-bc6b-4761-af75-b2bb1d00fd47","name":"\"folders\" table columns list","type":"n8n-nodes-base.code","position":[240,416],"parameters":{"jsCode":"// Define your field names\nconst fields = [\n  \"folderId\",\n  \"folderName\",\n  \"folderType\",\n  \"parentFolderName\",\n  \"parentFolderId\",\n  \"workflowCount\",\n  \"subFolderCount\",\n  \"google_folder_id\",\n  \"parent_google_folderid\",\n  \"main_root_folder_name\",\n  \"main_root_folder_google_folder_id\",\n  \"full_path\"\n];\n\n// Return a flat array of items (each as an object with 'json')\nreturn fields.map(field => {\n  return { json: { name: field, type: \"string\" } };\n});\n"},"typeVersion":2},{"id":"de321963-c45a-4fd3-90fc-efd6eae97b06","name":"\"workflows\" table columns list","type":"n8n-nodes-base.code","position":[256,992],"parameters":{"jsCode":"// Define the 9 field names\nconst fields = [\n  \"workflow_id\",\n  \"workflow_name\",\n  \"folder_name\",\n  \"folder_id\",\n  \"parentFolderName\",\n  \"parentFolderId\",\n  \"full_path\",\n  \"workflow_google_file_id\",\n  \"folder_google_id\"\n];\n\n// Return one item per field\nreturn fields.map(field => {\n  return { json: { name: field, type: \"string\" } };\n});\n"},"typeVersion":2},{"id":"8c95042f-8f0a-4f69-a3fe-4fd9c4b69cd4","name":"get projectId","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","position":[-368,736],"parameters":{"url":"={{ $('n8n instance/project access details').item.json.n8n_instance_URL }}/rest/projects","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $json[\"n8n-auth\"] }}"}]}},"typeVersion":4.3},{"id":"cf783ab7-0a11-4235-8333-6cfc6f19d3aa","name":"add columns to \"folders\" table","type":"n8n-nodes-base.httpRequest","position":[480,416],"parameters":{"url":"={{ $('n8n instance/project access details').item.json.n8n_instance_URL }}/rest/projects/{{ $('get projectId').item.json.data[0].id }}/data-tables/{{ $('create n8n table \"folders\"').item.json.data.id }}/columns","method":"POST","options":{},"jsonBody":"={{ $json }}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API').item.json[\"n8n-auth\"] }}"}]}},"typeVersion":4.3},{"id":"1e4fafc0-9b2c-4661-9be0-cdda751295f7","name":"add columns to \"workflows\" table","type":"n8n-nodes-base.httpRequest","position":[496,992],"parameters":{"url":"={{ $('n8n instance/project access details').item.json.n8n_instance_URL }}/rest/projects/{{ $('get projectId').item.json.data[0].id }}/data-tables/{{ $('create n8n table \"workflows\"').item.json.data.id }}/columns","method":"POST","options":{},"jsonBody":"={{ $json }}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API').item.json[\"n8n-auth\"] }}"}]}},"typeVersion":4.3},{"id":"bd3cb1e9-1d82-4900-8e28-749343a54d54","name":"get all folders2","type":"n8n-nodes-base.dataTable","position":[4704,1536],"parameters":{"operation":"get","returnAll":true,"dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"cf09abcd-e6e7-4641-b5b2-78264862a748","name":"add backup_folder google_id to \"folders\"","type":"n8n-nodes-base.dataTable","position":[5072,1344],"parameters":{"columns":{"value":{},"schema":[{"id":"main_root_folder_google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_google_folder_id","defaultMatch":false},{"id":"folderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderName","defaultMatch":false},{"id":"subFolderCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"subFolderCount","defaultMatch":false},{"id":"full_path","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"google_folder_id","defaultMatch":false},{"id":"main_root_folder_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_name","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"folderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderId","defaultMatch":false},{"id":"parent_google_folderid","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parent_google_folderid","defaultMatch":false},{"id":"workflowCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflowCount","defaultMatch":false},{"id":"folderType","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderType","defaultMatch":false}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.folderName }}"}]},"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"7d79dd27-7ead-4b58-8ab8-0debbcfba98e","name":"Add data about folder : google_folder_id1","type":"n8n-nodes-base.dataTable","position":[9296,1248],"parameters":{"columns":{"value":{},"schema":[{"id":"main_root_folder_google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_google_folder_id","defaultMatch":false},{"id":"folderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderName","defaultMatch":false},{"id":"subFolderCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"subFolderCount","defaultMatch":false},{"id":"full_path","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"google_folder_id","defaultMatch":false},{"id":"main_root_folder_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_name","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"folderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderId","defaultMatch":false},{"id":"parent_google_folderid","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parent_google_folderid","defaultMatch":false},{"id":"workflowCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflowCount","defaultMatch":false},{"id":"folderType","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderType","defaultMatch":false}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.folderName }}"}]},"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"68d58f53-8ae4-41a0-8a9b-f5d22db1cf37","name":"get  parent_google_folderid value","type":"n8n-nodes-base.dataTable","position":[8592,1568],"parameters":{"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.parentFolder }}"}]},"operation":"get","returnAll":true,"dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"6a72ebb4-6a7a-4f7d-9ac9-5cbc4c1c4d47","name":"get all folders1","type":"n8n-nodes-base.dataTable","position":[4400,2400],"parameters":{"operation":"get","returnAll":true,"dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"42290115-47b5-4d09-8e48-1d05a2086646","name":"parentFolder","type":"n8n-nodes-base.dataTable","position":[5360,2416],"parameters":{"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.directParentFolderName }}"}]},"operation":"get","returnAll":true,"dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"9749f0ab-14b8-4b0c-bff4-fa8c35739327","name":"Upsert row(s)4","type":"n8n-nodes-base.dataTable","position":[6400,2272],"parameters":{"columns":{"value":{},"schema":[{"id":"main_root_folder_google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_google_folder_id","defaultMatch":false},{"id":"folderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderName","defaultMatch":false},{"id":"subFolderCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"subFolderCount","defaultMatch":false},{"id":"full_path","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"google_folder_id","defaultMatch":false},{"id":"main_root_folder_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_name","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"folderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderId","defaultMatch":false},{"id":"parent_google_folderid","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parent_google_folderid","defaultMatch":false},{"id":"workflowCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflowCount","defaultMatch":false},{"id":"folderType","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderType","defaultMatch":false}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.folderName }}"}]},"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"c39f04e5-f3f4-48bc-8c44-89870fae0564","name":"Upsert row(s)5","type":"n8n-nodes-base.dataTable","position":[6400,2624],"parameters":{"columns":{"value":{},"schema":[{"id":"main_root_folder_google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_google_folder_id","defaultMatch":false},{"id":"folderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderName","defaultMatch":false},{"id":"subFolderCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"subFolderCount","defaultMatch":false},{"id":"full_path","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"google_folder_id","defaultMatch":false},{"id":"main_root_folder_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_name","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"folderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderId","defaultMatch":false},{"id":"parent_google_folderid","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parent_google_folderid","defaultMatch":false},{"id":"workflowCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflowCount","defaultMatch":false},{"id":"folderType","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderType","defaultMatch":false}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.folderName }}"}]},"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"79118ed9-311a-4831-a3f1-cc10cfdf44d6","name":"Get row(s)3","type":"n8n-nodes-base.dataTable","position":[5936,3168],"parameters":{"limit":"=1","operation":"get","dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"d9cacfde-e1d4-43d0-9e0c-8e71e2745359","name":"get main root folder details1","type":"n8n-nodes-base.dataTable","position":[6208,3296],"parameters":{"filters":{"conditions":[{"keyName":"=folder_name","keyValue":"root folder"}]},"operation":"get","returnAll":true,"dataTableId":{"__rl":true,"mode":"name","value":"=workflows"}},"typeVersion":1},{"id":"67650eaf-a553-4787-be4c-0609123b6599","name":"get related folder details1","type":"n8n-nodes-base.dataTable","position":[5664,3648],"parameters":{"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.parentFolder ? $json.parentFolder.name : 'NA' }}"}]},"operation":"get","returnAll":true,"dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1,"alwaysOutputData":true},{"id":"c089de7b-f0cc-44be-a105-a5c00bded8d4","name":"add workflow file and folder google IDs2","type":"n8n-nodes-base.dataTable","position":[8736,3232],"parameters":{"columns":{"value":{"workflow_name":"={{ $json.name }}","folder_google_id":"={{ $json.parents[0] }}","workflow_google_file_id":"={{ $json.id }}"},"schema":[{"id":"workflow_id","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"workflow_id","defaultMatch":false},{"id":"folder_id","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"folder_id","defaultMatch":false},{"id":"folder_name","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"folder_name","defaultMatch":false},{"id":"workflow_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflow_name","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"full_path","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"workflow_google_file_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflow_google_file_id","defaultMatch":false},{"id":"folder_google_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folder_google_id","defaultMatch":false}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=workflow_name","keyValue":"={{ $json.name }}"}]},"options":{},"operation":"update","dataTableId":{"__rl":true,"mode":"name","value":"=workflows"}},"typeVersion":1},{"id":"692717e1-1000-453e-a35a-702b217e44a4","name":"add workflow file and folder google IDs","type":"n8n-nodes-base.dataTable","position":[8752,3600],"parameters":{"columns":{"value":{"workflow_name":"={{ $json.name }}","folder_google_id":"={{ $json.parents[0] }}","workflow_google_file_id":"={{ $json.id }}"},"schema":[{"id":"workflow_id","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"workflow_id","defaultMatch":false},{"id":"folder_id","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"folder_id","defaultMatch":false},{"id":"folder_name","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"folder_name","defaultMatch":false},{"id":"workflow_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflow_name","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"full_path","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"workflow_google_file_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflow_google_file_id","defaultMatch":false},{"id":"folder_google_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folder_google_id","defaultMatch":false}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=workflow_name","keyValue":"={{ $json.name }}"}]},"options":{},"operation":"update","dataTableId":{"__rl":true,"mode":"name","value":"=workflows"}},"typeVersion":1},{"id":"fa522ce7-52e6-4301-9374-760dbb690e97","name":"Add data about folder : google_folder_id","type":"n8n-nodes-base.dataTable","position":[9632,1552],"parameters":{"columns":{"value":{},"schema":[{"id":"main_root_folder_google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_google_folder_id","defaultMatch":false},{"id":"folderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderName","defaultMatch":false},{"id":"subFolderCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"subFolderCount","defaultMatch":false},{"id":"full_path","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"google_folder_id","defaultMatch":false},{"id":"main_root_folder_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_name","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"folderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderId","defaultMatch":false},{"id":"parent_google_folderid","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parent_google_folderid","defaultMatch":false},{"id":"workflowCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflowCount","defaultMatch":false},{"id":"folderType","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderType","defaultMatch":false}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.folderName }}"}]},"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"25920db2-95d5-4285-bb34-2c1c490650cf","name":"exclude field \"id\"","type":"n8n-nodes-base.set","position":[6096,3648],"parameters":{"include":"except","options":{},"excludeFields":"id","includeOtherFields":true},"typeVersion":3.4},{"id":"9e442d49-84c1-4b98-aa10-07760d7ecab6","name":"Sticky Note16","type":"n8n-nodes-base.stickyNote","position":[-400,336],"parameters":{"color":6,"width":1648,"height":1232,"content":"# 2/ Create the n8n data tables \"folders\" & \"workflows\""},"typeVersion":1},{"id":"14f6b693-de61-4f26-972e-d013813724c2","name":"Purge data in \"folders\"","type":"n8n-nodes-base.dataTable","position":[736,816],"parameters":{"filters":{"conditions":[{"keyValue":"0","condition":"gte"}]},"options":{},"operation":"deleteRows","dataTableId":{"__rl":true,"mode":"id","value":"={{ $json[\"data.data\"].id }}"}},"typeVersion":1},{"id":"54a7a89c-a608-447d-a12a-b6996c99d7dd","name":"Sticky Note17","type":"n8n-nodes-base.stickyNote","position":[-1328,1328],"parameters":{"width":672,"height":416,"content":"## Connect to the account using API to get the \"set-cookie\" token value returned from the header that will later be used to authenticate with n8n API : \n\n### {{ $json.headers[\"set-cookie\"][0] }}\n"},"typeVersion":1},{"id":"395787c1-1e13-4cdd-ae33-949af45ea5f0","name":"Sticky Note18","type":"n8n-nodes-base.stickyNote","position":[-96,-64],"parameters":{"width":912,"height":320,"content":"## n8n tables used to store the folder/subfolders and workflow structure details\n\n### We use n8n table instead of google sheet because gsheet has a very limitative API quotas limit that will slow down the workflow execution : 60 requests per minute per project per user\n### Gsheet API quotas limit here : https://developers.google.com/workspace/sheets/api/limits\n### While n8n table can accept much more data at once without failing\n"},"typeVersion":1},{"id":"2c8ee5f1-a507-4263-afc8-fea656bcebe2","name":"Insert data into table \"folders\"","type":"n8n-nodes-base.dataTable","position":[3360,1536],"parameters":{"columns":{"value":{},"schema":[{"id":"main_root_folder_google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_google_folder_id","defaultMatch":false},{"id":"folderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderName","defaultMatch":false},{"id":"subFolderCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"subFolderCount","defaultMatch":false},{"id":"full_path","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"google_folder_id","defaultMatch":false},{"id":"main_root_folder_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_name","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"folderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderId","defaultMatch":false},{"id":"parent_google_folderid","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parent_google_folderid","defaultMatch":false},{"id":"workflowCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflowCount","defaultMatch":false},{"id":"folderType","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderType","defaultMatch":false}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.folderName }}"}]},"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"64c1844c-2afb-4119-ab44-b9d7312cc052","name":"Get all folders","type":"n8n-nodes-base.dataTable","position":[4224,288],"parameters":{"operation":"get","returnAll":true,"dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"41015570-7c84-4493-8f74-1ed251a0c419","name":"Insert \"full_path\" value for each folder","type":"n8n-nodes-base.dataTable","position":[4736,288],"parameters":{"columns":{"value":{},"schema":[{"id":"main_root_folder_google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_google_folder_id","defaultMatch":false},{"id":"folderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderName","defaultMatch":false},{"id":"subFolderCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"subFolderCount","defaultMatch":false},{"id":"full_path","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"google_folder_id","defaultMatch":false},{"id":"main_root_folder_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_name","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"folderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderId","defaultMatch":false},{"id":"parent_google_folderid","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parent_google_folderid","defaultMatch":false},{"id":"workflowCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflowCount","defaultMatch":false},{"id":"folderType","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderType","defaultMatch":false}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.folderName }}"}]},"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"3c477538-37a7-4451-a78a-0c2665244fe8","name":"Match workflow with folder details","type":"n8n-nodes-base.dataTable","position":[5456,784],"parameters":{"filters":{"conditions":[{"keyName":"=folderId","keyValue":"={{ $json.data.parentFolder ? $json.data.parentFolder.id : '0' }}"}]},"operation":"get","returnAll":true,"dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1},{"id":"836e8a0b-c86e-49ae-85f8-5ec2a1cec622","name":"Insert workflow details into \"workflows\" table","type":"n8n-nodes-base.dataTable","position":[6720,688],"parameters":{"columns":{"value":{},"schema":[{"id":"folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folder_id","defaultMatch":false},{"id":"folder_google_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folder_google_id","defaultMatch":false},{"id":"folder_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folder_name","defaultMatch":false},{"id":"workflow_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflow_id","defaultMatch":false},{"id":"full_path","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"workflow_google_file_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflow_google_file_id","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"workflow_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflow_name","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=workflow_id","keyValue":"={{ $json.workflow_id }}"}]},"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"name","value":"=workflows"}},"typeVersion":1},{"id":"6d3103f3-31f8-4d87-bd4e-40c7048d920c","name":"Sticky Note19","type":"n8n-nodes-base.stickyNote","position":[5376,1168],"parameters":{"width":1216,"height":640,"content":"## We order the folders to be created on google drive by ascending order based on \"full_path\" length value : \n\n### The smallest full_path length will be the first.\n### We start from the top root folders, and go down into the folders' path level by level,\n### For example for the below structure : \n\n```\n├── Utilities/\n_________└──Error_management\n_________└──Log_analysis\n├── Reports/\n_________└──Clients\n__________________└──Client_A\n__________________└──Client_B\n__________________└──etc\n```\n\n### The processing order will be as below :\n\n1. Utilities : full_path = 1\n2. Reports : full_path = 1\n3. Error_management : full_path = 2\n4. Log_analysis : full_path = 2\n5. Clients : full_path = 2\n6. Client_A : full_path = 3\n7. Client_B : full_path = 3\n"},"typeVersion":1},{"id":"0f646608-4b00-40e6-89ee-aa9077c321fc","name":"Get the parentFolderName if it exists","type":"n8n-nodes-base.dataTable","position":[6960,1280],"parameters":{"limit":1,"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.parentFolderName }}"}]},"operation":"get","dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1,"alwaysOutputData":true},{"id":"ead02659-2a0f-4c56-8620-81ec1f4e6422","name":"get parentFolderId if it exists","type":"n8n-nodes-base.set","position":[7200,1280],"parameters":{"options":{},"assignments":{"assignments":[{"id":"7fd1e7ab-97d9-4c5b-a780-7c122f0840b0","name":"=parent_google_folder_Id","type":"string","value":"={{ Object.keys($json).length === 0  ? $('Create backup folder \"n8n_backup_folder_structure_ddMMyyyy_HHmmss\"').item.json.id : $json.google_folder_id  }}"},{"id":"e53f2bef-2ab1-4cef-95fb-96ca1120a0f6","name":"parent_folderName","type":"string","value":"={{ $json.parentFolderName }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"18cc8db2-c9b2-43ec-bb84-1a4d7546f96a","name":"Sticky Note20","type":"n8n-nodes-base.stickyNote","position":[6352,2128],"parameters":{"width":1024,"height":640,"content":"## We get the id of each created folder into google drive (previous step) and assign the value to corresponding folder name in \"folders\" table\n\n"},"typeVersion":1},{"id":"df2a8006-8076-4791-94fb-9e5adae5494d","name":"Sticky Note21","type":"n8n-nodes-base.stickyNote","position":[5216,2960],"parameters":{"width":3648,"height":80,"content":"## Branch for workflow(s) at the main_root of your project"},"typeVersion":1},{"id":"7d5c332e-8d41-4a1b-a08a-3ed33035a297","name":"Sticky Note22","type":"n8n-nodes-base.stickyNote","position":[5232,3808],"parameters":{"width":3664,"height":80,"content":"## Branch for workflow(s) under at list one folder of your project"},"typeVersion":1},{"id":"14bdc57e-91cb-4e87-aba5-0d5858c64e16","name":"Get each workflow JSON data","type":"n8n-nodes-base.httpRequest","position":[6960,3408],"parameters":{"url":"={{ $('n8n instance/project access details').item.json.n8n_instance_URL }}/rest/workflows/{{ $json.id }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API').item.json[\"n8n-auth\"] }}"}]}},"typeVersion":4.3},{"id":"f97cc0df-1f4f-4138-bf89-18a1aea5e960","name":"GET each workflow JSON data","type":"n8n-nodes-base.httpRequest","position":[4976,672],"parameters":{"url":"={{ $('n8n instance/project access details').item.json.n8n_instance_URL }}/rest/workflows/{{ $json.id }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API').item.json[\"n8n-auth\"] }}"}]}},"typeVersion":4.3},{"id":"ffe8be60-2635-4247-b9cc-1f5e2ef3c703","name":"Aggregate","type":"n8n-nodes-base.aggregate","position":[5296,3184],"parameters":{"options":{},"aggregate":"aggregateAllItemData"},"typeVersion":1},{"id":"528c76cf-557c-4d44-930d-9dd37870bba0","name":"Insert one row in \"folders\" for the main_root_backup_folder","type":"n8n-nodes-base.dataTable","position":[6192,3088],"parameters":{"columns":{"value":{"folderId":"NA","full_path":"/","folderName":"main_root_backup_folder","folderType":"main_root","workflowCount":"NA","parentFolderId":"NA","subFolderCount":"NA","google_folder_id":"={{ $json.main_root_folder_google_folder_id }}","parentFolderName":"NA","main_root_folder_name":"NA","parent_google_folderid":"NA","main_root_folder_google_folder_id":"NA"},"schema":[{"id":"main_root_folder_google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_google_folder_id","defaultMatch":false},{"id":"folderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderName","defaultMatch":false},{"id":"subFolderCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"subFolderCount","defaultMatch":false},{"id":"full_path","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"google_folder_id","defaultMatch":false},{"id":"main_root_folder_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_name","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"folderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderId","defaultMatch":false},{"id":"parent_google_folderid","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parent_google_folderid","defaultMatch":false},{"id":"workflowCount","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflowCount","defaultMatch":false},{"id":"folderType","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderType","defaultMatch":false}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"executeOnce":true,"typeVersion":1},{"id":"26d9b7a8-e22a-44d5-a02b-5865bae15520","name":"get n8n table \"id\"","type":"n8n-nodes-base.httpRequest","position":[112,720],"parameters":{"url":"={{ $('n8n instance/project access details').item.json.n8n_instance_URL }}/rest/projects/{{ $('get projectId').item.json.data[0].id }}/data-tables","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API').item.json['n8n-auth'] }}"}]}},"typeVersion":4.3},{"id":"0da91566-fd00-4cd1-9ee2-0182c90fb1b4","name":"Split Out","type":"n8n-nodes-base.splitOut","position":[320,720],"parameters":{"include":"allOtherFields","options":{},"fieldToSplitOut":"data.data"},"typeVersion":1},{"id":"5e324f9d-ab7c-4c6a-9a2a-aa7ede099737","name":"get n8n table \"id\"1","type":"n8n-nodes-base.httpRequest","position":[128,1296],"parameters":{"url":"={{ $('n8n instance/project access details').item.json.n8n_instance_URL }}/rest/projects/{{ $('get projectId').item.json.data[0].id }}/data-tables","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API').item.json['n8n-auth'] }}"}]}},"typeVersion":4.3},{"id":"0207ddc8-c5f6-46b0-8e1d-1a52f2f24390","name":"Split Out2","type":"n8n-nodes-base.splitOut","position":[336,1296],"parameters":{"include":"allOtherFields","options":{},"fieldToSplitOut":"data.data"},"typeVersion":1},{"id":"a7b04bc5-d245-478b-95cd-db8946651fe8","name":"Filter on \"folders\" table","type":"n8n-nodes-base.filter","position":[528,720],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"a4fab1f0-abfa-4a62-aafd-15b54f498ad4","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json[\"data.data\"].name }}","rightValue":"=folders"}]}},"typeVersion":2.3},{"id":"64bfc972-3af4-4c85-9f7f-aa040f9100c0","name":"Filter on \"workflows\" table","type":"n8n-nodes-base.filter","position":[544,1296],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"a4fab1f0-abfa-4a62-aafd-15b54f498ad4","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json[\"data.data\"].name }}","rightValue":"=workflows"}]}},"typeVersion":2.3},{"id":"1c77ffa4-53dc-4f62-be3c-9e56e0d26641","name":"Purge data in \"workflows\"","type":"n8n-nodes-base.dataTable","position":[736,1376],"parameters":{"filters":{"conditions":[{"keyValue":"0","condition":"gte"}]},"options":{},"operation":"deleteRows","dataTableId":{"__rl":true,"mode":"id","value":"={{ $json[\"data.data\"].id }}"}},"typeVersion":1},{"id":"74a3883d-256c-4368-a4c8-d623df77b62e","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[5712,3184],"parameters":{"options":{}},"typeVersion":3},{"id":"bc261575-bc82-492e-8f79-a36812dcea7f","name":"one item per workflow at main_root_folder","type":"n8n-nodes-base.code","position":[5488,3184],"parameters":{"jsCode":"// This code generates 5 items with index values from 1 to 5\nconst items = [];\n\nfor (let i = 1; i <= $input.first().json.data.length ; i++) {\n  items.push({\n    json: {\n      index: i\n    }\n  });\n}\n\nreturn items;\n"},"typeVersion":2},{"id":"7d5d12df-02c0-4731-8a36-e9398d2f6c2c","name":"Sticky Note23","type":"n8n-nodes-base.stickyNote","position":[4176,1424],"parameters":{"color":3,"width":496,"height":288,"content":"## Create manually your google drive folder \"backup_n8n\" and select it in this node"},"typeVersion":1},{"id":"76f50143-d853-44e5-9d42-3ace0dae154d","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[1264,384],"parameters":{"width":512,"height":944,"content":"## Capture both n8n dataTableId for \"folders\" and \"workflows\" to be used later on in n8n \"data table\" nodes to refer each table"},"typeVersion":1},{"id":"b25d18ce-029f-4c48-a5e4-fd75c8a65006","name":"Sticky Note24","type":"n8n-nodes-base.stickyNote","position":[4160,4176],"parameters":{"color":6,"width":1232,"height":640,"content":"## 9/ Save n8n tables data \"workflows\" and \"folders\" to gsheet \"workflows_folders_backup_details\"\n"},"typeVersion":1},{"id":"1d687981-ae13-47ed-b1b3-c464833f24e1","name":"Create gsheet \"workflows_folders_backup_details\"","type":"n8n-nodes-base.googleSheets","position":[4208,4400],"parameters":{"title":"workflows_folders_backup_details","options":{},"resource":"spreadsheet","sheetsUi":{"sheetValues":[{"title":"folders"},{"title":"workflows"}]}},"credentials":{"googleSheetsOAuth2Api":{"id":"vqYnRjgYOP10PQwF","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"7342c752-21ba-4055-95fd-f61f78c222fd","name":"Move file to backup drive folder","type":"n8n-nodes-base.googleDrive","position":[4688,4400],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $('Create gsheet \"workflows_folders_backup_details\"').item.json.spreadsheetId }}"},"driveId":{"__rl":true,"mode":"list","value":"My Drive"},"folderId":{"__rl":true,"mode":"id","value":"={{ $json.main_root_folder_google_folder_id }}"},"operation":"move"},"credentials":{"googleDriveOAuth2Api":{"id":"ipWSglDR3WeYHBf5","name":"Google Drive account"}},"typeVersion":3},{"id":"ff701cb3-e783-455a-801b-0d97945b1476","name":"folders details","type":"n8n-nodes-base.dataTable","position":[4960,4608],"parameters":{"operation":"get","returnAll":true,"dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1.1},{"id":"524a13ef-65f4-439d-88f1-3df930762891","name":"workflows details","type":"n8n-nodes-base.dataTable","position":[4960,4304],"parameters":{"operation":"get","returnAll":true,"dataTableId":{"__rl":true,"mode":"name","value":"=workflows"}},"typeVersion":1.1},{"id":"beefe391-c212-4764-b965-2fa98b09c3c3","name":"Get \"main_root_folder_google_folder_id\"","type":"n8n-nodes-base.dataTable","position":[4448,4400],"parameters":{"limit":1,"filters":{"conditions":[{"keyName":"=main_root_folder_google_folder_id","keyValue":"NA","condition":"neq"}]},"operation":"get","dataTableId":{"__rl":true,"mode":"name","value":"=folders"}},"typeVersion":1.1},{"id":"29e6d79b-d194-4014-b079-240f67be8339","name":"Copy data to sheet \"workflows\"","type":"n8n-nodes-base.googleSheets","position":[5184,4304],"parameters":{"columns":{"value":{},"schema":[{"id":"workflow_id","type":"string","display":true,"removed":false,"required":false,"displayName":"workflow_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"folder_id","type":"string","display":true,"removed":false,"required":false,"displayName":"folder_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"folder_name","type":"string","display":true,"removed":false,"required":false,"displayName":"folder_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"workflow_name","type":"string","display":true,"removed":false,"required":false,"displayName":"workflow_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"parentFolderName","type":"string","display":true,"removed":false,"required":false,"displayName":"parentFolderName","defaultMatch":false,"canBeUsedToMatch":true},{"id":"full_path","type":"string","display":true,"removed":false,"required":false,"displayName":"full_path","defaultMatch":false,"canBeUsedToMatch":true},{"id":"parentFolderId","type":"string","display":true,"removed":false,"required":false,"displayName":"parentFolderId","defaultMatch":false,"canBeUsedToMatch":true},{"id":"workflow_google_file_id","type":"string","display":true,"removed":false,"required":false,"displayName":"workflow_google_file_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"folder_google_id","type":"string","display":true,"removed":false,"required":false,"displayName":"folder_google_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"id","type":"string","display":true,"removed":false,"required":false,"displayName":"id","defaultMatch":true,"canBeUsedToMatch":true},{"id":"createdAt","type":"string","display":true,"removed":false,"required":false,"displayName":"createdAt","defaultMatch":false,"canBeUsedToMatch":true},{"id":"updatedAt","type":"string","display":true,"removed":false,"required":false,"displayName":"updatedAt","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"autoMapInputData","matchingColumns":["id"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{"locationDefine":{"values":{}}},"operation":"append","sheetName":{"__rl":true,"mode":"name","value":"workflows"},"documentId":{"__rl":true,"mode":"id","value":"={{ $('Create gsheet \"workflows_folders_backup_details\"').item.json.spreadsheetId }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"vqYnRjgYOP10PQwF","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"d0b3ddbf-8eb5-4d47-bb76-501cbf21392f","name":"Copy data to sheet \"folders\"","type":"n8n-nodes-base.googleSheets","position":[5200,4608],"parameters":{"columns":{"value":{},"schema":[],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"name","value":"=folders"},"documentId":{"__rl":true,"mode":"id","value":"={{ $('Create gsheet \"workflows_folders_backup_details\"').item.json.spreadsheetId }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"vqYnRjgYOP10PQwF","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"33b7a182-591d-44bc-b6d7-7e89aba0d033","name":"n8n login API2","type":"n8n-nodes-base.httpRequest","position":[-1408,6848],"parameters":{"url":"={{ $json.n8n_instance_URL }}/rest/login","method":"POST","options":{"response":{"response":{"fullResponse":true}}},"jsonBody":"={\"emailOrLdapLoginId\":\"{{ $json.emailOrLdapLoginId }}\",\"password\":\"{{ $json.password }}\"}","sendBody":true,"specifyBody":"json"},"typeVersion":4.3},{"id":"817d14b5-197d-49e1-bc4f-0cf5146f2ebf","name":"create n8n table \"folders_restore_backup\"","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","position":[-368,5856],"parameters":{"url":"={{ $('n8n instance/project access details1').item.json.n8n_instance_URL }}/rest/projects/{{ $json.data[0].id }}/data-tables","method":"POST","options":{},"jsonBody":"{\n  \"name\":\"folders_restore_backup\",\n  \"columns\":[],\n  \"hasHeaders\":true\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API1').item.json[\"n8n-auth\"] }}"}]}},"typeVersion":4.3},{"id":"cad1cfb6-5345-4ad8-9b0b-0121f8032e3b","name":"\"folders_restore_backup\" table columns list","type":"n8n-nodes-base.code","position":[-80,5840],"parameters":{"jsCode":"// Define your field names\nconst fields = [\n  \"n8n_folderId\",\n  \"folderType\",\n  \"folderName\",\n  \"parentFolderName\",\n  \"n8n_parentFolderId\",\n  \"google_folder_id\",\n  \"parent_google_folderid\",\n  \"main_root_folder_name\",\n  \"main_root_folder_google_folder_id\",\n  \"full_path\"\n];\n\n// Return a flat array of items (each as an object with 'json')\nreturn fields.map(field => {\n  return { json: { name: field, type: \"string\" } };\n});\n"},"typeVersion":2},{"id":"8d397f09-14b0-4785-96a9-5119fac7c9ac","name":"add columns to \"folders_restore_backup\" table","type":"n8n-nodes-base.httpRequest","position":[160,5840],"parameters":{"url":"={{ $('n8n instance/project access details1').item.json.n8n_instance_URL }}/rest/projects/{{ $('get projectId1').item.json.data[0].id }}/data-tables/{{ $('create n8n table \"folders_restore_backup\"').item.json.data.id }}/columns","method":"POST","options":{},"jsonBody":"={{ $json }}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API1').item.json[\"n8n-auth\"] }}"}]}},"typeVersion":4.3},{"id":"afabb327-8c56-439b-9486-aa3e1c6f224c","name":"Filter on \"folders_restore_backup\" table","type":"n8n-nodes-base.filter","position":[208,6144],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"a4fab1f0-abfa-4a62-aafd-15b54f498ad4","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json[\"data.data\"].name }}","rightValue":"=folders_restore_backup"}]}},"typeVersion":2.3},{"id":"fa6ed469-3d81-46ec-8944-190117a6c34f","name":"Purge data in \"folders_restore_backup\"","type":"n8n-nodes-base.dataTable","position":[432,6144],"parameters":{"filters":{"conditions":[{"keyValue":"0","condition":"gte"}]},"options":{},"operation":"deleteRows","dataTableId":{"__rl":true,"mode":"id","value":"={{ $json[\"data.data\"].id }}"}},"typeVersion":1},{"id":"1ba9e148-396d-4d09-84e7-433d2a8acf3b","name":"Insert data into table \"folders_restore_backup\"","type":"n8n-nodes-base.dataTable","position":[2656,6848],"parameters":{"columns":{"value":{},"schema":[{"id":"folderType","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderType","defaultMatch":false},{"id":"google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"google_folder_id","defaultMatch":false},{"id":"main_root_folder_google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_google_folder_id","defaultMatch":false},{"id":"main_root_folder_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_name","defaultMatch":false},{"id":"parent_google_folderid","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parent_google_folderid","defaultMatch":false},{"id":"folderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderName","defaultMatch":false},{"id":"full_path","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"folderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderId","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"folderName","keyValue":"={{ $json.folderName }}"}]},"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"name","value":"=folders_restore_backup"}},"typeVersion":1},{"id":"046cba97-03c8-4aec-90a9-2e39544b84b3","name":"fullPath length1","type":"n8n-nodes-base.set","position":[2928,6848],"parameters":{"options":{},"assignments":{"assignments":[{"id":"c9eb148a-58b0-409b-981b-078810e04862","name":"fullPath_length","type":"string","value":"={{ $json.full_path.split('/').length }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"af3438d2-908c-42fd-8d09-436bc1073cdc","name":"Filter","type":"n8n-nodes-base.filter","position":[3136,6848],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"6bdbe80e-5830-4e90-bb9c-f95f3fc9c11e","operator":{"type":"string","operation":"notEquals"},"leftValue":"={{ $json.folderName }}","rightValue":"backup restored"}]}},"typeVersion":2.3},{"id":"8997d76f-fb82-4ca7-89d7-91524598978d","name":"Aggregate1","type":"n8n-nodes-base.aggregate","position":[4256,6208],"parameters":{"options":{},"aggregate":"aggregateAllItemData"},"typeVersion":1},{"id":"c1331a00-f6cc-4481-a28e-fa9a748a2117","name":"Attach the parentFolder if any1","type":"n8n-nodes-base.set","position":[4592,6864],"parameters":{"options":{},"assignments":{"assignments":[{"id":"3bd8e3a9-f787-401a-9326-7f74424b5da5","name":"subfolder","type":"string","value":"={{ $('One run per folder1').item.json[\"folderName\"] }}"},{"id":"5bdb5050-cf5e-4c2e-8d52-7ae44eb04f2c","name":"parentFolder","type":"string","value":"={{ $('One run per folder1').item.json.parentFolderName }}"}]}},"typeVersion":3.4},{"id":"126f263b-1301-49b0-9492-2f63f39d066f","name":"if parentFolder empty1","type":"n8n-nodes-base.if","position":[4880,6864],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"4a4f7eb5-e1e8-4dec-914c-c55ecef8654e","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.parentFolder }}","rightValue":"null"},{"id":"f6acd4b2-1351-4a73-933e-9deca83afd9d","operator":{"type":"string","operation":"notContains"},"leftValue":"={{ $json.subfolder }}","rightValue":"backup folder"}]}},"typeVersion":2.3},{"id":"3a681901-6b7f-42bb-818c-54cf427b180f","name":"One run per folder1","type":"n8n-nodes-base.splitInBatches","position":[3712,6848],"parameters":{"options":{}},"typeVersion":3},{"id":"bf94978e-9529-4653-b81c-b90d21b54ea1","name":"Get the parentFolderName if it exists2","type":"n8n-nodes-base.dataTable","position":[3920,6864],"parameters":{"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.parentFolderName }}"}]},"operation":"get","dataTableId":{"__rl":true,"mode":"name","value":"=folders_restore_backup"}},"typeVersion":1.1,"alwaysOutputData":true},{"id":"f396238b-4bcb-44df-b422-594af2bcb09a","name":"get parentFolderId if it exists1","type":"n8n-nodes-base.set","position":[4224,6864],"parameters":{"options":{},"assignments":{"assignments":[{"id":"7fd1e7ab-97d9-4c5b-a780-7c122f0840b0","name":"=parent_n8n_folder_Id","type":"string","value":"={{ Object.keys($json).length === 0  ? xDL3ZTtDPIQVspYZ : $json.google_folder_id  }}"},{"id":"e53f2bef-2ab1-4cef-95fb-96ca1120a0f6","name":"parent_folderName","type":"string","value":"={{ $json.parentFolderName }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"c0683642-e8bc-420d-8cec-82c8276c2f99","name":"Get the parentFolderName if it exists3","type":"n8n-nodes-base.dataTable","position":[5152,7152],"parameters":{"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.parentFolder }}"}]},"operation":"get","dataTableId":{"__rl":true,"mode":"name","value":"=folders_restore_backup"}},"typeVersion":1.1,"alwaysOutputData":true},{"id":"6fab7ef8-64a2-4af9-b6a8-02bb1dc3a07c","name":"Merge7","type":"n8n-nodes-base.merge","position":[5392,7136],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition"},"typeVersion":3.2},{"id":"88cbfe1f-457c-4799-93de-4ddd420162de","name":"create n8n folder3","type":"n8n-nodes-base.httpRequest","position":[5216,6848],"parameters":{"url":"={{ $('n8n instance/project access details1').item.json.n8n_instance_URL }}/rest/projects/{{ $('get projectId1').item.json.data[0].id }}/folders","method":"POST","options":{},"jsonBody":"={{ \n  {\n       \"name\": $json.subfolder,\n       \"parentFolderId\": $('create main backup n8n folder').item.json.data.id\n  }\n}}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API1').item.json[\"n8n-auth\"] }}"}]}},"typeVersion":4.4},{"id":"c9ed81d3-b656-453b-9d2d-9fb89cbdb181","name":"Upsert row(s)3","type":"n8n-nodes-base.dataTable","position":[5760,6848],"parameters":{"columns":{"value":{},"schema":[{"id":"full_path","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"n8n_folderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"n8n_folderId","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"google_folder_id","defaultMatch":false},{"id":"parent_google_folderid","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parent_google_folderid","defaultMatch":false},{"id":"main_root_folder_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_name","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"folderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderName","defaultMatch":false},{"id":"folderType","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderType","defaultMatch":false},{"id":"main_root_folder_google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_google_folder_id","defaultMatch":false}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.folderName }}"}]},"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"name","value":"=folders_restore_backup"}},"typeVersion":1.1},{"id":"1837235c-ae24-426d-aa8e-175becd977d1","name":"create n8n folder4","type":"n8n-nodes-base.httpRequest","position":[5920,7136],"parameters":{"url":"={{ $('n8n instance/project access details1').item.json.n8n_instance_URL }}/rest/projects/{{ $('get projectId1').item.json.data[0].id }}/folders","method":"POST","options":{},"jsonBody":"={{ \n  {\n       \"name\": $json.folderName,\n       \"parentFolderId\": $json.n8n_folderId\n  }\n}}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API1').item.json[\"n8n-auth\"] }}"}]}},"typeVersion":4.4},{"id":"dd05dac2-12f0-4655-bbd0-235ae2e42ceb","name":"add \"active\" key to JSON : mandatory1","type":"n8n-nodes-base.code","position":[6112,6224],"parameters":{"mode":"runOnceForEachItem","jsCode":"$json.data.active = false;\n$json.data.name = $json.data.name;\n\n// create parentFolder object first\n$json.data.parentFolder = {\n  id: $('Merge8').item.json.n8n_folderId ? $('Merge8').item.json.n8n_folderId : $('create main backup n8n folder').item.json.data.id ,\n  name : $('Merge8').item.json.folderName ? $('Merge8').item.json.folderName : $('create main backup n8n folder').item.json.data.name\n};\n\nreturn $json.data;\n"},"typeVersion":2},{"id":"2316b9db-4dce-4fd6-8c8f-676539d675f3","name":"create main backup n8n folder","type":"n8n-nodes-base.httpRequest","position":[1520,6848],"parameters":{"url":"={{ $('n8n instance/project access details1').item.json.n8n_instance_URL }}/rest/projects/{{ $('get projectId1').item.json.data[0].id }}/folders","method":"POST","options":{},"jsonBody":"={{ \n  {\n       \"name\": \"backup restored\",\n  }\n}}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API1').item.json[\"n8n-auth\"] }}"}]}},"typeVersion":4.4},{"id":"84e9b253-85ed-40f8-bcca-9e54fa1d6549","name":"Create workflow JSON file into backup n8n folder","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","position":[6640,6224],"parameters":{"url":"={{ $('n8n instance/project access details1').item.json.n8n_instance_URL }}/rest/workflows","method":"POST","options":{},"jsonBody":"={{ $json.toJsonString() }}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API1').item.json['n8n-auth'] }}"}]}},"typeVersion":4.4},{"id":"92c23b5d-0b08-4cd5-98f3-719cd14ce553","name":"Get row(s) in sheet","type":"n8n-nodes-base.googleSheets","position":[416,6848],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"name","value":"=folders"},"documentId":{"__rl":true,"mode":"id","value":"={{ $json.id }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"vqYnRjgYOP10PQwF","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"a3344807-656e-49e6-b4fa-d0f2787dad7f","name":"exclude \"main_root_backup_folder\"","type":"n8n-nodes-base.filter","position":[2128,6848],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"199b33e5-e59d-4e43-9bdc-d9b67e19817e","operator":{"type":"string","operation":"notEquals"},"leftValue":"={{ $json.folderName }}","rightValue":"main_root_backup_folder"}]}},"typeVersion":2.3},{"id":"439bfe3b-85a4-45cd-b089-d27cadc627ec","name":"Search for the backup folder in Drive","type":"n8n-nodes-base.googleDrive","position":[-400,6848],"parameters":{"filter":{},"options":{},"resource":"fileFolder","returnAll":true,"queryString":"n8n_backup_folder_structure_14022026_213739"},"credentials":{"googleDriveOAuth2Api":{"id":"ipWSglDR3WeYHBf5","name":"Google Drive account"}},"typeVersion":3},{"id":"eeb468dd-8cee-4e78-90f0-5fce9f988e4f","name":"Get related gsheet \"workflows_folders_backup_details\"","type":"n8n-nodes-base.googleDrive","position":[80,6848],"parameters":{"filter":{},"options":{},"resource":"fileFolder","returnAll":true,"queryString":"=name = 'workflows_folders_backup_details' \nand mimeType = 'application/vnd.google-apps.spreadsheet' \nand '{{ $json.id }}' in parents\n","searchMethod":"query"},"credentials":{"googleDriveOAuth2Api":{"id":"ipWSglDR3WeYHBf5","name":"Google Drive account"}},"typeVersion":3},{"id":"19983255-1ca4-4f83-80cd-8934705c9689","name":"Order by full_path length ASC","type":"n8n-nodes-base.sort","position":[3392,6848],"parameters":{"options":{},"sortFieldsUi":{"sortField":[{"fieldName":"fullPath_length"}]}},"typeVersion":1},{"id":"c1582f1e-fef1-4cb7-8968-eecf622d787f","name":"Get all n8n folders from the backup","type":"n8n-nodes-base.googleSheets","position":[1888,6848],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"name","value":"=folders"},"documentId":{"__rl":true,"mode":"id","value":"={{ $('Get related gsheet \"workflows_folders_backup_details\"').item.json.id }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"vqYnRjgYOP10PQwF","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"b5e1055b-ff08-4f4a-8a94-f555f02212d2","name":"Get workflows details","type":"n8n-nodes-base.googleSheets","position":[4464,6208],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"name","value":"=workflows"},"documentId":{"__rl":true,"mode":"id","value":"={{ $('Get related gsheet \"workflows_folders_backup_details\"').item.json.id }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"vqYnRjgYOP10PQwF","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"b0166226-1939-4a2c-9dcd-3ee95dc64367","name":"Get folders_restore_backup details","type":"n8n-nodes-base.dataTable","position":[4672,6384],"parameters":{"filters":{"conditions":[{"keyName":"folderName","keyValue":"={{ $json.folder_name }}"}]},"operation":"get","returnAll":true,"dataTableId":{"__rl":true,"mode":"name","value":"=folders_restore_backup"}},"typeVersion":1.1},{"id":"2028f8a9-1187-4b6a-8bae-7cacdb12cdcd","name":"Download JSON wf files","type":"n8n-nodes-base.googleDrive","position":[5344,6224],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $json.workflow_google_file_id }}"},"options":{},"operation":"download"},"credentials":{"googleDriveOAuth2Api":{"id":"ipWSglDR3WeYHBf5","name":"Google Drive account"}},"typeVersion":3},{"id":"6089ae02-8683-4faf-8ea3-3d2eb8236eed","name":"Extract JSON from files","type":"n8n-nodes-base.extractFromFile","position":[5552,6224],"parameters":{"options":{},"operation":"fromJson"},"typeVersion":1.1},{"id":"eebd7a1a-961c-42c8-96d9-cc1e1c3674c3","name":"exclude some fields before create workflow","type":"n8n-nodes-base.set","position":[5776,6224],"parameters":{"include":"except","options":{},"excludeFields":"data[0].shared, data[0].scopes, data[0].wf_id, data.id, data.parentFolder, data.checksum, data.wf_id, data.wf_name, data.updatedAt, data.createdAt, data.id","includeOtherFields":true},"typeVersion":3.4},{"id":"b64560b1-7ecb-4dc8-b0b6-2b9ea7a64cb7","name":"rename fields8","type":"n8n-nodes-base.set","position":[2368,6848],"parameters":{"options":{},"assignments":{"assignments":[{"id":"abb3ce18-4932-406a-b12a-79aed4496a0e","name":"folderName","type":"string","value":"={{ $json.folderName }}"},{"id":"4511394e-a89f-4d12-9147-32f77ccda49a","name":"folderType","type":"string","value":"={{ $json.folderType }}"},{"id":"226914ec-f619-4119-825d-19c3daf1fedd","name":"parentFolderName","type":"string","value":"={{ $json.parentFolderName }}"},{"id":"d80baa52-0fda-4011-bfad-57dc80448c08","name":"n8n_parentFolderId","type":"string","value":"={{ $json.parentFolderId }}"},{"id":"e1061059-ce28-4419-9f58-ff08cae26813","name":"full_path","type":"string","value":"={{ $json.full_path }}"},{"id":"cf6ebbcf-28e4-4461-b4ef-12658b0e9d05","name":"google_folder_id","type":"string","value":""},{"id":"0e11c873-13eb-46b6-a78d-eb9ae5c2e5ba","name":"parent_google_folderid","type":"string","value":""},{"id":"fc055add-79e0-4155-9a50-56471a2f2370","name":"main_root_folder_name","type":"string","value":""},{"id":"b79a93b5-246e-49d0-bd32-fa1a8ba4dce8","name":"main_root_folder_google_folder_id","type":"string","value":""}]}},"typeVersion":3.4},{"id":"57d44c9d-6809-4d64-a7b0-007e7319a527","name":"Sticky Note25","type":"n8n-nodes-base.stickyNote","position":[-1936,6512],"parameters":{"color":6,"width":1104,"height":576,"content":"# 1/ Initialize n8n instance access details to reach n8n API "},"typeVersion":1},{"id":"3cebc89d-c32e-4b24-ad95-fe5b2fd5aefa","name":"n8n-auth for n8n API1","type":"n8n-nodes-base.set","position":[-1040,6848],"parameters":{"options":{},"assignments":{"assignments":[{"id":"6b1740b2-6608-458e-987a-c5193fe90c0e","name":"n8n-auth","type":"string","value":"={{ $json.headers[\"set-cookie\"][0] }}"}]}},"typeVersion":3.4},{"id":"315d6cfe-e2ea-4804-9c47-6390d489471a","name":"n8n instance/project access details1","type":"n8n-nodes-base.set","position":[-1840,6848],"parameters":{"options":{},"assignments":{"assignments":[{"id":"9a4ebecf-d383-40d8-966f-c5db06ea0aaf","name":"n8n_instance_URL","type":"string","value":"xxxxx"},{"id":"982bcee4-6bc4-4eae-b468-6a25e8b9215e","name":"emailOrLdapLoginId","type":"string","value":"xxxxx"},{"id":"ec91ebf5-ab0a-4565-8abe-ad29c040a1fe","name":"password","type":"string","value":"xxxxx"}]}},"typeVersion":3.4},{"id":"4686595a-830a-422e-bb0f-dd253453c9be","name":"Sticky Note26","type":"n8n-nodes-base.stickyNote","position":[-1920,6736],"parameters":{"color":3,"width":288,"height":272,"content":"## Add your n8n URL and credentials here\n### URL without the \"/\" at the end\n"},"typeVersion":1},{"id":"ac0ea032-d41c-44f6-ad24-373fdd153bbc","name":"get projectId1","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","position":[-688,6160],"parameters":{"url":"={{ $('n8n instance/project access details1').item.json.n8n_instance_URL }}/rest/projects","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $json[\"n8n-auth\"] }}"}]}},"typeVersion":4.3},{"id":"8dddd12b-fb44-476f-93d8-0033c05bfb0d","name":"Sticky Note27","type":"n8n-nodes-base.stickyNote","position":[-720,5760],"parameters":{"color":6,"width":1856,"height":672,"content":"# 2/ Create the n8n data tables \"folders_restore_backup\""},"typeVersion":1},{"id":"fe1a14eb-ea3c-4bd0-9712-09eff2371018","name":"Sticky Note28","type":"n8n-nodes-base.stickyNote","position":[-1552,6624],"parameters":{"width":672,"height":416,"content":"## Connect to the account using API to get the \"set-cookie\" token value returned from the header that will later be used to authenticate with n8n API : \n\n### {{ $json.headers[\"set-cookie\"][0] }}\n"},"typeVersion":1},{"id":"9ad4d303-9645-48f7-92b7-a68e6642a023","name":"Sticky Note29","type":"n8n-nodes-base.stickyNote","position":[-288,5392],"parameters":{"width":912,"height":320,"content":"## n8n tables used to store the folder/subfolders and workflow structure details\n\n### We use n8n table instead of google sheet because gsheet has a very limitative API quotas limit that will slow down the workflow execution : 60 requests per minute per project per user\n### Gsheet API quotas limit here : https://developers.google.com/workspace/sheets/api/limits\n### While n8n table can accept much more data at once without failing\n"},"typeVersion":1},{"id":"7933993d-9b57-4221-bec1-674095acaab5","name":"get n8n table \"id\"2","type":"n8n-nodes-base.httpRequest","position":[-208,6144],"parameters":{"url":"={{ $('n8n instance/project access details1').item.json.n8n_instance_URL }}/rest/projects/{{ $('get projectId1').item.json.data[0].id }}/data-tables","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Cookie","value":"={{ $('n8n-auth for n8n API1').item.json['n8n-auth'] }}"}]}},"typeVersion":4.3},{"id":"e9c6f851-7f4e-405d-ac69-817445f1a23b","name":"Split Out4","type":"n8n-nodes-base.splitOut","position":[0,6144],"parameters":{"include":"allOtherFields","options":{},"fieldToSplitOut":"data.data"},"typeVersion":1},{"id":"bff5b16c-8e33-4284-b708-0253fc9409ac","name":"rename fields9","type":"n8n-nodes-base.set","position":[5552,6848],"parameters":{"options":{},"assignments":{"assignments":[{"id":"80fa0fad-a41b-4852-b858-c5bee7f41d7b","name":"folderName","type":"string","value":"={{ $json.data.name }}"},{"id":"861cbaed-fa08-43d3-9d6a-545690409301","name":"n8n_folderId","type":"string","value":"={{ $json.data.id }}"}]}},"typeVersion":3.4},{"id":"00f317de-8427-4611-a41f-cecbecc99535","name":"rename fields10","type":"n8n-nodes-base.set","position":[5680,7136],"parameters":{"options":{},"assignments":{"assignments":[{"id":"80fa0fad-a41b-4852-b858-c5bee7f41d7b","name":"folderName","type":"string","value":"={{ $json.subfolder }}"},{"id":"861cbaed-fa08-43d3-9d6a-545690409301","name":"n8n_folderId","type":"string","value":"={{ $json.n8n_folderId }}"}]}},"typeVersion":3.4},{"id":"657bf4ad-7bd5-49ff-ad9a-3ad1f9b8e455","name":"rename fields11","type":"n8n-nodes-base.set","position":[6160,7136],"parameters":{"options":{},"assignments":{"assignments":[{"id":"80fa0fad-a41b-4852-b858-c5bee7f41d7b","name":"folderName","type":"string","value":"={{ $json.data.name }}"},{"id":"861cbaed-fa08-43d3-9d6a-545690409301","name":"n8n_folderId","type":"string","value":"={{ $json.data.id }}"}]}},"typeVersion":3.4},{"id":"575defdc-e22c-452b-9182-246ff02812f9","name":"Upsert row(s)","type":"n8n-nodes-base.dataTable","position":[6400,7136],"parameters":{"columns":{"value":{},"schema":[{"id":"full_path","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"full_path","defaultMatch":false},{"id":"n8n_folderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"n8n_folderId","defaultMatch":false},{"id":"parentFolderId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderId","defaultMatch":false},{"id":"google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"google_folder_id","defaultMatch":false},{"id":"parent_google_folderid","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parent_google_folderid","defaultMatch":false},{"id":"main_root_folder_name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_name","defaultMatch":false},{"id":"parentFolderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"parentFolderName","defaultMatch":false},{"id":"folderName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderName","defaultMatch":false},{"id":"folderType","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"folderType","defaultMatch":false},{"id":"main_root_folder_google_folder_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"main_root_folder_google_folder_id","defaultMatch":false}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=folderName","keyValue":"={{ $json.folderName }}"}]},"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"name","value":"=folders_restore_backup"}},"typeVersion":1.1},{"id":"c4063146-2e4a-46f6-9bbf-e2a5ea5aba2b","name":"Merge8","type":"n8n-nodes-base.merge","position":[4864,6224],"parameters":{"mode":"combine","options":{},"advanced":true,"joinMode":"enrichInput1","mergeByFields":{"values":[{"field1":"folder_name","field2":"folderName"}]}},"typeVersion":3.2},{"id":"52a1f2a5-5050-4ed2-8f1a-95b60818c555","name":"Remove Duplicates3","type":"n8n-nodes-base.removeDuplicates","position":[5120,6224],"parameters":{"compare":"selectedFields","options":{},"fieldsToCompare":"workflow_id"},"typeVersion":2},{"id":"9f65e021-8702-434f-8fba-7e0615a9327b","name":"Aggregate4","type":"n8n-nodes-base.aggregate","position":[1104,6848],"parameters":{"options":{},"aggregate":"aggregateAllItemData"},"typeVersion":1},{"id":"8b27110f-630b-4fe2-ad86-8ccfac27698b","name":"Sticky Note30","type":"n8n-nodes-base.stickyNote","position":[-480,6688],"parameters":{"color":3,"width":368,"height":336,"content":"## Specify the exact drive backup folder name to restore"},"typeVersion":1},{"id":"dce18062-35d2-4794-91d2-924db4f8393c","name":"Sticky Note31","type":"n8n-nodes-base.stickyNote","position":[6000,6896],"parameters":{"color":4,"width":336,"height":80,"content":"## root folder(s) : full_path = 1"},"typeVersion":1},{"id":"68f8a397-4180-445e-b1f6-ab42dd0f9cd7","name":"Sticky Note32","type":"n8n-nodes-base.stickyNote","position":[6624,7200],"parameters":{"color":4,"width":352,"height":96,"content":"## subfolders : full_path>1"},"typeVersion":1},{"id":"5a0fcadd-7b9c-4011-83a3-d723400a5612","name":"Sticky Note33","type":"n8n-nodes-base.stickyNote","position":[16,6688],"parameters":{"width":544,"height":336,"content":"## Gets the related gsheet \"workflows_folders_backup_details\""},"typeVersion":1},{"id":"2198184f-d96f-4efe-b2f6-5eb800f82b35","name":"Sticky Note34","type":"n8n-nodes-base.stickyNote","position":[3600,6720],"parameters":{"color":6,"width":3408,"height":656,"content":"## 3/ Creates the folder/subfolder structure under main folder \"backup restored\" on n8n"},"typeVersion":1},{"id":"f3129b8c-a2d6-4991-8b2b-af7eaaa6560c","name":"Sticky Note35","type":"n8n-nodes-base.stickyNote","position":[4400,6032],"parameters":{"color":6,"width":2528,"height":528,"content":"## 4/ Download workflow JSON files from GDrive back and upload them into their folder in n8n"},"typeVersion":1},{"id":"74da16f9-0e59-40f6-afca-4b67bfa4f4c2","name":"Sticky Note36","type":"n8n-nodes-base.stickyNote","position":[6416,6048],"parameters":{"color":4,"width":496,"height":384,"content":"## Create the workflow under its n8n folder along with their \"tags\" and \"description\"\n"},"typeVersion":1},{"id":"fe14b8ab-046c-4819-80cf-145f1936b129","name":"Sticky Note37","type":"n8n-nodes-base.stickyNote","position":[5984,6048],"parameters":{"width":400,"height":512,"content":"## Add to the JSON workflow data : \n\n### - set active to \"false\"\n### - workflow name\n### - parentFolder name"},"typeVersion":1},{"id":"94a59236-4f4a-4023-a111-ca3474a125c4","name":"Sticky Note38","type":"n8n-nodes-base.stickyNote","position":[-2928,-800],"parameters":{"color":4,"width":13120,"height":192,"content":"# Backup workflows solution to google Drive"},"typeVersion":1},{"id":"e01e0c96-b0d5-486c-9930-a97774267587","name":"Sticky Note39","type":"n8n-nodes-base.stickyNote","position":[-1856,5072],"parameters":{"color":4,"width":13120,"height":192,"content":"# Restore Backup workflows to n8n from google Drive"},"typeVersion":1},{"id":"19af1673-71fc-470c-8bd2-97d8bf578676","name":"Restore workflows trigger","type":"n8n-nodes-base.manualTrigger","position":[-2176,6848],"parameters":{},"typeVersion":1},{"id":"99a82cbd-94ba-4054-82e6-d887ff5b0304","name":"Backup workflows scheduler","type":"n8n-nodes-base.scheduleTrigger","position":[-2064,1552],"parameters":{"rule":{"interval":[{"triggerAtMinute":10}]}},"typeVersion":1.3},{"id":"293bd39e-4dbe-4987-bd86-3be44312ad21","name":"Sticky Note40","type":"n8n-nodes-base.stickyNote","position":[1312,6688],"parameters":{"width":496,"height":336,"content":"## Creates \"backup restored\" folder on n8n"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"binaryMode":"separate","availableInMCP":false,"executionOrder":"v1"},"versionId":"","connections":{"Merge":{"main":[[{"node":"Remove Duplicates","type":"main","index":0}]]},"Filter":{"main":[[{"node":"Order by full_path length ASC","type":"main","index":0}]]},"Merge1":{"main":[[{"node":"Remove Duplicates2","type":"main","index":0}]]},"Merge2":{"main":[[{"node":"Convert workflow to JSON file","type":"main","index":0}]]},"Merge3":{"main":[[{"node":"define full_path length","type":"main","index":0}]]},"Merge4":{"main":[[{"node":"Remove Duplicates1","type":"main","index":0}]]},"Merge5":{"main":[[{"node":"rename fields7","type":"main","index":0}]]},"Merge6":{"main":[[{"node":"Create folder under the parentFolder","type":"main","index":0}]]},"Merge7":{"main":[[{"node":"rename fields10","type":"main","index":0}]]},"Merge8":{"main":[[{"node":"Remove Duplicates3","type":"main","index":0}]]},"Aggregate":{"main":[[{"node":"one item per workflow at main_root_folder","type":"main","index":0}]]},"Split Out":{"main":[[{"node":"Filter on \"folders\" table","type":"main","index":0}]]},"Aggregate1":{"main":[[{"node":"Get workflows details","type":"main","index":0}]]},"Aggregate3":{"main":[[{"node":"get all workflows","type":"main","index":0},{"node":"Get all folders","type":"main","index":0},{"node":"Create backup folder \"n8n_backup_folder_structure_ddMMyyyy_HHmmss\"","type":"main","index":0},{"node":"get all folders1","type":"main","index":0},{"node":"get all workflows1","type":"main","index":0},{"node":"Create gsheet \"workflows_folders_backup_details\"","type":"main","index":0}]]},"Aggregate4":{"main":[[{"node":"create main backup n8n folder","type":"main","index":0}]]},"Split Out1":{"main":[[{"node":"If resource == \"folder\"","type":"main","index":0}]]},"Split Out2":{"main":[[{"node":"Filter on \"workflows\" table","type":"main","index":0}]]},"Split Out3":{"main":[[{"node":"keep only workflows not archived1","type":"main","index":0}]]},"Split Out4":{"main":[[{"node":"Filter on \"folders_restore_backup\" table","type":"main","index":0}]]},"Get row(s)3":{"main":[[{"node":"Insert one row in \"folders\" for the main_root_backup_folder","type":"main","index":0},{"node":"get main root folder details1","type":"main","index":0},{"node":"Merge5","type":"main","index":0}]]},"parentFolder":{"main":[[{"node":"rename fields5","type":"main","index":0}]]},"Upsert row(s)":{"main":[[{"node":"One run per folder1","type":"main","index":0}]]},"get projectId":{"main":[[{"node":"create n8n table \"folders\"","type":"main","index":0},{"node":"create n8n table \"workflows\"","type":"main","index":0}]]},"rename fields":{"main":[[{"node":"Insert workflow details into \"workflows\" table","type":"main","index":0}]]},"Upsert row(s)3":{"main":[[{"node":"One run per folder1","type":"main","index":0}]]},"get projectId1":{"main":[[{"node":"create n8n table \"folders_restore_backup\"","type":"main","index":0},{"node":"Search for the backup folder in Drive","type":"main","index":0}]]},"n8n login API1":{"main":[[{"node":"n8n-auth for n8n API","type":"main","index":0}]]},"n8n login API2":{"main":[[{"node":"n8n-auth for n8n API1","type":"main","index":0}]]},"rename fields1":{"main":[[{"node":"Insert data into table \"folders\"","type":"main","index":0}]]},"rename fields2":{"main":[[{"node":"Add data about folder : google_folder_id1","type":"main","index":0}]]},"rename fields3":{"main":[[{"node":"Add data about folder : google_folder_id","type":"main","index":0}]]},"rename fields4":{"main":[[{"node":"Upsert row(s)5","type":"main","index":0}]]},"rename fields5":{"main":[[{"node":"Merge4","type":"main","index":0}]]},"rename fields6":{"main":[[{"node":"Upsert row(s)4","type":"main","index":0}]]},"rename fields7":{"main":[[{"node":"Get each workflow JSON data","type":"main","index":0}]]},"rename fields8":{"main":[[{"node":"Insert data into table \"folders_restore_backup\"","type":"main","index":0}]]},"rename fields9":{"main":[[{"node":"Upsert row(s)3","type":"main","index":0}]]},"Get all folders":{"main":[[{"node":"Define & assign folder's fullPath value","type":"main","index":0}]]},"Loop Over Items":{"main":[[{"node":"Get row(s)3","type":"main","index":0}],[{"node":"Loop Over Items","type":"main","index":0}]]},"folders details":{"main":[[{"node":"Copy data to sheet \"folders\"","type":"main","index":0}]]},"rename fields10":{"main":[[{"node":"create n8n folder4","type":"main","index":0}]]},"rename fields11":{"main":[[{"node":"Upsert row(s)","type":"main","index":0}]]},"wf_id + wf_name":{"main":[[{"node":"Merge2","type":"main","index":0}]]},"fullPath length1":{"main":[[{"node":"Filter","type":"main","index":0}]]},"get all folders1":{"main":[[{"node":"get directParentFolderName","type":"main","index":0}]]},"get all folders2":{"main":[[{"node":"Merge3","type":"main","index":1},{"node":"rename main_root_folder fields","type":"main","index":0}]]},"Remove Duplicates":{"main":[[{"node":"rename fields","type":"main","index":0}]]},"get all workflows":{"main":[[{"node":"extract each workflow","type":"main","index":0}]]},"workflows details":{"main":[[{"node":"Copy data to sheet \"workflows\"","type":"main","index":0}]]},"One run per folder":{"main":[[],[{"node":"Get the parentFolderName if it exists","type":"main","index":0}]]},"Remove Duplicates1":{"main":[[{"node":"rename fields4","type":"main","index":0}]]},"Remove Duplicates2":{"main":[[{"node":"Get each workflow JSON data","type":"main","index":0}]]},"Remove Duplicates3":{"main":[[{"node":"Download JSON wf files","type":"main","index":0}]]},"add wf_folder_name":{"main":[[{"node":"Merge1","type":"main","index":0}]]},"create n8n folder3":{"main":[[{"node":"rename fields9","type":"main","index":0}]]},"create n8n folder4":{"main":[[{"node":"rename fields11","type":"main","index":0}]]},"exclude field \"id\"":{"main":[[{"node":"Merge1","type":"main","index":1}]]},"get all workflows1":{"main":[[{"node":"Split Out3","type":"main","index":0}]]},"get n8n table \"id\"":{"main":[[{"node":"Split Out","type":"main","index":0}]]},"Get row(s) in sheet":{"main":[[{"node":"Aggregate4","type":"main","index":0}]]},"One run per folder1":{"main":[[{"node":"Aggregate1","type":"main","index":0}],[{"node":"Get the parentFolderName if it exists2","type":"main","index":0}]]},"get n8n table \"id\"1":{"main":[[{"node":"Split Out2","type":"main","index":0}]]},"get n8n table \"id\"2":{"main":[[{"node":"Split Out4","type":"main","index":0}]]},"n8n-auth for n8n API":{"main":[[{"node":"get projectId","type":"main","index":0},{"node":"get subfolder(s) structure","type":"main","index":0}]]},"Get workflows details":{"main":[[{"node":"Get folders_restore_backup details","type":"main","index":0},{"node":"Merge8","type":"main","index":0}]]},"extract each workflow":{"main":[[{"node":"keep only workflows not archived","type":"main","index":0}]]},"if parentFolder empty":{"main":[[{"node":"Create folder under the static \"backup_n8n\" folder","type":"main","index":0}],[{"node":"Merge6","type":"main","index":0},{"node":"get  parent_google_folderid value","type":"main","index":0}]]},"n8n-auth for n8n API1":{"main":[[{"node":"get projectId1","type":"main","index":0}]]},"Download JSON wf files":{"main":[[{"node":"Extract JSON from files","type":"main","index":0}]]},"if parentFolder empty1":{"main":[[{"node":"create n8n folder3","type":"main","index":0}],[{"node":"Get the parentFolderName if it exists3","type":"main","index":0},{"node":"Merge7","type":"main","index":0}]]},"Extract JSON from files":{"main":[[{"node":"exclude some fields before create workflow","type":"main","index":0}]]},"If parentFolder is null":{"main":[[{"node":"root folder : backup_n8n","type":"main","index":0}],[{"node":"root folder : backup_n8n1","type":"main","index":0}]]},"If resource == \"folder\"":{"main":[[{"node":"rename fields1","type":"main","index":0}]]},"define full_path length":{"main":[[{"node":"Sort to get root folders first","type":"main","index":0}]]},"Split root vs subfolders":{"main":[[{"node":"rename fields6","type":"main","index":0}],[{"node":"Merge4","type":"main","index":1},{"node":"parentFolder","type":"main","index":0}]]},"root folder : backup_n8n":{"main":[[{"node":"Upload file to gdrive main root folder","type":"main","index":0}]]},"Filter on \"folders\" table":{"main":[[{"node":"Purge data in \"folders\"","type":"main","index":0}]]},"Restore workflows trigger":{"main":[[{"node":"n8n instance/project access details1","type":"main","index":0}]]},"Upload file to its folder":{"main":[[{"node":"add workflow file and folder google IDs","type":"main","index":0}]]},"root folder : backup_n8n1":{"main":[[{"node":"Upload file to its folder","type":"main","index":0}]]},"Backup workflows scheduler":{"main":[[{"node":"n8n instance/project access details","type":"main","index":0}]]},"create n8n table \"folders\"":{"main":[[{"node":"\"folders\" table columns list","type":"main","index":0}],[{"node":"get n8n table \"id\"","type":"main","index":0}]]},"get directParentFolderName":{"main":[[{"node":"Split root vs subfolders","type":"main","index":0}]]},"get subfolder(s) structure":{"main":[[{"node":"Split Out1","type":"main","index":0}]]},"Filter on \"workflows\" table":{"main":[[{"node":"Purge data in \"workflows\"","type":"main","index":0}]]},"GET each workflow JSON data":{"main":[[{"node":"Merge","type":"main","index":0},{"node":"Match workflow with folder details","type":"main","index":0}]]},"Get each workflow JSON data":{"main":[[{"node":"wf_id + wf_name","type":"main","index":0},{"node":"remove the [] wrapper to re-create imported wf later","type":"main","index":0}]]},"get related folder details1":{"main":[[{"node":"exclude field \"id\"","type":"main","index":0}]]},"\"folders\" table columns list":{"main":[[{"node":"add columns to \"folders\" table","type":"main","index":0}]]},"create n8n table \"workflows\"":{"main":[[{"node":"\"workflows\" table columns list","type":"main","index":0}],[{"node":"get n8n table \"id\"1","type":"main","index":0}]]},"Convert workflow to JSON file":{"main":[[{"node":"If parentFolder is null","type":"main","index":0}]]},"Order by full_path length ASC":{"main":[[{"node":"One run per folder1","type":"main","index":0}]]},"create main backup n8n folder":{"main":[[{"node":"Get all n8n folders from the backup","type":"main","index":0}]]},"get main root folder details1":{"main":[[{"node":"Merge5","type":"main","index":1}]]},"\"workflows\" table columns list":{"main":[[{"node":"add columns to \"workflows\" table","type":"main","index":0}]]},"Attach the parentFolder if any":{"main":[[{"node":"if parentFolder empty","type":"main","index":0}]]},"Sort to get root folders first":{"main":[[{"node":"One run per folder","type":"main","index":0}]]},"rename main_root_folder fields":{"main":[[{"node":"add backup_folder google_id to \"folders\"","type":"main","index":0}]]},"Attach the parentFolder if any1":{"main":[[{"node":"if parentFolder empty1","type":"main","index":0}]]},"If there parentFolder.isEmpty()":{"main":[[{"node":"Aggregate","type":"main","index":0}],[{"node":"add wf_folder_name","type":"main","index":0},{"node":"get related folder details1","type":"main","index":0}]]},"Search if folder already exists":{"main":[[{"node":"if folder not found => create it","type":"main","index":0}]]},"get parentFolderId if it exists":{"main":[[{"node":"Search if folder already exists","type":"main","index":0}]]},"Insert data into table \"folders\"":{"main":[[{"node":"Aggregate3","type":"main","index":0}]]},"Move file to backup drive folder":{"main":[[{"node":"workflows details","type":"main","index":0},{"node":"folders details","type":"main","index":0}]]},"get parentFolderId if it exists1":{"main":[[{"node":"Attach the parentFolder if any1","type":"main","index":0}]]},"if folder not found => create it":{"main":[[{"node":"Attach the parentFolder if any","type":"main","index":0}]]},"keep only workflows not archived":{"main":[[{"node":"GET each workflow JSON data","type":"main","index":0}]]},"exclude \"main_root_backup_folder\"":{"main":[[{"node":"rename fields8","type":"main","index":0}]]},"get  parent_google_folderid value":{"main":[[{"node":"Merge6","type":"main","index":1}]]},"keep only workflows not archived1":{"main":[[{"node":"If there parentFolder.isEmpty()","type":"main","index":0}]]},"Get folders_restore_backup details":{"main":[[{"node":"Merge8","type":"main","index":1}]]},"Match workflow with folder details":{"main":[[{"node":"Merge","type":"main","index":1}]]},"Get all n8n folders from the backup":{"main":[[{"node":"exclude \"main_root_backup_folder\"","type":"main","index":0}]]},"n8n instance/project access details":{"main":[[{"node":"n8n login API1","type":"main","index":0}]]},"Create folder under the parentFolder":{"main":[[{"node":"rename fields3","type":"main","index":0}]]},"n8n instance/project access details1":{"main":[[{"node":"n8n login API2","type":"main","index":0}]]},"Get the parentFolderName if it exists":{"main":[[{"node":"get parentFolderId if it exists","type":"main","index":0}]]},"Search for the backup folder in Drive":{"main":[[{"node":"Get related gsheet \"workflows_folders_backup_details\"","type":"main","index":0}]]},"add \"active\" key to JSON : mandatory1":{"main":[[{"node":"Create workflow JSON file into backup n8n folder","type":"main","index":0}]]},"Get the parentFolderName if it exists2":{"main":[[{"node":"get parentFolderId if it exists1","type":"main","index":0}]]},"Get the parentFolderName if it exists3":{"main":[[{"node":"Merge7","type":"main","index":1}]]},"Upload file to gdrive main root folder":{"main":[[{"node":"add workflow file and folder google IDs2","type":"main","index":0}]]},"Define & assign folder's fullPath value":{"main":[[{"node":"Insert \"full_path\" value for each folder","type":"main","index":0}]]},"Get \"main_root_folder_google_folder_id\"":{"main":[[{"node":"Move file to backup drive folder","type":"main","index":0}]]},"Add data about folder : google_folder_id":{"main":[[{"node":"One run per folder","type":"main","index":0}]]},"Filter on \"folders_restore_backup\" table":{"main":[[{"node":"Purge data in \"folders_restore_backup\"","type":"main","index":0}]]},"add backup_folder google_id to \"folders\"":{"main":[[{"node":"Merge3","type":"main","index":0}]]},"Add data about folder : google_folder_id1":{"main":[[{"node":"One run per folder","type":"main","index":0}]]},"create n8n table \"folders_restore_backup\"":{"main":[[{"node":"\"folders_restore_backup\" table columns list","type":"main","index":0}],[{"node":"get n8n table \"id\"2","type":"main","index":0}]]},"one item per workflow at main_root_folder":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"exclude some fields before create workflow":{"main":[[{"node":"add \"active\" key to JSON : mandatory1","type":"main","index":0}]]},"\"folders_restore_backup\" table columns list":{"main":[[{"node":"add columns to \"folders_restore_backup\" table","type":"main","index":0}]]},"Insert data into table \"folders_restore_backup\"":{"main":[[{"node":"fullPath length1","type":"main","index":0}]]},"Create gsheet \"workflows_folders_backup_details\"":{"main":[[{"node":"Get \"main_root_folder_google_folder_id\"","type":"main","index":0}]]},"Create folder under the static \"backup_n8n\" folder":{"main":[[{"node":"rename fields2","type":"main","index":0}]]},"remove the [] wrapper to re-create imported wf later":{"main":[[{"node":"Merge2","type":"main","index":1}]]},"Get related gsheet \"workflows_folders_backup_details\"":{"main":[[{"node":"Get row(s) in sheet","type":"main","index":0}]]},"Create backup folder \"n8n_backup_folder_structure_ddMMyyyy_HHmmss\"":{"main":[[{"node":"get all folders2","type":"main","index":0}]]}}},"lastUpdatedBy":29,"workflowInfo":{"nodeCount":195,"nodeTypes":{"n8n-nodes-base.if":{"count":7},"n8n-nodes-base.set":{"count":30},"n8n-nodes-base.code":{"count":7},"n8n-nodes-base.sort":{"count":2},"n8n-nodes-base.merge":{"count":9},"n8n-nodes-base.filter":{"count":7},"n8n-nodes-base.splitOut":{"count":6},"n8n-nodes-base.aggregate":{"count":4},"n8n-nodes-base.dataTable":{"count":33},"n8n-nodes-base.stickyNote":{"count":41},"n8n-nodes-base.googleDrive":{"count":10},"n8n-nodes-base.httpRequest":{"count":22},"n8n-nodes-base.googleSheets":{"count":6},"n8n-nodes-base.convertToFile":{"count":1},"n8n-nodes-base.manualTrigger":{"count":1},"n8n-nodes-base.splitInBatches":{"count":3},"n8n-nodes-base.extractFromFile":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1},"n8n-nodes-base.removeDuplicates":{"count":4}}},"status":"published","readyToDemo":null,"user":{"name":"Adam ABDELMOUMNI","username":"adamabdelmoumni","bio":"Senior IT technical project manager, eager to learn more about new technologies, and ways to automate business processes.\n\n","verified":false,"links":["https://ae.linkedin.com/in/adam-abdelmoumni/en"],"avatar":"https://gravatar.com/avatar/ce2ade67786e7e0c5503a6d36eff95ed65736264b3280f0ecd7ef99c3ec6a93c?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":58,"icon":"file:googleDrive.svg","name":"n8n-nodes-base.googleDrive","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Google Drive"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgODEgNzMiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwNjZkYSIgZD0ibTYuMDQ4IDYxLjI2IDMuNTI4IDYuMDk0Yy43MzMgMS4yODMgMS43ODcgMi4yOTEgMy4wMjQgMy4wMjRsMTIuNi0yMS44MUgwYTguMyA4LjMgMCAwIDAgMS4xIDQuMTI0eiIvPjxwYXRoIGZpbGw9IiMwMGFjNDciIGQ9Ik00MCAyMi45MSAyNy40IDEuMWMtMS4yMzcuNzMzLTIuMjkxIDEuNzQxLTMuMDI0IDMuMDI0TDEuMSA0NC40NDVBOC4zIDguMyAwIDAgMCAwIDQ4LjU2OGgyNS4yeiIvPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik02Ny40IDcwLjM3OGMxLjIzNy0uNzMzIDIuMjkxLTEuNzQxIDMuMDI0LTMuMDI0bDEuNDY2LTIuNTIgNy4wMS0xMi4xNDJhOC4zIDguMyAwIDAgMCAxLjEtNC4xMjRINTQuNzk4bDUuMzYzIDEwLjUzOHoiLz48cGF0aCBmaWxsPSIjMDA4MzJkIiBkPSJNNDAgMjIuOTEgNTIuNiAxLjFDNTEuMzYzLjM2NyA0OS45NDMgMCA0OC40NzcgMEgzMS41MjRjLTEuNDY2IDAtMi44ODcuNDEyLTQuMTI0IDEuMXoiLz48cGF0aCBmaWxsPSIjMjY4NGZjIiBkPSJNNTQuNzk5IDQ4LjU2OEgyNS4ybC0xMi42IDIxLjgxYzEuMjM3LjczMyAyLjY1NyAxLjEgNC4xMjQgMS4xaDQ2LjU1MmMxLjQ2NiAwIDIuODg3LS40MTIgNC4xMjQtMS4xeiIvPjxwYXRoIGZpbGw9IiNmZmJhMDAiIGQ9Ik02Ny4yNjIgMjQuMjg0IDU1LjYyNCA0LjEyNEM1NC44OTEgMi44NDEgNTMuODM3IDEuODMzIDUyLjYgMS4xTDQwIDIyLjkxbDE0LjggMjUuNjU5aDI1LjE1NWE4LjMgOC4zIDAgMCAwLTEuMS00LjEyNHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Google Drive","typeVersion":3,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":838,"icon":"fa:mouse-pointer","name":"n8n-nodes-base.manualTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"When clicking ‘Execute workflow’","color":"#909298"},"iconData":{"icon":"mouse-pointer","type":"icon"},"displayName":"Manual Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":844,"icon":"fa:filter","name":"n8n-nodes-base.filter","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The Filter node can be used to filter items based on a condition. If the condition is met, the item will be passed on to the next node. If the condition is not met, the item will be omitted. Conditions can be combined together by AND(meet all conditions), or OR(meet at least one condition).","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.filter/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Filter","color":"#229eff"},"iconData":{"icon":"filter","type":"icon"},"displayName":"Filter","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1234,"icon":"file:convertToFile.svg","name":"n8n-nodes-base.convertToFile","codex":{"data":{"alias":["CSV","Spreadsheet","Excel","xls","xlsx","ods","tabular","encode","encoding","Move Binary Data","Binary","File","JSON","HTML","ICS","iCal","RTF","64","Base64"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.converttofile/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Files","Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Convert to File"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjc2MTkgMkMxMy4yNDM3IDIgMTIuODIzNiAyLjQyMDA5IDEyLjgyMzYgMi45MzgzMVYxNS4yNTI2QzEzLjMxOTkgMTUuNDY0MyAxMy43ODUxIDE1Ljc3MiAxNC4xOTEgMTYuMTc1N0wyMS4yMjgzIDIzLjE3MzlDMjIuMDU0OCAyMy45OTU4IDIyLjUxOTUgMjUuMTEzMiAyMi41MTk1IDI2LjI3ODhDMjIuNTE5NSAyNy40NDQzIDIyLjA1NDggMjguNTYxOCAyMS4yMjgzIDI5LjM4MzdMMTQuMTkxIDM2LjM4MTlDMTMuNzg1IDM2Ljc4NTYgMTMuMzE5OSAzNy4wOTMyIDEyLjgyMzYgMzcuMzA1VjM3LjM1MjdDMTIuODIzNiAzNy44NzA5IDEzLjI0MzcgMzguMjkxIDEzLjc2MTkgMzguMjkxSDM5LjA2MTdDMzkuNTc5OSAzOC4yOTEgNDAgMzcuODcwOSA0MCAzNy4zNTI3TDQwIDE1Ljc5NEgyNy4xNDQzQzI2LjYyNjEgMTUuNzk0IDI2LjIwNiAxNS4zNzM5IDI2LjIwNiAxNC44NTU3VjJIMTMuNzYxOVoiIGZpbGw9IiMzQTQyRTkiLz4KPHBhdGggZD0iTTI4Ljg2NDUgMkMyOC43NzgxIDIgMjguNzA4MSAyLjA3MDAyIDI4LjcwODEgMi4xNTYzOVYxMi44MjI3QzI4LjcwODEgMTMuMDgxOCAyOC45MTgyIDEzLjI5MTkgMjkuMTc3MyAxMy4yOTE5SDM5Ljg0MzZDMzkuOTMgMTMuMjkxOSA0MCAxMy4yMjE5IDQwIDEzLjEzNTVMNDAgMTIuNjI2M0M0MCAxMi4zNzc4IDM5LjkwMTQgMTIuMTM5NSAzOS43MjYgMTEuOTYzNkwzMC4wNjEgMi4yNzU2MUMyOS44ODUgMi4wOTkxNiAyOS42NDYgMiAyOS4zOTY3IDJIMjguODY0NVoiIGZpbGw9IiMzQTQyRTkiLz4KPHBhdGggZD0iTTkuNzcyNjggMzQuNjAwM0M5LjA0MTg2IDMzLjg2NTQgOS4wNDUxNyAzMi42NzcyIDkuNzgwMDcgMzEuOTQ2NEwxMy42MzE1IDI4LjExNjNMMC45MzgzMTEgMjguMTE2M0MwLjQyMDA5NiAyOC4xMTYzIC0yLjI2NTE5ZS0wOCAyNy42OTYyIDAgMjcuMTc4TDguMjAyOTdlLTA4IDI1LjMwMTRDMS4wNDY4MmUtMDcgMjQuNzgzMiAwLjQyMDA5NSAyNC4zNjMxIDAuOTM4MzExIDI0LjM2MzFIMTMuNTUyOUw5Ljc4MDA3IDIwLjYxMTJDOS4wNDUxNyAxOS44ODA0IDkuMDQxODYgMTguNjkyMiA5Ljc3MjY4IDE3Ljk1NzNDMTAuNTAzNSAxNy4yMjI0IDExLjY5MTcgMTcuMjE5MSAxMi40MjY2IDE3Ljk0OTlMMTkuNDYzOSAyNC45NDgxQzE5LjgxODEgMjUuMzAwNCAyMC4wMTczIDI1Ljc3OTMgMjAuMDE3MyAyNi4yNzg4QzIwLjAxNzMgMjYuNzc4MyAxOS44MTgxIDI3LjI1NzIgMTkuNDYzOSAyNy42MDk1TDEyLjQyNjYgMzQuNjA3N0MxMS42OTE3IDM1LjMzODUgMTAuNTAzNSAzNS4zMzUyIDkuNzcyNjggMzQuNjAwM1oiIGZpbGw9IiMzQTQyRTkiLz4KPC9zdmc+Cg=="},"displayName":"Convert to File","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1235,"icon":"file:extractFromFile.svg","name":"n8n-nodes-base.extractFromFile","codex":{"data":{"alias":["CSV","Spreadsheet","Excel","xls","xlsx","ods","tabular","decode","decoding","Move Binary Data","Binary","File","PDF","JSON","HTML","ICS","iCal","txt","Text","RTF","XML","64","Base64","Convert"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.extractfromfile/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Files","Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Extract from File"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuOTM3NSAyQzAuNDE5NzMzIDIgMCAyLjQxOTczIDAgMi45Mzc1VjM3LjMyMjFDMCAzNy44Mzk5IDAuNDE5NzMzIDM4LjI1OTYgMC45Mzc1IDM4LjI1OTZIMjYuMjE1NEMyNi43MzMyIDM4LjI1OTYgMjcuMTUyOSAzNy44Mzk5IDI3LjE1MjkgMzcuMzIyMUwyNy4xNTI5IDMwLjY3MTlMMTYuNzk2OSAzMC42NzE5QzE0Ljg5ODQgMzAuNjcxOSAxMy4zNTk0IDI5LjEzMjkgMTMuMzU5NCAyNy4yMzQ0VjI1LjM1OTRDMTMuMzU5NCAyMy40NjA5IDE0Ljg5ODQgMjEuOTIxOSAxNi43OTY5IDIxLjkyMTlIMjcuMTUyOUwyNy4xNTI5IDE1Ljc4MjFIMTQuMzA4M0MxMy43OTA2IDE1Ljc4MjEgMTMuMzcwOCAxNS4zNjI0IDEzLjM3MDggMTQuODQ0NlYySDAuOTM3NVoiIGZpbGw9IiMzNTNGNkUiLz4KPHBhdGggZD0iTTE2LjAyNzEgMkMxNS45NDA4IDIgMTUuODcwOCAyLjA2OTk2IDE1Ljg3MDggMi4xNTYyNVYxMi44MTM0QzE1Ljg3MDggMTMuMDcyMyAxNi4wODA3IDEzLjI4MjEgMTYuMzM5NiAxMy4yODIxSDI2Ljk5NjdDMjcuMDgzIDEzLjI4MjEgMjcuMTUyOSAxMy4yMTIyIDI3LjE1MjkgMTMuMTI1OUwyNy4xNTI5IDEyLjYxNzFDMjcuMTUyOSAxMi4zNjg4IDI3LjA1NDUgMTIuMTMwNyAyNi44NzkxIDExLjk1NUwxNy4yMjI1IDIuMjc1MzhDMTcuMDQ2NiAyLjA5OTA4IDE2LjgwNzkgMiAxNi41NTg4IDJIMTYuMDI3MVoiIGZpbGw9IiMzNTNGNkUiLz4KPHBhdGggZD0iTTI5Ljc2NDIgMzQuNjUwM0MyOS4wMzQgMzMuOTE2IDI5LjAzNzQgMzIuNzI4OCAyOS43NzE2IDMxLjk5ODZMMzMuNjE5NyAyOC4xNzE5TDE2Ljc5NjkgMjguMTcxOUMxNi4yNzkxIDI4LjE3MTkgMTUuODU5NCAyNy43NTIxIDE1Ljg1OTQgMjcuMjM0NFYyNS4zNTk0QzE1Ljg1OTQgMjQuODQxNiAxNi4yNzkxIDI0LjQyMTkgMTYuNzk2OSAyNC40MjE5TDMzLjU0MTIgMjQuNDIxOUwyOS43NzE2IDIwLjY3MzNDMjkuMDM3NCAxOS45NDMxIDI5LjAzNCAxOC43NTU5IDI5Ljc2NDIgMTguMDIxNkMzMC40OTQ0IDE3LjI4NzQgMzEuNjgxNiAxNy4yODQgMzIuNDE1OSAxOC4wMTQyTDM5LjQ0NzEgMjUuMDA2NEMzOS44MDEgMjUuMzU4MyA0MCAyNS44MzY4IDQwIDI2LjMzNTlDNDAgMjYuODM1IDM5LjgwMSAyNy4zMTM1IDM5LjQ0NzEgMjcuNjY1NUwzMi40MTU5IDM0LjY1NzZDMzEuNjgxNiAzNS4zODc4IDMwLjQ5NDQgMzUuMzg0NSAyOS43NjQyIDM0LjY1MDNaIiBmaWxsPSIjMzUzRjZFIi8+Cjwvc3ZnPgo="},"displayName":"Extract from File","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1236,"icon":"file:aggregate.svg","name":"n8n-nodes-base.aggregate","codex":{"data":{"alias":["Aggregate","Combine","Flatten","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Aggregate"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjRkY2RDVBIiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMyIDE0OGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE0NmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJINDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTAgOTZjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxNDZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDQ0Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0wIDk2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTQ2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkg0NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik03NCA3NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDExNi4yMTdjMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMydjU2YzAgMjYuOTc4IDEwLjI3MiA1MS41NTcgMjcuMTE5IDcwLjAzOSA1LjA1NSA1LjU0NSA1LjA1NSAxNC4zNzcgMCAxOS45MjItMTYuODQ3IDE4LjQ4Mi0yNy4xMTkgNDMuMDYxLTI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMtMTQuMzI3IDMyLTMyIDMySDg2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTE2LjIxN2M0NC4xODMgMCA4MC0zNS44MTcgODAtODB2LTU2YzAtMzAuOTI4IDI1LjA3Mi01NiA1Ni01NmE1Ljc4MyA1Ljc4MyAwIDAgMCA1Ljc4My01Ljc4M3YtMzYuNDM0YTUuNzgzIDUuNzgzIDAgMCAwLTUuNzgzLTUuNzgzYy0zMC45MjggMC01Ni0yNS4wNzItNTYtNTZ2LTU2YzAtNDQuMTgzLTM1LjgxNy04MC04MC04MEg4NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNzYgMjQ0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzODhjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUxMnY1MTJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4="},"displayName":"Aggregate","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1238,"icon":"file:removeDuplicates.svg","name":"n8n-nodes-base.removeDuplicates","codex":{"data":{"alias":["Dedupe","Deduplicate","Duplicates","Remove","Unique","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.removeduplicates/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Remove Duplicates"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjNTRCOEM5IiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGQ9Ik0xMzQuMDk3IDExMWgzOC44Mjl2MzIuNTA4SDEzOC4xNnYzNC42MzVoLTMyLjUwOHYtMzguNjk5YzAtMTUuNzA5IDEyLjczNS0yOC40NDQgMjguNDQ1LTI4LjQ0NG03Ny42NTggMzIuNTA4VjExMWg3Ny42NTd2MzIuNTA4em0xMTYuNDg2IDBWMTExaDc3LjY1OHYzMi41MDh6bTExNi40ODcgMFYxMTFoMzguODI5YzE1LjcxIDAgMjguNDQ1IDEyLjczNSAyOC40NDUgMjguNDQ0djM4LjY5OWgtMzIuNTA4di0zNC42MzV6bTM0Ljc2NiA3My4yMzhoMzIuNTA4djM4LjY5OGMwIDE1LjcxLTEyLjczNSAyOC40NDUtMjguNDQ1IDI4LjQ0NWgtMzguODI5di0zMi41MDhoMzQuNzY2ek0wIDI0NC41MzdDMCAyMjkuMzI5IDEyLjczNSAyMTcgMjguNDQ0IDIxN2gzNDkuNDYxYzE1LjcwOSAwIDI4LjQ0NCAxMi4zMjkgMjguNDQ0IDI3LjUzN3YxMjkuODE1YzAgMTUuMjA4LTEyLjczNSAyNy41MzctMjguNDQ0IDI3LjUzN0gyOC40NDVDMTIuNzM0IDQwMS44ODkgMCAzODkuNTYgMCAzNzQuMzUyeiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoNTEydjUxMkgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg=="},"displayName":"Remove Duplicates","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1239,"icon":"file:splitOut.svg","name":"n8n-nodes-base.splitOut","codex":{"data":{"alias":["Split","Nested","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitout/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Split Out"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjOUI2REQ1IiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQ4MCAxNDhjMC02LjYyNy01LjM3My0xMi0xMi0xMkgzMjJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxNDZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptMCA5NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDMyMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDE0NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0wIDk2YzAtNi42MjctNS4zNzMtMTItMTItMTJIMzIyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTQ2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDM4IDc2YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMydjU2YzAgMjYuOTc4LTEwLjI3MiA1MS41NTctMjcuMTE5IDcwLjAzOS01LjA1NSA1LjU0NS01LjA1NSAxNC4zNzcgMCAxOS45MjIgMTYuODQ3IDE4LjQ4MiAyNy4xMTkgNDMuMDYxIDI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMySDQyNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtNDQuMTgzIDAtODAtMzUuODE3LTgwLTgwdi01NmMwLTMwLjkyOC0yNS4wNzItNTYtNTYtNTZhNS43ODMgNS43ODMgMCAwIDEtNS43ODMtNS43ODN2LTM2LjQzNGE1Ljc4MyA1Ljc4MyAwIDAgMSA1Ljc4My01Ljc4M2MzMC45MjggMCA1Ni0yNS4wNzIgNTYtNTZ2LTU2YzAtNDQuMTgzIDM1LjgxNy04MCA4MC04MEg0MjZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzYgMjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01MTIgMEgwdjUxMmg1MTJ6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+"},"displayName":"Split Out","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1240,"icon":"file:sort.svg","name":"n8n-nodes-base.sort","codex":{"data":{"alias":["Sort","Order","Transform","Array","List","Item","Random"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.sort/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Sort"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjODI4N0VCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzAuNSA0MjIuNWMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMzUxYzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMjRjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYzNTFjMCA2LjYyNy01LjM3MyAxMi0xMiAxMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiM4Mjg3RUIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTM2LjA3NyAzMzMuNDgyYzkuMzk4LTkuMzQ2IDI0LjU5NC05LjMwNCAzMy45NC4wOTVsNzIuNDgzIDcyLjg4NyA3Mi40ODItNzIuODg3YzkuMzQ3LTkuMzk5IDI0LjU0My05LjQ0MSAzMy45NDEtLjA5NXM5LjQ0MSAyNC41NDMuMDk1IDMzLjk0MWwtODkuNSA5MGEyNCAyNCAwIDAgMS0zNC4wMzYgMGwtODkuNS05MGMtOS4zNDYtOS4zOTgtOS4zMDQtMjQuNTk0LjA5NS0zMy45NDFNMzgxLjUgODkuNWM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjM1MWMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC0yNGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMzUxYzAtNi42MjcgNS4zNzMtMTIgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjODI4N0VCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00NzUuOTIzIDE3OC41MThjLTkuMzk4IDkuMzQ2LTI0LjU5NCA5LjMwNC0zMy45NDEtLjA5NUwzNjkuNSAxMDUuNTM2bC03Mi40ODIgNzIuODg3Yy05LjM0NyA5LjM5OS0yNC41NDMgOS40NDEtMzMuOTQxLjA5NXMtOS40NDEtMjQuNTQzLS4wOTUtMzMuOTQxbDg5LjUtOTBhMjQgMjQgMCAwIDEgMzQuMDM2IDBsODkuNSA5MGM5LjM0NiA5LjM5OCA5LjMwNCAyNC41OTQtLjA5NSAzMy45NDEiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg=="},"displayName":"Sort","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1315,"icon":"fa:table","name":"n8n-nodes-base.dataTable","codex":{"data":{"alias":["data","table","knowledge","data table","table","sheet","database","data base","mysql","postgres","postgresql","airtable","supabase","noco","notion"],"details":"Data table","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.datatable/"}]},"categories":["Core Nodes","Development"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\",\"transform\"]","defaults":{"name":"Data table"},"iconData":{"icon":"table","type":"icon"},"displayName":"Data table","typeVersion":1,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":16,"name":"DevOps"}],"image":[{"id":4265,"url":"https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/image_8d02e8cf1d.png"},{"id":4266,"url":"https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/image_4484f20f03.png"},{"id":4267,"url":"https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/image_6cd1a899fc.png"},{"id":4268,"url":"https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/image_d06cb622ed.png"}]}}