Back to the journal
Momo Business Guides

Why did my flow stop?

Every reason a flow conversation ends — completed, handed over, dead end, abandoned, error, switched off, ended by staff — in plain words, with what to do.

Every flow conversation ends with a reason. The Studio's Runs tab groups them into a handful of words — Completed, Handed over, Dead end, Abandoned, Gave up, Error, Automation off, Ended by staff — and each run carries the exact reason underneath. This page says what each one means and what, if anything, to do about it.

Completed and Handed over — nothing to fix

Completed (completed): the conversation reached an End step, or the reason you wrote on that step.

Handed over (handoff, human_replied): a Hand to human step ran, an AI step asked for a person, or a colleague replied from the inbox — a human reply always ends the flow, on purpose, so two responders never talk over each other. The thread is now a person's; nobody else answers it until they hand it back.

Dead end — a gap in the flow

branch_end with the name of the exit: the flow left a step by a branch you never drew, and had nothing to say. The classic case is a button or list row whose id changed, or a false on a Decision nobody connected. Publish refuses an undrawn exit on a question; on the other steps it is a warning — read the Issues list and draw the branch.

Abandoned and Gave up — the customer, not the flow

Abandoned (abandoned): a question's timeout ran out and its timeout branch was not drawn. Gave up (no_valid_answer): the customer answered, but never in a way the question accepted, and the retries ran out. In both cases the flow said a goodbye line first (yours, from Flow settings, or the default) and then stopped. Lengthen the timeout, loosen the validation, or draw the timeout / invalid branches to something useful.

session_ttl: the whole conversation ran longer than its life (24 hours unless the flow says otherwise) with nothing happening. interrupted: the customer typed a leaving word — stop, acha, sitaki, unsubscribe (they are unsubscribed too) or menu, anza, start, 0, mwanzo (the same message then starts whichever flow it matches).

window_closed: a step needed to speak more than 24 hours after the customer's last message and had no template to speak with — see the 24-hour window.

Error — something outside the conversation broke

node_error: a step failed — an API did not answer, a table refused a record, a send was rejected by WhatsApp — and its failed branch was not drawn. advance_failed: the platform could not run the step after retrying. In both cases the customer was told a person will continue and the thread was handed to your team; the owners get a notification with the step and the reason. Open the run, read the error step, draw the failed branch, and check the service the step depends on.

balance_out: the wallet was empty when the flow needed to send. Top up in Billing; ended conversations do not resume. quota_exceeded: the conversation hit a ceiling — most often a loop sending too much. node_budget_exhausted: the flow ran hundreds of steps without ever waiting for the customer; there is a cycle with no question in it.

subflow_not_published, node_missing, kind_unsupported: the flow calls another flow that is not live, or a version references a step that no longer exists. Publish again after fixing the reference.

Automation off — a switch, not a fault

ai_mode_changed: a Set AI mode step ran (that step ends the flow unless it is told to continue), or somebody changed the chat's responder in the inbox. chat_automation_changed: the account's default responder was changed. flow_archived: the flow was archived while the conversation was running. module_disabled / kill_switch: the platform switched message flows off for maintenance; the customers were told a person will continue.

Ended by staff

operator_ended: a teammate ended it from the flow's support panel. admin_ended, admin_paused: the platform's support team ended it, or force-paused the flow. cli_ended: an operator's command. The run shows who and when.

Waiting is not stopped

A conversation shown as Live now is parked on a question, a delay, a payment, an approval or a delivery report. If it has been waiting far longer than the step allows, something upstream is late — the owners are told when a conversation is more than fifteen minutes overdue. Nudge repeats the question; End closes it and tells the customer.

Where next

Thanks for reading.Explore more stories