Sub-workflow returning unexpected data after adding slack message approval node

Describe the problem/error/question

I’m struggling with a sub-workflow involving Slack approval. The core problem is that the data returned by the sub-workflow is incorrect only when the Slack approval node is included.

Here’s a simplified view of the sub-workflow:

  1. Image Processing (Downloads image, sends it to Anthropic for analysis)
  2. Slack Approval (Sends a message to Slack asking for approval of the analysis)
  3. Data Handling (Processes the data from Anthropic based on approval)

The Key Issue:

When the Slack approval step is removed, the sub-workflow returns the correct, processed data from the Anthropic API. However, when the Slack approval step is present, the sub-workflow returns the original input data that was sent to the sub-workflow, rather than the processed data I expect from Anthropic.

Even though the workflow visually appears to execute correctly, waiting for my Slack approvals, it feels like the workflow is returning data before it has fully finished processing

I would like to remark that when the sub-workflow is executed independently, it works perfectly and returns the expected processed data.

Please share your workflow

Share the output returned by the last node

This is the correct output when executed independently

Information on your n8n setup

  • n8n version: 1.72.1
  • Database: postgress
  • Running n8n via: Docker
1 Like

It looks like your topic is missing some important information. Could you provide the following if applicable.

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Welcome to the community

Could you please share:

  • an example of the error/undesired output
  • if the Execute Workflow node that calls this is set to “Run once with all items” or “Run once for each item” in the Execute Workflow enabled?
  • Is the “Wait For Sub-Workflow Completion” option in
  • when you remove the “Recognition Approval” node, you are also removing the loop?

let me know

Hi Liam,

Thank you for your response.

As you can see in the screenshot below, the output is simply a copy of the input. Also, the execute workflow node that calls this sub-workflow is configured to “Run once with all items” and has “Wait For Sub-Workflow Completion” option enabled.

Regarding the recognition approval loop, the workflow functions correctly regardless of whether the loop is present or not, as long as the Slack node is removed. I’ve tested the following scenarios:

  • Without Slack, with loop: Works correctly.
  • Without Slack, without loop: Works correctly.
  • With Slack, with loop: Fails (returns input data).
  • With Slack, without loop: Fails (returns input data).
  • With loop and a dummy node instead of Slack: Works correctly.

Any suggestion?

1 Like

Same problem here.

The moment I add a send-message-and-wait-for-response Slack node to a subworkflow, it stops passing data to the main workflow.

We’re having a very similar problem.
When we add the Slack node SendAndWait to a sub-workflow, it executes but does not return the data from the last node, it returns only an empty object.

The same issue with telegram sendAndWait node (send message without response works fine). Any suggestiions?