Skip to content

When Executed by Another Workflow Trigger (Accept all data) does not output items when called by Execute Workflow #15374

Description

@Obito-404

Bug Description

n8n Version: 1.91.2
Deployment Method: Docker

Description:
I have a parent workflow that uses an Execute Workflow node to call a child workflow. The child workflow starts with a "When executed by another workflow" trigger node, configured with "Input data mode" set to "Accept all data".

The parent workflow's Execute Workflow node receives input data from a previous node (e.g., a Code node outputting 1 item with a JSON structure like { "json": { "extractedUrls": ["..."] } }).

The Execute Workflow node successfully executes and triggers the child workflow. A corresponding execution record exists for the child workflow, starting with the trigger node.

However, when inspecting the execution details of the child workflow, the "When executed by another workflow" trigger node shows 0 output items, even though:

  1. The parent workflow's Execute Workflow node had input items to send.
  2. The trigger is set to "Accept all data", which should accept all data unconditionally.
  3. The call itself was successful (the child workflow execution started).

This prevents any subsequent nodes in the child workflow from processing the data.

(Note: An initial "Invalid URL" error in the Execute Workflow node was resolved by correctly setting N8N_HOST and N8N_PROTOCOL environment variables for the Docker container).

Image

Image

To Reproduce

Steps to reproduce the behavior:

  1. Create a child workflow starting with a "When executed by another workflow" trigger node.
  2. Set this trigger node's "Input data mode" to "Accept all data".
  3. Add a simple node after the trigger (e.g., a Set node with a fixed value).
  4. Save and activate the child workflow.
  5. Create a parent workflow. Add a Start node.
  6. Add a Set node after the Start node to create some test data (e.g., set a field named testField to "hello").
  7. Add an Execute Workflow node after the Set node. Configure it to call the child workflow created in step 1 (Source: Database, select the workflow from the list or by ID).
  8. Ensure your n8n Docker environment is configured with correct N8N_HOST and N8N_PROTOCOL environment variables.
  9. Run the parent workflow.
  10. Go to the "Executions" page, find the parent workflow's execution, click the Execute Workflow node, and use "View sub-execution" to go to the child workflow's execution.
  11. In the child workflow's execution details, click the "When executed by another workflow" trigger node.
  12. Inspect the "Output Data" for this trigger node.

Expected behavior

Expected behavior:
The "When executed by another workflow" trigger node in the child workflow (with "Accept all data" mode) should output the exact same items that were input to the parent workflow's Execute Workflow node. In the reproduction steps, the Output Data should show 1 item with the data from the parent workflow's Set node (e.g., { "json": { "testField": "hello" } }).

Operating System

Rockey 9.5

n8n Version

1.9.1

Node.js Version

20.19.0

Database

SQLite (default)

Execution mode

main (default)

Metadata

Metadata

Assignees

No one assigned

    Labels

    StaleIssue was stale

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions