[Webhook/Streaming] How to stream real-time progress back to caller in v2.1.4 (Docker/SQLite)?

Hello everyone,

I’m having difficulty implementing real-time progress feedback from a Webhook-triggered workflow in N8N v2.1.4 (running via Docker image n8nio/n8n:latest, database is SQLite).

1. What I Want to Achieve

I have a data processing workflow triggered by a Webhook. The entire process takes about 2 minutes. I want the workflow to immediately push a status message back to the caller at each key step (e.g., “data validation passed”, “transformation started”, “upload completed”), instead of waiting 2 minutes for everything to finish and returning only the final result via a single “Respond to Webhook” node.

2. My Environment & Current Setup

  • N8N Version: 2.1.4

  • Deployment: Docker (n8nio/n8n:latest)

  • Database: SQLite

  • Workflow Start: A configured Webhook node.

3. What I Have Tried (That Failed)

I reviewed the docs and community posts and primarily tried the “streaming response” approach without success.

  • In the Webhook node configuration, I set the “Response Mode” to “Stream”.

  • In a following Function node, I tried the following code, but the caller did not receive these messages in real-time. Instead, they either timed out or received all messages only after the entire workflow finished.

Hi @life_voluptuous,

You have one of four options:

  1. Callback a webhook on the calling end with status updates
  2. Use a realtime db like Supabase or Firebase/Firestore or Redis to write updates to a table/collection, which your originator listens to.
  3. Use websockets to push messages for updates.
  4. Implement pub/sub or event driven architecture using something like Kafka or RabbitMQ

For option 3, you can have a look at the below post:

PS: The Streaming Response is only compatible with streaming enabled nodes such as the AI Agent

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.