Hey, I have 4 workflows that all do separate tasks and the outputs at the end need to be combined into a single document in a specific order. What is the best way to get all 4 outputs combined in order?
Thanks!
Normally you would have one master workflow which contains 4 Execute Workflow nodes. The output of those nodes would then be combined via Merge Nodes.
It seems as though each execute workflow node waits for the last one to finish before executing. Is there a way to have them run in parallel?
No, that is sadly not possible.
If you want them to execute in parallel you would have to:
The 4 workflows that get called have to get changed to start by Webhook-Nodes
The master workflow:
- needs 4 items (easiest to do that via the Code-Node) - one for each Webhook-Node URL
- set those URLs via an Expression on an HTTP Request node
- configure “Batching” on the HTTP Request node
It will then call all the URLs at the same time and will so execute them in parallel. Once all gave a response (so finished) it will then continue with the workflow and you can combine the data.
Thanks.
I have been trying to set up an HTTP node to send a webhook, but for some reason it doesnt want to communicate. Below is a screenshot of the HTTP (left) and the Webhook trigger (right) in the other workflow. I think it is something with the URL that I am using, even though it is copy/pasted from the webhook trigger, because I can put another URL in there and it will detect the webhook. Is it my domain? Do I need to use some localhost URL?
You have to make sure to:
- use the production URL
- activate the workflow
- use the same Method in Webhook & HTTP Request Node (GET or POST)
Have the production URL. Both workflows are active. Used GET in both, also used POST in both and tried GET in one and POST in another. No combo seems to work.
Seems to be giving a rejected/ETIMEDOUT error.
{“status”:“rejected”,“reason”:{“message”:“connect ETIMEDOUT 137.184.166.237:443”,“name”:“Error”,“stack”:“Error: connect ETIMEDOUT 137.184.166.237:443\n at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1278:16)\n at TCPConnectWrap.callbackTrampoline (node:internal/async_hooks:130:17)”,“config”:{“url”:“https://n8n.marketersaas.com/webhook/eadb405e-b174-4515-abdb-5f2fd58be9bf",“method”:“get”,“data”:“{\“Test\”:\“bubbles\”}”,“headers”:{“Accept”:"application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, /;q=0.7”,“Content-Type”:“application/json”,“User-Agent”:“axios/0.21.4”,“Content-Length”:18},“transformRequest”:[null],“timeout”:3600000,“responseType”:“stream”,“xsrfCookieName”:“XSRF-TOKEN”,“xsrfHeaderName”:“X-XSRF-TOKEN”,“maxContentLength”:null,“maxBodyLength”:null,“transitional”:{“silentJSONParsing”:true,“forcedJSONParsing”:true,“clarifyTimeoutError”:false},“axios-retry”:{“retryCount”:0,“lastRequestTime”:1683821344810}},“code”:“ETIMEDOUT”}}
Currently on n8n Version: 0.224.4
Regarding the methods. The only combination that will work is if either both are “GET” or both are “POST”. If they are different it will not work for sure.
In that case I am currently sadly out of ideas. I would then expect that it is maybe some deployment configuration issues that n8n can not reach itself via the public URL. You could also try the URL:
http://localhost:5678/webhook/eadb405e-b174-4515-abdb-5f2fd58be9bf
or
http://127.0.0.1:5678/webhook/eadb405e-b174-4515-abdb-5f2fd58be9bf
If not, I would recommend you to either try to find a DevOps expert to check your setup or use our cloud offering.