n8n 3.0 Chat Trigger WebSocket frames: replying with a Sume job
n8n 3.0 sends every Chat Trigger WebSocket frame as JSON with a type field. How a chat reply should hand a Sume video job to the user.

In n8n 3.0, Chat Trigger WebSocket frames are all JSON with a type field, with the values heartbeat, continue, error and message (n8n 3.0 breaking changes, read 2026-10-02). If a chat workflow starts a Sume video job, reply with the job id and let a later message carry the result; do not hold the chat open for a render.
What the vendor says
If you built a custom chat client against the older frame format, 3.0 is the point to update it.
| Item | Detail |
|---|---|
| 3.0 WebSocket frames | All JSON with a type field |
| Frame types named | heartbeat, continue, error, message |
| Cost note | Every message executes the workflow; 10 messages in one conversation use 10 executions |
| Response modes | When last node finishes, a response node, or streaming |
Where Sume fits
Sume's default async mode returns 202 and a job id at once. The sync mode waits at most 30 seconds on the HTTP call, and the docs say video, avatar-video and face-swap jobs routinely exceed that. So a chat turn that submits video should answer quickly with something like the job id, not wait.
Two workable shapes
- Reply, then notify: the first turn submits the job with a
webhook_urland replies that the video is on its way. A second workflow, triggered by the signed Sume webhook, posts the result to the user in whatever channel you use. - Reply, then ask again: the first turn stores the
job_id; the user's next message triggers a status read and returns the result if the job is terminal.
Cost and safety
Because each chat message is an execution, a user who sends "are you done?" ten times costs ten executions. Reading GET /v1/jobs/{job_id}/status is cheap and never resubmits paid work. Use an Idempotency-Key on the submit so a repeated message cannot create a second job.
Sume does not stream progress over WebSocket or SSE; the events endpoint is a pull snapshot. Do not promise a live progress bar in the chat.
Sources
Related posts
More in Integrations
- n8n 3.0 Execute Sub-workflow drops URL and file: Sume sub-workflow
n8n 3.0 removes Local File and URL sources from Execute Sub-workflow. Keep the Sume submit logic in a database workflow and call it by ID.
- n8n 3.0 removed the HTTP Request Tool: call Sume from an agent
The legacy HTTP Request Tool is gone in n8n 3.0. Wire the HTTP Request node into the AI Agent Tool input to submit Sume jobs, or use hosted MCP.
- n8n 3.0 needs Docker to self-host: a public URL for Sume webhooks
n8n 3.0 drops npm and npx installs. Whatever you run in Docker, a Sume webhook needs a public HTTPS URL that reaches the container.
- n8n 3.0 SSRF blocklist adds 100.64.0.0/10: Sume webhook paths
n8n 3.0 adds 100.64.0.0/10 to its SSRF blocklist. Sume is public HTTPS, so calls are fine, but webhook URLs must be public for Sume to reach them.
Written by Sume