Hi everyone,
I’m having a timing and output issue with an AI Agent using a Subworkflow as a tool.
The Setup:
-
Main Workflow: AI Agent (WhatsApp bot for a roofing company) → Tool: Subworkflow for booking.
-
Subworkflow: Sends an approval email to me → Wait for Webhook → Books the meeting.
The Problem: Even though I instructed the Agent in the System Prompt to “wait until the tool has finished its task,” it starts generating the final response to the user as soon as the Subworkflow is triggered (specifically, right after the email is sent, but before I click ‘Approve’).
Because of this “pre-mature” response, the final output of the AI Agent node doesn’t contain the LLM text I see in the logs, but instead some weird fields: $json.status and $json.nachricht. It seems the Agent loses the connection to the actual tool result because it doesn’t wait for the Wait-Node to finish.
What I’ve observed: In the execution logs, the LLM actually writes the correct confirmation, but the Node’s output is corrupted/overwritten by these status fields from the subworkflow.
How can I force the AI Agent to truly wait for a Subworkflow that contains a “Wait for Webhook” node before it moves to the next step?
Information on your n8n setup
- n8n version: latest(stable 2.8)
- Running n8n via: n8n cloud instance

