Please read the following detailed conversation I had with the AI assistant as my trouble will become self evident and the assisstant recognized it might be bug in n8n, please help me out with an idea of how to make it work (after some key screenshots session text follows):
**
**
AS
You
So i am having trouble with executing a subworkflow and have imagined according to your indications a more simple subworkflow to see where the problem is. Can i give you screen shots of the problem?
Assistant
I can’t view screenshots directly, but you can describe the issue, share error messages, or copy relevant node settings and expressions here. If you have specific node configurations or error logs, pasting those details will help me provide a more accurate solution.
Let me know the details of your subworkflow setup and the exact problem you’re encountering!
AS
You
So in the Good (my main case scenario) workflow i have created an execute workflow node that runs the subworkflow for each item in its input and waits for subworkflow completition. Now i have this main case subworkflow scenario where i am taking single items from the parent workflow and i am getting them through a send Gmail and wait for human response as a form node that i have set up as simple as possible after some processing to return this output
[
{
“Prompt”:
“asta e al doilea”
}
]
Now i have created a similar execute workflow note that triggers an alternative test subworkflow that is not using the send gmail and wait for response node but just outputs this response as a test:
[
{
“test”:
“abc”
}
]
so both sub-workflows en with the same kidn of simple output with the same structure.
the problem is that if i run the main case scenario i get the same output as the input and if i run the alternative test scenario i get the collection of two outputs in the right way.
how can i upload the print screens of these two diffrent outcomes of the execute workflow node.
Assistant
Currently, n8n does not support uploading or sharing screenshots directly within the workflow editor or this assistant interface. To troubleshoot your issue, you can:
Copy and paste the relevant node configurations, expressions, or error messages here.
Describe the exact output you are seeing versus what you expect.
Share the output (as text) from the Execute Workflow node for both scenarios.
This information will help me understand the difference in behavior between your two subworkflow scenarios and provide a targeted solution.
If you need to share screenshots with others (for example, on the n8n community forum), you can upload images there, but for this assistant, please use text-based descriptions or outputs.
Let me know the details of the outputs you are seeing, and I’ll help you troubleshoot further!
AS
You
ok based on previous prompt please troubleshoot me
Assistant
Based on your description and the official documentation, here are some key points to help troubleshoot your issue with the Execute Workflow node and subworkflow outputs:
How data passes between workflows:
The Execute Workflow node (now called “Execute Sub-workflow”) passes data from the parent workflow to the subworkflow and expects the subworkflow to return data back.
The output of the Execute Workflow node will be whatever the subworkflow returns as its final output.
Different output behaviors:
If your subworkflow ends with a node that outputs a collection (like your test scenario), the parent workflow receives that collection.
If your subworkflow includes nodes that wait for human input (like “Send Gmail and wait for response”), the output may be affected by how the data is returned or if the workflow is waiting for a response.
Possible cause of your issue:
If the main case scenario returns the same output as the input, it may be because the subworkflow is not returning new data, or the node that waits for human response is not completing as expected.
The alternative test scenario works because it simply outputs a static collection, which is returned to the parent as expected.
Actionable solution:
Check the last node in your main case subworkflow. Make sure that after the “Send Gmail and wait for response” node, you have a node (like a Set node) that explicitly outputs the data you want to return to the parent workflow. The subworkflow should end with a node that returns the desired output.
You can read more about how data passes between workflows in the official documentation:
Execute Sub-workflow node
Let me know if you need more specific guidance!
AS
You
i used a Set node in the main case sub-workflow after the send gmail and wait node (this one owrks fine and returns data corectly from a for completed by a human) i decided to set just one field to match the structure of the test subworkflow that was returning things ok to the parent.
Assistant
Great, using a Set node after the “Send Gmail and wait” node is the correct approach to control the output structure of your subworkflow.
Since your test subworkflow returns the expected output, but your main case subworkflow still returns the same data as the input, here’s an actionable step to troubleshoot further:
Actionable solution:
Check the connections in your main case subworkflow. Make sure that the Set node is directly connected after the “Send Gmail and wait” node, and that there are no other nodes or branches leading to the end of the workflow. The last executed node in the subworkflow determines what is returned to the parent workflow. If the Set node is not the last node, or if there are multiple outputs, n8n may return the data from a different node.
What to do:
Ensure the Set node is the only node at the end of your subworkflow.
There should be a direct path: “Send Gmail and wait” → Set node (with your desired output) → End of workflow.
You can find more about this behavior in the n8n documentation on sub-workflows.
Let me know if this helps or if you need to check anything else!
AS
You
yes it is the only last node, no branches and the structure of output is the same as i pasted before.
Assistant
Here is the next most likely solution ![]()
Check ‘Send Gmail and wait for response’ Node Output
Thank you for confirming that the Set node is the only last node and the output structure matches your test subworkflow.
Given this, the next thing to check is how the “Send Gmail and wait for response” node is configured and how it passes data to the Set node. Sometimes, if the “Send Gmail and wait” node is not completed (for example, if the form is not submitted or the response is not received), the workflow may not proceed to the Set node, or it may pass empty or unchanged data.
Actionable solution:
Check the output of the “Send Gmail and wait for response” node before it reaches the Set node. You can do this by:
Enabling “Always Output Data” on the “Send Gmail and wait” node (if available).
Running the subworkflow manually and inspecting the output of the “Send Gmail and wait” node in the n8n UI to ensure it contains the expected data.
Make sure the Set node is using the correct fields from the output of the “Send Gmail and wait” node (for example, using {{$json[“Prompt”]}} if “Prompt” is the field returned).
If the “Send Gmail and wait” node is not outputting the expected data, the Set node will not be able to return the correct structure to the parent workflow.
You can find more about the “Wait for response” node and its output in the official documentation.
Let me know what you find in the output of the “Send Gmail and wait” node!
AS
You
i checked everthing you said and the send gmail and wait node is outputing correctly and the set node does the right job to take the input and output what seems to work just fine from the test subworkflow
Assistant
Here is the next most likely solution ![]()
Check ‘Return Data’ Setting in Execute Workflow Node
Thank you for checking and confirming that both the “Send Gmail and wait” node and the Set node are outputting the correct data, and that the structure matches your working test subworkflow.
Given this, the next possible cause is related to how the Execute Workflow node in your main workflow is configured, specifically the Return Data option. If the “Return Data” option is set to “Input Data” instead of “All Data” or “Last Node,” n8n will return the input data to the parent workflow, not the output from your Set node.
Actionable solution:
Check the Return Data setting in your Execute Workflow node (“Call ‘SimpleTestWKF’”).
Make sure it is set to return the output of the last node (usually “All Data” or “Last Node”), not “Input Data.”
You can find this option in the node’s settings under “Options” → “Return Data.”
See the official documentation for Execute Workflow node options.
Please check and adjust this setting, then test your workflow again. Let me know if this resolves the issue!
AS
You
the execute workflow node has only one option called Wait for sub-workflow completition
Assistant
Thank you for clarifying that you only see the Wait for sub-workflow completion option in your Execute Workflow node. This is expected in recent n8n versions, as the node has been simplified and no longer exposes a “Return Data” option—the output should always be what the last node in the subworkflow returns.
Given that:
Your Set node is the last node,
The output structure matches your test subworkflow,
The test subworkflow works as expected,
The main subworkflow returns the input instead of the Set node’s output,
Actionable solution:
Check if the subworkflow is being executed in “Each” mode or “Once” mode in the Execute Workflow node.
If you are using “Each” mode, the subworkflow is called for each input item, and the output should be a collection of results.
If you are using “Once” mode, the subworkflow is called once with all input items.
Mismatch in modes or input structure can cause unexpected results.
Make sure the mode in your Execute Workflow node matches how you want to process the data (for example, “Each” for item-by-item processing).
Double-check that the input to the Execute Workflow node is what you expect (use the n8n UI to inspect the input data).
You can read more about these modes in the official documentation.
If the mode is correct and the issue persists, please let me know:
The mode you are using (“Each” or “Once”),
The input data structure to the Execute Workflow node,
The actual output you receive from the node.
This will help narrow down the cause further!
AS
You
i am executing it in Each mode and instead of receiving this kind of output:
[
{
“test”:
“abc”
},
{
“test”:
“abc”
}
]
i am receiving this output::
[
{
“row_number”: 2,
“title”: “FOTO One United Properties aduce The Hoxton în centrul Bucureștiului. Brand vândut ginerelui unui miliardar indian, unul dintre cei mai mari operatori de telefonie mobilă CONFIRMARE”,
“pubDate”: “2025-09-18T13:25:25.000Z”,
“finalURLs”: “link1”,
“articles”: “[“FOTO One United Properties aduce The Hoxton în centrul Bucureștiului. Brand vândut ginerelui unui miliardar indian, unul dintre cei mai mari operatori de telefonie mobilă CONFIRMARE | PROFIT.ro”]”,
“ImageURLs”: “link2”,
“NewTitle”: “Brandul hotelier The Hoxton intră pe piața din România prin One United Properties”,
“NewArticle”: “Dezvoltatorul imobiliar One United Properties a confirmat aducerea pe piața locală a brandului hotelier internațional The Hoxton, marcând astfel intrarea unui jucător important pe segmentul de ospitalitate „lifestyle” din România. Proiectul este semnificativ nu doar prin prisma investiției și a consolidării strategiei de diversificare a companiei listate la bursă, ci și prin impactul urbanistic, vizând reconversia unei clădiri emblematice din centrul Bucureștiului, fostul Hotel Muntenia.Noul hotel The Hoxton va fi piesa centrală a proiectului de regenerare urbană One Downtown, localizat pe Strada Academiei, în imediata apropiere a Pieței Universității. Clădirea istorică va fi complet restaurată și transformată într-un hotel cu aproximativ 200 de camere. Pe lângă spațiile de cazare, complexul va include facilități specifice brandului, precum un bar pe acoperiș cu vedere panoramică asupra orașului, un restaurant, un spațiu de co-working sub conceptul „Working From_” și săli de evenimente. Proiectul va integra și restaurantul Cugó, un concept italian dezvoltat de restauratorul Răzvan Cucui. Această investiție consolidează poziția One United Properties, cunoscută preponderent pentru proiecte rezidențiale și de birouri de lux, ca un jucător activ și pe piața hotelieră.Brandul The Hoxton face parte din portofoliul Ennismore, o companie de ospitalitate fondată de antreprenorul Sharan Pasricha, ginerele miliardarului indian Sunil Bharti Mittal, fondatorul gigantului de telecomunicații Bharti Airtel. În 2021, Ennismore a format o alianță strategică cu gigantul francez Accor, devenind cea mai mare entitate de ospitalitate „lifestyle” din lume. Intrarea The Hoxton în București se aliniază strategiei de expansiune globală a brandului, care operează deja locații în orașe cheie precum Londra, Paris, Amsterdam, Roma și New York, fiind recunoscut pentru designul său eclectic și integrarea în comunitățile locale.”
},
{
“row_number”: 3,
“title”: “TEST”,
“pubDate”: “2026-09-18T13:25:25.000Z”,
“finalURLs”: “link3”,
“articles”: “[“FOTO One United Properties aduce The Hoxton în centrul Bucureștiului. Brand vândut ginerelui unui miliardar indian, unul dintre cei mai mari operatori de telefonie mobilă CONFIRMARE | PROFIT.ro”]”,
“ImageURLs”: “link4”,
“NewTitle”: "Brandul hotelier ",
“NewArticle”: "Dezvoltatorul imobiliar One United Properties a confirmat aducerea pe piața locală a brandului hotelier internațional The Hoxton, marcând astfel intrarea unui jucător important pe segmentul de ospitalitate „lifestyle” din România. Proiectul este semnificativ nu doar prin prisma investiției și a consolidării strategiei de diversificare a companiei listate la bursă, ci și prin impactul urbanistic, vizând reconversia unei clădiri emblematice din centrul Bucureștiului, fostul Hotel Muntenia.Noul hotel The Hoxton "
}
][
{
“row_number”: 2,
“title”: “FOTO One United Properties aduce The Hoxton în centrul Bucureștiului. Brand vândut ginerelui unui miliardar indian, unul dintre cei mai mari operatori de telefonie mobilă CONFIRMARE”,
“pubDate”: “2025-09-18T13:25:25.000Z”,
“finalURLs”: “link5”,
“articles”: “[“FOTO One United Properties aduce The Hoxton în centrul Bucureștiului. Brand vândut ginerelui unui miliardar indian, unul dintre cei mai mari operatori de telefonie mobilă CONFIRMARE | PROFIT.ro”]”,
“ImageURLs”: “link6”,
“NewTitle”: “Brandul hotelier The Hoxton intră pe piața din România prin One United Properties”,
“NewArticle”: “Dezvoltatorul imobiliar One United Properties a confirmat aducerea pe piața locală a brandului hotelier internațional The Hoxton, marcând astfel intrarea unui jucător important pe segmentul de ospitalitate „lifestyle” din România. Proiectul este semnificativ nu doar prin prisma investiției și a consolidării strategiei de diversificare a companiei listate la bursă, ci și prin impactul urbanistic, vizând reconversia unei clădiri emblematice din centrul Bucureștiului, fostul Hotel Muntenia.Noul hotel The Hoxton va fi piesa centrală a proiectului de regenerare urbană One Downtown, localizat pe Strada Academiei, în imediata apropiere a Pieței Universității. Clădirea istorică va fi complet restaurată și transformată într-un hotel cu aproximativ 200 de camere. Pe lângă spațiile de cazare, complexul va include facilități specifice brandului, precum un bar pe acoperiș cu vedere panoramică asupra orașului, un restaurant, un spațiu de co-working sub conceptul „Working From_” și săli de evenimente. Proiectul va integra și restaurantul Cugó, un concept italian dezvoltat de restauratorul Răzvan Cucui. Această investiție consolidează poziția One United Properties, cunoscută preponderent pentru proiecte rezidențiale și de birouri de lux, ca un jucător activ și pe piața hotelieră.Brandul The Hoxton face parte din portofoliul Ennismore, o companie de ospitalitate fondată de antreprenorul Sharan Pasricha, ginerele miliardarului indian Sunil Bharti Mittal, fondatorul gigantului de telecomunicații Bharti Airtel. În 2021, Ennismore a format o alianță strategică cu gigantul francez Accor, devenind cea mai mare entitate de ospitalitate „lifestyle” din lume. Intrarea The Hoxton în București se aliniază strategiei de expansiune globală a brandului, care operează deja locații în orașe cheie precum Londra, Paris, Amsterdam, Roma și New York, fiind recunoscut pentru designul său eclectic și integrarea în comunitățile locale.”
},
{
“row_number”: 3,
“title”: “TEST”,
“pubDate”: “2026-09-18T13:25:25.000Z”,
“finalURLs”: “link7”,
“articles”: “[“FOTO One United Properties aduce The Hoxton în centrul Bucureștiului. Brand vândut ginerelui unui miliardar indian, unul dintre cei mai mari operatori de telefonie mobilă CONFIRMARE | PROFIT.ro”]”,
“ImageURLs”: “link8”,
“NewTitle”: "Brandul hotelier ",
“NewArticle”: "Dezvoltatorul imobiliar One United Properties a confirmat aducerea pe piața locală a brandului hotelier internațional The Hoxton, marcând astfel intrarea unui jucător important pe segmentul de ospitalitate „lifestyle” din România. Proiectul este semnificativ nu doar prin prisma investiției și a consolidării strategiei de diversificare a companiei listate la bursă, ci și prin impactul urbanistic, vizând reconversia unei clădiri emblematice din centrul Bucureștiului, fostul Hotel Muntenia.Noul hotel The Hoxton "
}
]
which seems to be the same with its input:
[
{
“row_number”: 2,
“title”: “FOTO One United Properties aduce The Hoxton în centrul Bucureștiului. Brand vândut ginerelui unui miliardar indian, unul dintre cei mai mari operatori de telefonie mobilă CONFIRMARE”,
“pubDate”: “2025-09-18T13:25:25.000Z”,
“finalURLs”: “link9”,
“articles”: “[“FOTO One United Properties aduce The Hoxton în centrul Bucureștiului. Brand vândut ginerelui unui miliardar indian, unul dintre cei mai mari operatori de telefonie mobilă CONFIRMARE | PROFIT.ro”]”,
“ImageURLs”: “link10”,
“NewTitle”: “Brandul hotelier The Hoxton intră pe piața din România prin One United Properties”,
“NewArticle”: “Dezvoltatorul imobiliar One United Properties a confirmat aducerea pe piața locală a brandului hotelier internațional The Hoxton, marcând astfel intrarea unui jucător important pe segmentul de ospitalitate „lifestyle” din România. Proiectul este semnificativ nu doar prin prisma investiției și a consolidării strategiei de diversificare a companiei listate la bursă, ci și prin impactul urbanistic, vizând reconversia unei clădiri emblematice din centrul Bucureștiului, fostul Hotel Muntenia.Noul hotel The Hoxton va fi piesa centrală a proiectului de regenerare urbană One Downtown, localizat pe Strada Academiei, în imediata apropiere a Pieței Universității. Clădirea istorică va fi complet restaurată și transformată într-un hotel cu aproximativ 200 de camere. Pe lângă spațiile de cazare, complexul va include facilități specifice brandului, precum un bar pe acoperiș cu vedere panoramică asupra orașului, un restaurant, un spațiu de co-working sub conceptul „Working From_” și săli de evenimente. Proiectul va integra și restaurantul Cugó, un concept italian dezvoltat de restauratorul Răzvan Cucui. Această investiție consolidează poziția One United Properties, cunoscută preponderent pentru proiecte rezidențiale și de birouri de lux, ca un jucător activ și pe piața hotelieră.Brandul The Hoxton face parte din portofoliul Ennismore, o companie de ospitalitate fondată de antreprenorul Sharan Pasricha, ginerele miliardarului indian Sunil Bharti Mittal, fondatorul gigantului de telecomunicații Bharti Airtel. În 2021, Ennismore a format o alianță strategică cu gigantul francez Accor, devenind cea mai mare entitate de ospitalitate „lifestyle” din lume. Intrarea The Hoxton în București se aliniază strategiei de expansiune globală a brandului, care operează deja locații în orașe cheie precum Londra, Paris, Amsterdam, Roma și New York, fiind recunoscut pentru designul său eclectic și integrarea în comunitățile locale.”
},
{
“row_number”: 3,
“title”: “TEST”,
“pubDate”: “2026-09-18T13:25:25.000Z”,
“finalURLs”: “link12”,
“articles”: “[“FOTO One United Properties aduce The Hoxton în centrul Bucureștiului. Brand vândut ginerelui unui miliardar indian, unul dintre cei mai mari operatori de telefonie mobilă CONFIRMARE | PROFIT.ro”]”,
“ImageURLs”: “link14”,
“NewTitle”: "Brandul hotelier ",
“NewArticle”: "Dezvoltatorul imobiliar One United Properties a confirmat aducerea pe piața locală a brandului hotelier internațional The Hoxton, marcând astfel intrarea unui jucător important pe segmentul de ospitalitate „lifestyle” din România. Proiectul este semnificativ nu doar prin prisma investiției și a consolidării strategiei de diversificare a companiei listate la bursă, ci și prin impactul urbanistic, vizând reconversia unei clădiri emblematice din centrul Bucureștiului, fostul Hotel Muntenia.Noul hotel The Hoxton "
}
]
Assistant
Thank you for the detailed information. Based on your description and the official n8n documentation, here’s the most likely cause and a focused solution:
Problem:
When using the Execute Workflow node in “Each” mode, the subworkflow must return a new item for each input item. If the subworkflow’s last node (your Set node) does not explicitly create a new item, n8n will return the original input item unchanged.
Why your test works:
Your test subworkflow always outputs a new object (e.g., { “test”: “abc” }), so the parent receives the expected collection.
Why your main case fails:
If your Set node in the main subworkflow is not configured to output a new object (but just passes through the input), n8n will return the original input item.
Actionable solution:
In your main subworkflow’s Set node, make sure you are not just passing through the input, but are explicitly setting the output fields. For example, if you want to output { “Prompt”: “asta e al doilea” }, configure the Set node to only output this field and do not keep any input fields.
In the Set node, disable “Keep Only Set” if it’s enabled, and make sure only your desired fields are set.
If you want to keep only the new field, enable “Keep Only Set” so that only the fields you define are output.
Example:
Field Name: Prompt
Value: asta e al doilea
“Keep Only Set”: enabled
This will ensure that the subworkflow returns only the new object, not the original input.
Reference:
See the Set node documentation for more details.
Try this adjustment and run your workflow again. Let me know if this resolves the issue or if you need further help!
AS
You
my last node in the main subworkflow is a Set field that sets by mannual mapping one single field that it breings by using an expression like
{{ $json.Prompt }}
the option to include other input fields is not activated and there are no other options for this node
Assistant
Thank you for clarifying your Set node configuration. Since you are only outputting the Prompt field using an expression like {{ $json.Prompt }} and “Include Other Fields” is not enabled, your setup should, in theory, return only the new object for each input item.
Given that, but you are still receiving the original input in the parent workflow, the next most likely cause is that the subworkflow is not actually returning any new data for each item—possibly because the Prompt field is empty or undefined for those items.
Actionable solution:
Add a Debug node or a temporary Set node right before the end of your subworkflow to inspect the actual output at that point. This will help you confirm if the Prompt field is present and correctly set for each item.
Steps:
Add a Debug node (or another Set node) after your current Set node in the subworkflow.
Run the subworkflow manually with the same input as your main workflow.
Inspect the output in the n8n UI to verify that each item has the Prompt field set as expected.
If the Prompt field is missing or empty, the parent workflow will receive the original input item. If the field is present and correct, but the parent still receives the input, there may be an issue with how the subworkflow is called or how the data is mapped.
Reference:
See the Debugging Workflows documentation for more on inspecting node outputs.
Let me know what you find in the output of the last node in your subworkflow!
AS
You
the data is coming right in the Set node for that single field i have set up, it is created right after the human has responded to the email in which there was a form collecting data for that field
Assistant
Thank you for confirming that the data is present and correct in the Set node after the human response, and that only the intended field is output.
Given all your checks, the most probable cause is related to how the subworkflow is being called or how the data is returned in “Each” mode. There is a known behavior in n8n: if the subworkflow returns no items for a given input, the parent workflow will fall back to the original input item for that iteration.
Actionable solution:
Check if your subworkflow always returns an item for every input item, even if the human does not respond or the form is skipped. If, for any reason, the subworkflow does not return an item (for example, if the workflow is waiting for a response and times out or is skipped), n8n will return the original input item for that iteration.
What to do:
Ensure that for every input item, the subworkflow always completes and returns a result (even if it’s a default value).
You can add a default value in your Set node to guarantee an output, for example:
Field: Prompt
Value: {{ $json.Prompt || ‘no response’ }}
Reference:
See the Execute Sub-workflow node documentation for more on this fallback behavior.
If you confirm that every input item always produces an output, but the parent still receives the original input, please let me know if you are using any conditional logic or error handling in the subworkflow that could cause an item to be dropped. This will help further narrow down the issue.
AS
You
when i execute the parent node that launches the sub-workflow it first displays a Waiting for input message in the output window. The suppose i have launched subworkflows for each of the 2 items i had in the parent node on the input side. After i complete the form for the first item the output window of the execute workflow node changes to displaying the entire input window showing both items that were in the input window (on top of the table it says 2 items, 2 sub-executions), when in fact it should have waited for the second item subworkflow to be completed (it should maybe have reported 2 items, 1 sub-execution). Now i completed the secodn subworkflow and looked back into the output window of the parent node and nothing changes there still on top of the table in the output it says 2 items, 2 sub-executions.
——-END of discussion——–



