Execute multiple paths of nodes connected to a webhook in parallel

,

Describe the problem/error/question

I need 2 or more nodes connected to the webhook to all execute in parallel. In testing, it appears they execute once the previous nodes finish.

So current behavior is A1 → A2. Wait for A2 to finish executing an external workflow. This takes about 2 seconds end to end based on what the external workflow is doing. Then B1 → B2.

The behaviors I want is C1 → C2. This needs to scale to have 2 or more C1 → C2 all happening in parallel.

What is the error message (if any)? None

Please share your workflow

Share the output returned by the last node

n/a

Information on your n8n setup

  • n8n version: 1.18
  • Database (default: SQLite): n/a
  • n8n EXECUTIONS_PROCESS setting (default: own, main): n/a
  • Running n8n via (Docker, npm, n8n cloud, desktop app): cloud
  • Operating system: windows 10/chrome

Hey @ManOnFire1978,

We don’t currently nodes in parallel so each one needs to finish before the next one will start. I think there is a feature request for this sort of functionality but at the moment the way some users get around it is to use webhook triggers that reply instantly and then use the http request node to call them. While this won’t be in parallel still B will run a lot sooner as it doesn’t need to wait for A2 to finish.

Thanks for response @Jon. How do I plus 1 to this feature request?

So I’m interpreting that in the actual external workflow that has all my code functionality I need executed multiple times, instead of using ‘Execute Workflow Trigger’ node, go back to the normal ‘Webhook’ node which has an HTTP endpoint for the webhook. Then in the workflow I’m used to multiplex, pictured earlier and refined here, I can use my set node to adjust unique settings sent to an HTTP Post node that pushes out to the external Workflow itself. Like pictured here?

If I don’t have this right, if you have a better representation of what this looks like in a picture or a link to a sample that would be appreciated

Thank you

Okay, it works. I tested A and B, and they both executed within the same second. I’ve since disabled B.

Did notice however that the body object became 2 levels deep, so had to adjust downstream from $json.body.item to $json.body.body.item, before flattening that back with an item list node.

Good stuff either way! Thanks @Jon!

2 Likes

Nice that looks you are away :slight_smile:

I will see if I can find the feature request and tag you in it for the vote.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.