Wait on multiple parallel external processes (i.e. Multiple items into a WaitOnWebhook node)

I’d like to do something like this:

A → B [3 items] → TriggerExternalProces [3 items] → WaitOnWebhook [3 items] → C [3 items]

That is, I want to start 3 external processes, and as each one finishes and notifies the WaitOnWebhook, each item will continue to process through node C.

  1. What is the intended behavior of Wait (on Webhook) when the node receives multiple items?
  2. It seems there is only one resumeUrl, and we can’t distinguish each with a “Webhook Suffix” because the suffix is fixed and can not be an expression.
  3. Additionally, I may have this wrong, but it seems like even if I manually branch and start 3 separate Webhook nodes with different fixed suffixes, the Waits are executed sequentially. That is a problem because the 3 webhook calls might come back in any order. (Note: each sub-process takes 5 to 10 minutes, so I want to execute them in parallel).

Any suggestions on how I can approach a use case like this with n8n?

1 Like

Do you in fact have 3 items or in fact it’s an arbitrary number of items, which you reduced to 3 to make this case?

Arbitrary, but it’s a low number. 2, 3, 4-ish.

Is it acceptable to do them synchronously and not in parallel?

                                    |-> (done) -> C                          
A -> B [3 items] -> Loop Over Items |-> (loop) -> Trigger external |
                  ^------------------------------------------------v

Thanks. I had considered the loop, but the serial execution is a problem because each one takes 5 to 10 minutes. That quickly exceeds our intended response time.

Marc

Every time this issue comes up, it’s the same basic need: triggers n sub workflows and waiting on responses from each in any order (since they may vary in execution time). It’s a fundamental requirement at this point.