{"name":"Prevent concurrent workflow runs using Redis","nodes":[{"id":"e0729c93-e192-42fb-9ba0-c465d5a38089","name":"When Executed by Another Workflow","type":"n8n-nodes-base.executeWorkflowTrigger","position":[-60,720],"parameters":{"workflowInputs":{"values":[{"name":"action"},{"name":"value"},{"name":"key"},{"name":"timeout"}]}},"typeVersion":1.1,"notes":"This executeWorkflowTrigger node performs automated tasks as part of the workflow."},{"id":"caee6ecf-76ee-4014-8e85-a2463dcbba86","name":"Switch","type":"n8n-nodes-base.switch","position":[380,720],"parameters":{"rules":{"values":[{"outputKey":"YOUR_CREDENTIAL_HERE","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"97af18cf-bcf5-4b86-86fd-1ee82e9adba9","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.action }}","rightValue":"get"}]},"renameOutput":true},{"outputKey":"YOUR_CREDENTIAL_HERE","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"439b4586-bd92-40b7-afbc-9e651032b390","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.action }}","rightValue":"set"}]},"renameOutput":true},{"outputKey":"YOUR_CREDENTIAL_HERE","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"56457547-42b6-4e0a-8d1e-cb953f3d6a9d","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.action }}","rightValue":"unset"}]},"renameOutput":true}]},"options":{}},"typeVersion":3.2,"notes":"This switch node performs automated tasks as part of the workflow."},{"id":"7427686e-6e17-45d2-b79d-cbf22ce2a839","name":"When clicking ‘Test workflow’","type":"n8n-nodes-base.manualTrigger","position":[-700,1260],"parameters":{},"typeVersion":1,"notes":"This manualTrigger node performs automated tasks as part of the workflow."},{"id":"922a8778-b800-4fc8-8da9-de3077289fda","name":"If2","type":"n8n-nodes-base.if","position":[420,220],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"210ed6f8-0b42-4382-9f42-1deb14cab551","operator":{"type":"string","operation":"empty","singleValue":true},"leftValue":"={{ $json.output }}","rightValue":"[null]"}]}},"typeVersion":2.2,"notes":"This if node performs automated tasks as part of the workflow."},{"id":"3422b389-6f3f-4ff4-8170-48eb284a34ce","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-120,-20],"parameters":{"width":860,"height":420,"content":"## Check if working\nWill output status if something is going on.\n\nInputs:\n- action -> \"get\"\n- key -> a string used for tracking\n\n* Remove unused inputs when calling workflow *"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"78a21b91-d11c-4c85-814a-9074cce64383","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[780,-20],"parameters":{"width":1080,"height":420,"content":"## Set workflow start\n\nInputs:\n- action -> \"set\"\n- key -> a string used for tracking\n- value -> \"working\" by default but you can use whatever, you can use this multiple times in combination with get to track progress of a execution.\n\n* Remove unused inputs when calling workflow *"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"c200a3f4-df46-44a4-8747-180d3df841ab","name":"Is Workflow Active","type":"n8n-nodes-base.executeWorkflow","position":[200,220],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"Fx8Ov5MblG2cmRWR","cachedResultName":"template - cocurrent workflow"},"workflowInputs":{"value":{"key":"YOUR_CREDENTIAL_HERE","action":"get"},"schema":[{"id":"action","type":"string","display":true,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true},{"id":"value","type":"string","display":true,"removed":true,"required":false,"displayName":"value","defaultMatch":false,"canBeUsedToMatch":true},{"id":"key","type":"string","display":true,"required":false,"displayName":"key","defaultMatch":false,"canBeUsedToMatch":true},{"id":"timeout","type":"string","display":true,"removed":true,"required":false,"displayName":"timeout","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"e56202e7-5227-4002-9d92-861cf76f1840","name":"Set Workflow Active","type":"n8n-nodes-base.executeWorkflow","position":[1360,220],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"Fx8Ov5MblG2cmRWR","cachedResultName":"template - cocurrent workflow"},"workflowInputs":{"value":{"key":"YOUR_CREDENTIAL_HERE","value":"working","action":"set"},"schema":[{"id":"action","type":"string","display":true,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true},{"id":"value","type":"string","display":true,"required":false,"displayName":"value","defaultMatch":false,"canBeUsedToMatch":true},{"id":"key","type":"string","display":true,"required":false,"displayName":"key","defaultMatch":false,"canBeUsedToMatch":true},{"id":"timeout","type":"string","display":true,"removed":true,"required":false,"displayName":"timeout","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"2324d74c-b519-462b-af5c-13aa9e02ef88","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1040,440],"parameters":{"width":820,"height":640,"content":"## Set workflow end\nThis mark workflow end by unsetting the key.\n\nInputs:\n- action -> \"unset\"\n- key -> a string used for tracking\n\n* Remove unused inputs when calling workflow *"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"cfa05881-6b6d-474f-8b5b-9ca1ea4b68dc","name":"Set Workflow Finished","type":"n8n-nodes-base.executeWorkflow","position":[1420,780],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"Fx8Ov5MblG2cmRWR","cachedResultName":"template - cocurrent workflow"},"workflowInputs":{"value":{"key":"YOUR_CREDENTIAL_HERE","action":"unset"},"schema":[{"id":"action","type":"string","display":true,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true},{"id":"value","type":"string","display":true,"removed":true,"required":false,"displayName":"value","defaultMatch":false,"canBeUsedToMatch":true},{"id":"key","type":"string","display":true,"required":false,"displayName":"key","defaultMatch":false,"canBeUsedToMatch":true},{"id":"timeout","type":"string","display":true,"removed":true,"required":false,"displayName":"timeout","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"33b00dc4-ae18-49e3-9566-592cba18874c","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-120,440],"parameters":{"color":3,"width":1120,"height":640,"content":"## Redis logic\n\nModify Set Timeout to adjust timeout (in seconds)\n\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"5a659a3b-87e9-4652-91e2-11e8742dbf62","name":"Get Key","type":"n8n-nodes-base.redis","position":[600,520],"parameters":{"key":"YOUR_CREDENTIAL_HERE","options":{},"operation":"get","propertyName":"=output"},"credentials":{"redis":{"id":"Z86e3zGaVJ8EUt7c","name":"Redis account"}},"typeVersion":1,"notes":"This redis node performs automated tasks as part of the workflow."},{"id":"494155e9-8461-462c-a441-7eca4385c0b6","name":"Set Key","type":"n8n-nodes-base.redis","position":[600,720],"parameters":{"key":"YOUR_CREDENTIAL_HERE","ttl":"={{ $json.timeout }}","value":"={{ $json.value }}","expire":true,"operation":"set"},"credentials":{"redis":{"id":"Z86e3zGaVJ8EUt7c","name":"Redis account"}},"typeVersion":1,"notes":"This redis node performs automated tasks as part of the workflow."},{"id":"a692e5a3-d781-4293-8d82-2a63ef771d27","name":"UnSet Key","type":"n8n-nodes-base.redis","position":[600,920],"parameters":{"key":"YOUR_CREDENTIAL_HERE","operation":"delete"},"credentials":{"redis":{"id":"Z86e3zGaVJ8EUt7c","name":"Redis account"}},"typeVersion":1,"notes":"This redis node performs automated tasks as part of the workflow."},{"id":"ce67d06c-1778-4783-b739-2bdc79ec341e","name":"Set Timeout","type":"n8n-nodes-base.set","position":[160,720],"parameters":{"options":{},"assignments":{"assignments":[{"id":"ec322ae8-d486-4c8e-a175-3b908054ded9","name":"timeout","type":"number","value":600}]},"includeOtherFields":true},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"afda543f-247d-4286-ba65-b0f4c4b3b747","name":"set continue","type":"n8n-nodes-base.set","position":[820,720],"parameters":{"options":{},"assignments":{"assignments":[{"id":"ae33a17b-8db0-47bc-85fc-4fde4be335de","name":"ok","type":"string","value":"true"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"1c026eab-dc40-48dd-972d-dee7f6c0f05b","name":"If Node","type":"n8n-nodes-base.if","position":[340,1360],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"210ed6f8-0b42-4382-9f42-1deb14cab551","operator":{"type":"string","operation":"empty","singleValue":true},"leftValue":"={{ $json.output }}","rightValue":"[null]"}]}},"typeVersion":2.2,"notes":"This if node performs automated tasks as part of the workflow."},{"id":"b603bad0-7f89-429d-a373-37d52ed11a04","name":"Is Workflow Active1","type":"n8n-nodes-base.executeWorkflow","position":[120,1360],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"Fx8Ov5MblG2cmRWR","cachedResultName":"template - cocurrent workflow"},"workflowInputs":{"value":{"key":"YOUR_CREDENTIAL_HERE","action":"get"},"schema":[{"id":"action","type":"string","display":true,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true},{"id":"value","type":"string","display":true,"removed":true,"required":false,"displayName":"value","defaultMatch":false,"canBeUsedToMatch":true},{"id":"key","type":"string","display":true,"required":false,"displayName":"key","defaultMatch":false,"canBeUsedToMatch":true},{"id":"timeout","type":"string","display":true,"removed":true,"required":false,"displayName":"timeout","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"e73d4271-1844-4b34-9e9b-a2154c3c27ee","name":"Stop and Error","type":"n8n-nodes-base.stopAndError","position":[620,1460],"parameters":{"errorMessage":"Already Executing"},"typeVersion":1,"notes":"This stopAndError node performs automated tasks as part of the workflow."},{"id":"5307c6f7-7533-4f22-ab1a-a324ba2c9836","name":"No Operation, do nothing","type":"n8n-nodes-base.noOp","position":[840,1260],"parameters":{},"typeVersion":1,"notes":"This noOp node performs automated tasks as part of the workflow."},{"id":"201ffd2d-0c4f-417a-9a82-5035e1530be7","name":"Set Workflow Active1","type":"n8n-nodes-base.executeWorkflow","position":[620,1260],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"Fx8Ov5MblG2cmRWR","cachedResultName":"template - cocurrent workflow"},"workflowInputs":{"value":{"key":"YOUR_CREDENTIAL_HERE","value":"working","action":"set"},"schema":[{"id":"action","type":"string","display":true,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true},{"id":"value","type":"string","display":true,"required":false,"displayName":"value","defaultMatch":false,"canBeUsedToMatch":true},{"id":"key","type":"string","display":true,"required":false,"displayName":"key","defaultMatch":false,"canBeUsedToMatch":true},{"id":"timeout","type":"string","display":true,"removed":true,"required":false,"displayName":"timeout","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"71969764-4a75-44b6-a7da-969d8ab73686","name":"Set Workflow Finished1","type":"n8n-nodes-base.executeWorkflow","position":[1560,1260],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"Fx8Ov5MblG2cmRWR","cachedResultName":"template - cocurrent workflow"},"workflowInputs":{"value":{"key":"YOUR_CREDENTIAL_HERE","action":"unset"},"schema":[{"id":"action","type":"string","display":true,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true},{"id":"value","type":"string","display":true,"removed":true,"required":false,"displayName":"value","defaultMatch":false,"canBeUsedToMatch":true},{"id":"key","type":"string","display":true,"required":false,"displayName":"key","defaultMatch":false,"canBeUsedToMatch":true},{"id":"timeout","type":"string","display":true,"removed":true,"required":false,"displayName":"timeout","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"be5729c1-c867-4364-a406-ccbb4b829de6","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[760,1160],"parameters":{"color":7,"width":740,"height":260,"content":"## Your logic that takes time\nIf a process is ran at the same moment, it will raise a error"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"1d16d72c-0678-4808-8f7d-e7a6e7a20497","name":"Wait","type":"n8n-nodes-base.wait","position":[1060,1260],"webhookId":"e87487db-c8b2-44e2-8d90-0ed189a8116b","parameters":{},"typeVersion":1.1,"notes":"This wait node performs automated tasks as part of the workflow."},{"id":"ddfbb5c1-6632-423f-9a0a-0e18497d4c3b","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-120,1120],"parameters":{"color":4,"width":1980,"height":500,"content":"## Example 1"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"ce9d5b6d-0353-46b9-bee4-84c977bca8de","name":"If1","type":"n8n-nodes-base.if","position":[180,1920],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"210ed6f8-0b42-4382-9f42-1deb14cab551","operator":{"type":"string","operation":"empty","singleValue":true},"leftValue":"={{ $json.output }}","rightValue":"[null]"}]}},"typeVersion":2.2,"notes":"This if node performs automated tasks as part of the workflow."},{"id":"1e1bc1cc-5f95-4a1c-892a-90303745bb53","name":"Is Workflow Active2","type":"n8n-nodes-base.executeWorkflow","position":[-20,1920],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"Fx8Ov5MblG2cmRWR","cachedResultName":"template - cocurrent workflow"},"workflowInputs":{"value":{"key":"YOUR_CREDENTIAL_HERE","action":"get"},"schema":[{"id":"action","type":"string","display":true,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true},{"id":"value","type":"string","display":true,"removed":true,"required":false,"displayName":"value","defaultMatch":false,"canBeUsedToMatch":true},{"id":"key","type":"string","display":true,"required":false,"displayName":"key","defaultMatch":false,"canBeUsedToMatch":true},{"id":"timeout","type":"string","display":true,"removed":true,"required":false,"displayName":"timeout","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"95699b33-61b7-4c3e-8bf9-c716456a387d","name":"Stop and Error1","type":"n8n-nodes-base.stopAndError","position":[480,2020],"parameters":{"errorMessage":"Already Executing"},"typeVersion":1,"notes":"This stopAndError node performs automated tasks as part of the workflow."},{"id":"c8388974-e355-43dd-8d54-f3213998257f","name":"Set Workflow Finished2","type":"n8n-nodes-base.executeWorkflow","position":[1720,1820],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"Fx8Ov5MblG2cmRWR","cachedResultName":"template - cocurrent workflow"},"workflowInputs":{"value":{"key":"YOUR_CREDENTIAL_HERE","action":"unset"},"schema":[{"id":"action","type":"string","display":true,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true},{"id":"value","type":"string","display":true,"removed":true,"required":false,"displayName":"value","defaultMatch":false,"canBeUsedToMatch":true},{"id":"key","type":"string","display":true,"required":false,"displayName":"key","defaultMatch":false,"canBeUsedToMatch":true},{"id":"timeout","type":"string","display":true,"removed":true,"required":false,"displayName":"timeout","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"6465bf4b-f17d-47c7-a547-a24d4e1cb6a1","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[420,1720],"parameters":{"color":7,"width":380,"height":260,"content":"## Process step 2"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"92d8920c-a267-4306-8a16-3a77de1a1399","name":"Wait1","type":"n8n-nodes-base.wait","position":[660,1820],"webhookId":"e87487db-c8b2-44e2-8d90-0ed189a8116b","parameters":{},"typeVersion":1.1,"notes":"This wait node performs automated tasks as part of the workflow."},{"id":"3ac2a634-6eed-4909-aa24-baf606a90bd8","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[-120,1680],"parameters":{"color":4,"width":1980,"height":1120,"content":"## Example 2\nTrack progress\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"499e79d9-6553-42c0-ade6-168dc24f5486","name":"Wait2","type":"n8n-nodes-base.wait","position":[1080,1820],"webhookId":"e87487db-c8b2-44e2-8d90-0ed189a8116b","parameters":{},"typeVersion":1.1,"notes":"This wait node performs automated tasks as part of the workflow."},{"id":"91c07ab3-68fc-4a2b-8829-f0b12759e861","name":"Wait3","type":"n8n-nodes-base.wait","position":[1500,1820],"webhookId":"e87487db-c8b2-44e2-8d90-0ed189a8116b","parameters":{},"typeVersion":1.1,"notes":"This wait node performs automated tasks as part of the workflow."},{"id":"725a0e54-5c5b-447f-af1f-1a77ac4f9fd4","name":"Set Workflow \"started\"","type":"n8n-nodes-base.executeWorkflow","position":[480,1820],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"Fx8Ov5MblG2cmRWR","cachedResultName":"template - cocurrent workflow"},"workflowInputs":{"value":{"key":"YOUR_CREDENTIAL_HERE","value":"started","action":"set"},"schema":[{"id":"action","type":"string","display":true,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true},{"id":"value","type":"string","display":true,"required":false,"displayName":"value","defaultMatch":false,"canBeUsedToMatch":true},{"id":"key","type":"string","display":true,"required":false,"displayName":"key","defaultMatch":false,"canBeUsedToMatch":true},{"id":"timeout","type":"string","display":true,"removed":true,"required":false,"displayName":"timeout","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"17c92181-e9ed-4431-938e-49a5b75f761d","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[840,1720],"parameters":{"color":7,"width":380,"height":260,"content":"## Process step 2\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"765177ce-5f13-4144-be26-cc532a27cc7c","name":"Sticky Note9","type":"n8n-nodes-base.stickyNote","position":[1260,1720],"parameters":{"color":7,"width":380,"height":260,"content":"## Process step 3"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"a84cebe2-57af-4983-b5b5-e33afc478f46","name":"Set Workflow \"finishing\"","type":"n8n-nodes-base.executeWorkflow","position":[1320,1820],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"Fx8Ov5MblG2cmRWR","cachedResultName":"template - cocurrent workflow"},"workflowInputs":{"value":{"key":"YOUR_CREDENTIAL_HERE","value":"finishing","action":"set"},"schema":[{"id":"action","type":"string","display":true,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true},{"id":"value","type":"string","display":true,"required":false,"displayName":"value","defaultMatch":false,"canBeUsedToMatch":true},{"id":"key","type":"string","display":true,"required":false,"displayName":"key","defaultMatch":false,"canBeUsedToMatch":true},{"id":"timeout","type":"string","display":true,"removed":true,"required":false,"displayName":"timeout","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"d5cbfac4-847a-4655-93fd-481127dc8a1c","name":"Set Workflow \"loading\"","type":"n8n-nodes-base.executeWorkflow","position":[900,1820],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"Fx8Ov5MblG2cmRWR","cachedResultName":"template - cocurrent workflow"},"workflowInputs":{"value":{"key":"YOUR_CREDENTIAL_HERE","value":"loading","action":"set"},"schema":[{"id":"action","type":"string","display":true,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true},{"id":"value","type":"string","display":true,"required":false,"displayName":"value","defaultMatch":false,"canBeUsedToMatch":true},{"id":"key","type":"string","display":true,"required":false,"displayName":"key","defaultMatch":false,"canBeUsedToMatch":true},{"id":"timeout","type":"string","display":true,"removed":true,"required":false,"displayName":"timeout","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"cd70a02f-e95c-4bda-9b89-50a20600787c","name":"Is Workflow Active3","type":"n8n-nodes-base.executeWorkflow","position":[40,2400],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"Fx8Ov5MblG2cmRWR","cachedResultName":"template - cocurrent workflow"},"workflowInputs":{"value":{"key":"YOUR_CREDENTIAL_HERE","action":"get"},"schema":[{"id":"action","type":"string","display":true,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true},{"id":"value","type":"string","display":true,"removed":true,"required":false,"displayName":"value","defaultMatch":false,"canBeUsedToMatch":true},{"id":"key","type":"string","display":true,"required":false,"displayName":"key","defaultMatch":false,"canBeUsedToMatch":true},{"id":"timeout","type":"string","display":true,"removed":true,"required":false,"displayName":"timeout","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"6e2578e3-05e0-47fd-94da-77f32612b01c","name":"Switch1","type":"n8n-nodes-base.switch","position":[260,2380],"parameters":{"rules":{"values":[{"outputKey":"YOUR_CREDENTIAL_HERE","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"e4bb7e4f-2f4a-419c-8618-e4fa01afc472","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output }}","rightValue":"started"}]},"renameOutput":true},{"outputKey":"YOUR_CREDENTIAL_HERE","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"4c621e66-a4fe-45be-9d8a-4a2b180e94e7","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.output }}","rightValue":"loading"}]},"renameOutput":true},{"outputKey":"YOUR_CREDENTIAL_HERE","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"5b373ed7-550e-4d9c-b2cf-838ca08435ff","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.output }}","rightValue":"finished"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra"}},"typeVersion":3.2,"notes":"This switch node performs automated tasks as part of the workflow."},{"id":"9403b00f-f6d5-47d4-b06f-8e0c7c39ed5b","name":"Sticky Note10","type":"n8n-nodes-base.stickyNote","position":[0,2280],"parameters":{"color":7,"width":660,"height":340,"content":"## Check status of execution\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"c3639987-57e6-484a-9094-7f8e99493954","name":"Sticky Note11","type":"n8n-nodes-base.stickyNote","position":[-800,1140],"parameters":{"color":5,"width":400,"height":320,"content":"## Connect this anywhere to test !"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"error-110d7d3e","name":"Error Handler","type":"n8n-nodes-base.stopAndError","typeVersion":1,"position":[1000,400],"parameters":{"message":"Workflow execution error","options":{}}}],"connections":{},"settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"description":"Automated workflow: Prevent concurrent workflow runs using Redis. This workflow integrates 11 different services: stickyNote, wait, switch, redis, set. It contains 43 nodes and follows best practices for error handling and security.","meta":{"instanceId":"workflow-13231180","versionId":"1.0.0","createdAt":"2025-09-29T07:07:55.423284","updatedAt":"2025-09-29T07:07:55.423302","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"notes":"Excellent quality workflow: Prevent concurrent workflow runs using Redis. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}