Skip to main content
A flow defines the end-to-end customer experience for a communication channel. You build flows visually in the Flow Designer — a drag-and-drop canvas that links action blocks called nodes — without writing any code.
SectionDescription
Flows Live BoardView and manage all flows from a central list with search and sort.
Flow TypesStart Flows handle inbound voice and chat; Exit Flows run post-call cleanup. Default welcome flows ship with every account as fallbacks.
Creating FlowsStep-by-step instructions for creating Start and Exit Flows, with channel-specific settings for Voice (ASR/TTS, bot no-input handling, AMD, streaming), Chat, and SMS.
Flow DesignerNavigate the canvas, toolbar, nodes panel, index panel, and mini map. All changes are auto-saved.
Managing FlowsEdit and delete Start and Exit Flows, with notes on default flows and campaign-linked flows.
PublishingMake a flow available to end users.
Flow NodesA reference table of all node types and channel support, plus instructions for adding, configuring, connecting, and removing nodes.
Automation RoutingManage routing modes, automation node settings, and linked apps across all flows.

Flows Live Board

Navigate to Automation AI / Contact Center AI / Agent AI > Flows & Channels > FLOWS to access all flows. Flows & Channels Page
FieldDescription
FlowName of the Start Flow entry.
Actions (⋮)View (default flows): see Name and Description. Update: edit Name, Description, and Channel. Delete: remove the entry.
DescriptionFlow description.
ChannelsAttached channels and flow type (call or chat).
StatusPublished or In Development.
Search — Enter keywords to filter flows. Sort — Click the Flow column header to toggle alphabetical sort (↑ ascending / ↓ descending).

Flow Types

TypeChannelsDescription
Start FlowVoice, ChatEntry point for inbound calls and chats. Supports all node types. Two default start flows (Chat-Welcome, Voice-Welcome) are auto-created per account as fallbacks.
Exit FlowVoiceRuns when a call disconnects. Used for post-call analytics, system cleanup, or external updates. Conversational context from the main flow can be passed in.

Default Welcome Flows

Default flows ship with every new account and act as fallbacks when no intent is matched.
FlowTest ChannelPurpose
Chat-WelcomeRTM (Real-Time Messaging)Handles inbound chat when the user’s intent is unclear.
Voice-WelcomeSBC simulation channelHandles inbound voice calls with no predefined intent match.
Use these flows to validate fallback behavior and verify channel-specific configurations.

Create a Start Flow

  1. Go to Flows & Channels > FLOWS.
  2. Click + New Start Flow.
  3. Enter a Start Flow Name and Description.
  4. Select a channel under Attach a Channel — see channel-specific settings below.
  5. Click Update & Continue to Flow Design to open the Flow Designer.
New Start Flow

Voice Channel

Phone Number

Select an existing phone number from your account, or click Purchase a phone number to acquire one.
  • Click Get New Phone Number, then select: Country, Local or Toll-Free, State, and Area Code. Monthly fee and per-minute charge are displayed before confirmation.
  • After purchase, set the number for Inbound, Outbound, or both calls, then click Done.
Note: Phone number purchase requires a Twilio account. Not supported for SIP trunk setups.

ASR and TTS

SettingOptions
ASR Speech Recognition EngineMicrosoft Azure, Google Cloud Speech-to-Text, Amazon Transcribe
English DialectSelect the applicable dialect.
TTS EngineMicrosoft Azure, Google Cloud Text-to-Speech, AWS Amazon Polly, ElevenLabs, Whisper, PlayHT, Deepgram
Language / VoiceSet TTS language and voice. Use Voice Preview > Sample Text > Play to audition.
Show Advanced Settings — Configure Primary and Fallback TTS independently.

Bot No Input

Prevents dead air when the bot doesn’t respond due to backend delays or failures. When disabled, the call disconnects after a 30-second default give-up timeout.
OptionDescription
Bot No Input TimeoutSeconds before triggering an action if the bot hasn’t responded. Repeats until the bot responds, retries are exhausted, or the give-up timeout is reached.
Interaction TypeBot No Input Speech: bot speaks a message. Bot No Input URL: bot plays audio from a URL. (Realtime TTS supports URL input only and does not accept speech input.)
Bot No Input RetriesNumber of retry attempts.
Bot No Input Give Up TimeoutTotal seconds before executing the give-up action.
Give-Up ActionEnd the Call: bot speaks a message then disconnects. Transfer the Call: bot speaks a message then transfers via SIP REFER to a redirect URL (with optional SIP headers).
Example configuration:
ParameterValue
Enabledtrue
Bot No Input Timeout10 s
Bot No Input Speech”Please wait while the bot responds.”
Bot No Input Retries15
Bot No Input Give Up Timeout120 s
Give-Up ActionEnd Call: “Bot not responding ending the call”
Behavior: The bot plays the message every 10 seconds. After 120 seconds (or 15 retries), it speaks the end-call message and disconnects.

Answering Machine Detection (AMD)

Detects whether a human or answering machine answered the call. The result is stored in context.session.UserSession. Enable Disconnect the call after detecting a machine to auto-terminate on detection. When AMD triggers a disconnection, the interaction is recorded as follows:
ViewStatusMode
Interactions DashboardCompletedMachine Detected
Insights to LogCompleted (Closed)Machine Detected; Disconnecting Event: System; Smart Status: Closed
Note: Applicable to voice flows only.

TTS Streaming

Streams the TTS response, reducing TTS connection latency by ~200 ms. Supported only for Deepgram and ElevenLabs.

Continuous Gather

Available when TTS Streaming is enabled. Captures user responses concurrently to further reduce latency. Use only for Agentic App use cases.

Optional Flow Attachments (Voice)

Note: Only published flows appear in these dropdowns.
Optional FlowTrigger
Exit FlowExecutes the published version when the call disconnects.
No Agents Available FlowExecutes when agent transfer is triggered but no agents are available, or the queue wait time is exceeded.
Out-of-Hours FlowExecutes when agent transfer is triggered outside the queue’s configured working hours.

Chat Channel

SettingDescription
AllSelects Web/Mobile Client and all other configured chat channels.
Web/Mobile ClientBrowser or mobile front end that communicates with the server.
Prompt Overrides at Input Nodes (Advanced)Passes unprocessed user input to the first input node instead of replaying its stored prompt. Useful when a conversation ends and restarts — the user skips the welcome message and gets a contextual reply instead.
No Agents Available Flow (optional)Same trigger as Voice.
Out-of-Hours Flow (optional)Same trigger as Voice.
Click Update & Continue to Flow Design to open the Flow Designer.

SMS Channel

  1. Select a configured phone number.
  2. Optionally attach a No Agents Available Flow and/or Out-of-Hours Flow.
  3. Click Update & Continue to Flow Design.

Create an Exit Flow

  1. Go to Flows & Channels > FLOWS.
  2. Click + New Exit Flow.
  3. Enter an Exit Flow Name and Description.
  4. Under Attach a Channel, select Voice or Chat.
  5. Click Update & Continue to Flow Design.

Once you enter the Flow Designer, the default Start node is already on the canvas. Flow Designer Elements
AreaDescription
ToolbarClose Flow button, flow name, creation timestamp dropdown, Test button, Error status indicator.
CanvasThe drag-and-drop work surface. Contains the Start node and any nodes you add.
Nodes PanelNodes grouped by category for easy browsing.
Index PanelFull alphabetical list of all nodes with a search bar.
Mini MapMiniature canvas overview — useful for navigating large flows.
All changes are auto-saved.

Toolbar Details

ElementBehavior
Close FlowExits the designer and returns to the Flows list.
Flow NameDisplays the name assigned at creation.
˅ DropdownShows the timestamp of the last save.
TestOpens a chat window (chat channel) or softphone dialer pad (voice channel) for flow testing.
Error StatusDisplays the error count; click to view error details.

Manage Flows

Edit a Start Flow

  1. On the Flows Live Board, click next to the flow.
  2. Click Update, edit the fields (Name, Description, Channel), and click Update.
Note: The Channel field of default Start Flows cannot be edited.

Delete a Start Flow

  1. Click next to the flow and click Delete.
  2. Confirm deletion.
Notes:
  • Deleted flows cannot be restored.
  • Default start flows cannot be deleted.
  • A flow linked to an active campaign must be removed from that campaign before it can be deleted.

Edit an Exit Flow

  1. Click next to the exit flow and click Update.
  2. Make changes and click Update.

Delete an Exit Flow

  1. Click next to the exit flow and click Delete.
  2. Confirm deletion.

Publish a Flow

Publishing makes the flow available to end users. See Publishing Components.

Flow Nodes and Node Types

Nodes are the building blocks of a flow. Drag them onto the canvas and connect them to define the customer journey.

Node Reference

NodeChannelDescription
IVR MenuVoicePresent callers with menu options selectable by phone keypress.
IVR Digit InputVoiceCollect numeric input (e.g., phone number, last 4 card digits).
SplitVoice, ChatBranch the flow based on defined conditions.
Check Agent AvailabilityVoice, ChatRoute based on agent availability filtered by skill set. (Experimental — may be deprecated.)
Check Business HoursVoice, ChatRoute based on whether the query arrives within configured working hours.
Message PromptVoice, ChatDeliver a message to the customer via voice or chat.
AutomationVoice, ChatExecute a specific dialog task defined in your XO Platform Bot.
Agent TransferVoice, ChatTransfer the conversation to a live agent based on defined triggers.
Connect to APIVoice, ChatMake synchronous or asynchronous REST or SOAP API calls.
Go To FlowVoice, ChatJump from the current flow to a target flow in Contact Center AI.
Script TaskVoice, ChatRun a script to process or set context and flow variables.
Set QueueVoice, ChatDefine or modify queue settings, messages, and behavior.
End FlowVoice, ChatDefine the message played to the customer when the flow ends.
Deflection FlowVoiceTransfer a call to chat, providing the customer a link to continue via chat with a bot or human agent.
Script Nodes & Flow UtilsVoice, ChatReference for context variables, call flow variable helpers (setCallFlowVariable / getCallFlowVariable), agentUtils, and userSessionUtils.

Working with Nodes

Add a Node

  • Method 1: Click + on the canvas → select a node from the pop-up → click + New Node.
  • Method 2: Drag a node from the Nodes Panel onto the canvas.

Configure a Node

Click any node on the canvas to open its configuration panel, then fill in the required fields.

Rearrange Nodes

Drag and drop nodes to new positions. Connected nodes stay in place regardless of drag direction.

Connect Nodes

  1. Click + on the source node.
  2. Drag to the target node. An arrowed line appears indicating the connection direction.
Connections can also be defined within individual node configuration panels.

Edit or Delete a Node Connection

Click the connector line between two nodes to reveal options:
OptionAction
Bend line connectorConverts the line to a curved path.
Straight line connectorConverts the line to a straight path.
Change line colorOpens a color picker.
Delete connectorRemoves the connection; nodes remain on the canvas but are disconnected.
After deleting a connector, reconnect the nodes or remove the orphaned node to keep the flow valid.

Edit or Delete a Node

Right-click a node to access:
OptionAction
RenameChange the node’s display name.
Mark as Flow Starting PointDesignates the node as the flow entry point.
Sequence ColorChange the node’s color for visual grouping.
DeleteRemove the node (requires confirmation).
Notes:
  • Deleted nodes cannot be restored unless a previously saved version contains them. Restoring a version may overwrite other changes — proceed with caution. See Restore Versions.
  • The Start node cannot be deleted.

Automation Routing

Path: Flows & Channels > Automation Routing > Routing Modes The Routing Modes page lists all Chat and Voice flows with their automation routing configuration. Use it to manage automation app connections and routing behavior. The integrated search bar filters results across all displayed fields.
ColumnDescription
Flow NameName of the flow entry.
Automation NodeThe automation node configured in the flow.
Routing ModeThe routing mode applied to the flow.
ChannelThe associated channel (Chat or Voice).
Click next to any welcome flow to access the following options:
OptionDescription
Automation SettingsConfigure the Automation Node: autonomy level for Automation AI, Automation AI options, Agentic App Configurations, connection rules, and error prompts. Learn more.
Manage Linked AppsView all linked apps. Click + Link Apps to add an app; click the unlink icon next to an app to remove it. Learn more.