Flow Builder
Validation and publishing
How to validate a flow and publish the executable version.
Before publishing, the Flow Builder runs a set of automatic validations.
Severity levels
| Severity | Meaning |
|---|---|
| Error | Prevents publishing. |
| Warning | Allows publishing, but should be reviewed. |
Common errors
| Error ID | Cause |
|---|---|
missing-required-spine-path | The spine Main → Before conversation → Greeting was disconnected. |
missing-reachable-end | The flow has no reachable end node. |
invalid-edge-* | Connection between node types not allowed. |
conversation-missing-instruction-* | Conversation node without instruction. |
branch-needs-two-paths-* | Branch with fewer than one conditional path. |
transfer-missing-* | Transfer without destination, phone, queue, SIP URI or Phone Book. |
booking-missing-* | Booking without title, calendar, contact variable or time. |
jump-dangling-* | Jump points to a node that no longer exists. |
trigger-subflow-self-* | Subflow tries to trigger itself. |
Common warnings
- Cycles (
cycle-*): flagged only when no path inside the cycle can end the call. unreachable-node-*: a node no connection reaches from the start.conversation-missing-expected-info-*: Conversation without expected information or collection questions.
Other errors you may see: branch-missing-fallback-* (branch without an "Otherwise" path), branch-path-unlinked-* and branch-fallback-unlinked-* (unconnected paths), branch-duplicate-condition-* (repeated conditions) and subflow-entry-triggers-missing-* (subflow without entry triggers).
Channels and live status
The Publicação (Publishing) section shows a channel note: WhatsApp and email do not exist in the runtime yet; during-call SMS works (via Ombala); Booking and Transfer only block publishing when the provider (calendar / telephony) is not configured.
Publish
- Click Publicar (Publish) at the top of the builder.
- The system validates the flow.
- If there are no errors, the new version becomes the live version.
- The runtime starts using that version for new calls.
Calls already in progress continue with the version they started with. Only new calls use the published version.

