Workflow: Zip multiple files
Integrations: code, compression, executeWorkflowTrigger, set, stickyNote, stopAndError

{"id": "r3qHlCVCczqTw3pP", "meta": {"instanceId": "workflow-43c58d0c", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:43.870387", "updatedAt": "2025-09-29T07:07:43.870403", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production"}, "name": "Zip multiple files", "tags": ["automation", "n8n", "production-ready", "excellent", "optimized"], "nodes": [{"id": "8de50ed2-b298-4701-8747-f6c7158fa15f", "name": "Execute Workflow Trigger", "type": "n8n-nodes-base.executeWorkflowTrigger", "position": [0, 0], "parameters": {}, "typeVersion": 1, "notes": "This executeWorkflowTrigger node performs automated tasks as part of the workflow."}, {"id": "5e03dfdd-696e-4a04-99e9-4094ae4371ac", "name": "Compression", "type": "n8n-nodes-base.compression", "position": [460, 0], "parameters": {"fileName": "=data{{$now.format('yyyy-MM-dd-tt')}}.zip", "operation": "compress", "binaryPropertyName": "={{ $json.binary_keys }}"}, "typeVersion": 1.1, "notes": "This compression node performs automated tasks as part of the workflow."}, {"id": "e25abf55-fb05-47d0-ba65-9b4e2f08d856", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [-340, -100], "parameters": {"height": 360, "content": "## About\nUse me as modular workflow. Instead of building me fixed in your workflow. Just call me when you need me.\n\n\n## Input\nInput can be multiple files \n-imgaes\n-pdfs\n-xlsx,csv....\n\n## Output\nSingle zip file"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "db7b6475-25b5-44de-b37e-70b75c91455e", "name": "Prepare Output", "type": "n8n-nodes-base.set", "position": [680, 0], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "b0c3c3db-584a-48c9-b0ca-7f527d35f5a4", "name": "fileName", "type": "string", "value": "={{ $binary.data.fileName.replaceAll(\" \",\"\") }}"}]}, "includeOtherFields": true}, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow."}, {"id": "6cf6b9ba-e5a3-4d5f-a539-e84d839f7e99", "name": "Code Magic", "type": "n8n-nodes-base.code", "position": [240, 0], "parameters": {"jsCode": "let binaries = {}, binary_keys = [];\n\nfor (const [index, inputItem] of Object.entries($input.all())) {\n  binaries[`data_${index}`] = inputItem.binary.data;\n  binary_keys.push(`data_${index}`);\n}\n\nreturn [{\n    json: {\n        binary_keys: binary_keys.join(',')\n    },\n    binary: binaries\n}];\n"}, "typeVersion": 2, "notes": "This code node performs automated tasks as part of the workflow."}, {"id": "error-e1e6306a", "name": "Error Handler", "type": "n8n-nodes-base.stopAndError", "typeVersion": 1, "position": [1000, 400], "parameters": {"message": "Workflow execution error", "options": {}}}], "active": false, "pinData": {}, "settings": {"executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000}, "versionId": "16f64706-0a2a-4f9f-a96f-f149a4874ae4", "connections": {}, "description": "Automated workflow: Zip multiple files. This workflow integrates 5 different services: stickyNote, code, compression, set, executeWorkflowTrigger. It contains 5 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: Zip multiple files. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}