Skip to main content
Flows define what happens during a call. They’re the brains of your campaigns—controlling everything from the initial dial to the final hangup.

How flows work

A flow is a directed graph of nodes. Each node performs an action and then routes to the next node based on what happened. Execution starts at a designated start node and continues until it reaches a terminal node (usually a hangup).

Node types

Gomobile supports these node types:

Creating a flow

Here’s a complete flow that plays a message and collects a response:

Variables in flows

Flows can read and write variables during execution. Variables come from several sources: Use variables in conditions or to personalize audio playback.

Answering Machine Detection (AMD)

When enableAMD is true on a dial node, Gomobile attempts to detect if a human or machine answered:
  • Human detected → Routes to onAnswer
  • Machine detected → Routes to onVoicemail
This helps you leave voicemail messages instead of playing interactive prompts to answering machines.

Audio playback options

The Play node supports several audio types:
Types include:
  • audioFile - Pre-recorded audio
  • number - Dynamic number playback
  • date - Dynamic date playback
  • word - Dictionary-based word playback

Flow validation

Before saving, Gomobile validates your flow:
  • Every node must be reachable from the start node
  • All output references must point to existing nodes
  • Terminal nodes (hangup) shouldn’t have outputs
  • Required configuration must be present
You can validate without saving:

Best practices

  • Start simple - Get a basic flow working before adding complexity
  • Handle all outcomes - Every dial result should route somewhere
  • Use descriptive labels - Makes debugging much easier
  • Test thoroughly - Use ad-hoc calls to test before launching campaigns
  • Version carefully - Changing a flow affects all programs using it

Call Flows Guide

Detailed node configuration.

Audio Management

Managing audio files.

Dictionaries

Dynamic audio for numbers and words.

Programs

Using flows in campaigns.