Sending intermediate status updates to the user without additional Chat nodes?

Hi everyone,

I currently have a larger AI/chat workflow in n8n where some requests can take a bit longer to complete.

To improve the UX, I added several Chat nodes that send intermediate status updates like:

  • “Searching articles…”

  • “Processing request…”

  • “Found multiple matches…”

The problem is that every additional Chat node noticeably increases the workflow runtime.
In my case, the execution time increased by around 20% just because of these intermediate messages.

So my question is:

Is there a way to send progress/intermediate status updates to the user during workflow execution WITHOUT using additional Chat nodes?

Maybe via:

  • Code node

  • Webhook response streaming

  • custom frontend event

  • SSE/WebSocket

  • execution hooks

  • or another lightweight approach?

My goal is basically:

  • keep the workflow responsive

  • provide live progress feedback

  • avoid slowing down the workflow significantly

How are you handling this in larger AI/chat workflows?

Thanks a lot!

Good morning @Leon22
From my experience, in n8n’s native chat I haven’t yet seen a generic way to send intermediate status without Chat nodes or supported streaming; when I need something lighter, I usually move the progress to an external frontend via polling/SSE/WebSocket.

Adding a code node won’t really help much here. It will still have to make the same underlying call with the same overhead.

If you prefer to stay in n8n’s native chat UI, the quickest solution is to be selective, going from 5 status updates to more like 2. If done at meaningful checkpoints, that will recover most of the 20% without needing big architectural changes.

If you control your frontend, SSE is the correct long-term solution that you mentioned. What is your current setup like? That will determine which path is most realistic.