Describe the problem/error/question
I have a workflow that is meant to be a sub workflow only. It does not process any input and uses its parent workflow solely as a trigger.
The sub workflow is set up so that it always returns output. The parent workflow then uses this output to perform further actions.
If I execute the sub workflow manually (in its own editor), it works as expected. However, since updating to v1 the parent workflow does not get any output data back from the sub workflow. Is this a bug or has the data processing behavior of Execute Workflow Triggers changed?
I have tested changing the execution order (both parent and sub), but without success.
What is the error message (if any)?
No output data returned
Please share your workflow
Information on your n8n setup
- n8n version: 1.1.1
- Database (default: SQLite): PostgreSQL (different Docker container)
- n8n EXECUTIONS_PROCESS setting (default: own, main): default
- Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
- Operating system:
What does the execution log look like for the sub workflow that may help show where the issue is.
The execution log for the sub workflow shows no errors. However it looks like both of the last merge nodes seem to get triggered although just one node gets both inputs. I assume the merge node which executes with incomplete data is the very last node (and therefore the final sub workflow output is empty).
How can I prevent this merge node from executing if only one input is available?
That looks like you got it, So the merge node hasn’t executed but because you have sent it some data it is expecting there to be more. You would need to rebuild your workflow to take this into consideration.
This is probably the change and has a temporary solution where you can change the execution order which might help: n8n v1.0 migration guide | n8n Docs
Since changing the execution order didn’t solve this I have adjusted the workflow based on your information about the merge node and it seems to work now. Thanks for the hint!
Just to get this right: merge nodes in multiplex mode always execute, even when one input is missing?
They don’t execute if they did the workflow would have ended
Instead they expect the data so that they can execute and if they don’t get any data the workflow will stop with no output.
I see. Thanks for the clarification.
Bonus question: Is there a way to make the whole workflow execution stop when the last node in a specific branch outputs a certain value?
You could use an if node then a stop and error if you wanted to stop a workflow on a value
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.