Call Flow Builder
You are a builder of your customer experience. Let's make a call a pleasant event they will enjoy
Call Flows define what happens to a call. By adding actions to Call Flow, you can customize the behaviour of incoming calls and provide callers with the user experience they need
Actions within the Call Flow dictate various actions such as speech translation, sending a call to voicemail, prompting the caller to press a key for further options, transferring the call to another Connection or external numbers, playing prerecorded audio files, converting text to speech with specified language and voice settings, and more...
How to use it
You create a Call Flow by dragging actions from the actions sidebar menu onto a design pane at app.voipnumber.net/callflowbuilder There you can move them around, configure their settings, connect them with each other, and remove (actions and connections)

Every action is represented on the design pane by Action Main Node and one or more Action Outcome Nodes e.g. Success, Fail, Completed, Interrupted. Every action has an input and output
Action Main Node
This is a coloured rectangle with the action's name, e.g. Bridge, Play text with AI, Incoming Call, End, etc.
Action Outcome Node (action outcome)
Action Main Node is connected to one or more outcomes. These define possible results for the action. Start and stop actions ( Incoming Call and End  ) are exceptions from this rule, as they do not have Action Outcome Node
Action Input Handle (action input)
Action Input Handle is located at the top of Action Main Node
Action Output Handle (action output)
Action Output Handle is located at the bottom of Action Outcome Node
Connection
Connection is a line that you draw to connect actions (Note, this is not a SIP Connection). Connection is always attached to Action Output Handle and leads to the Action Input Handle. A line leading from Action Main Node to one of its Action Outcome Node, drawn automatically when action is dropped onto a pane is not a Connection in this sense (for example, a green dashed line connecting Bridge to Success or line connecting Play Text with AI and Completed)
Rules
Action Input Handlemust be connected toAction Output Handleof other actionAction Output Handlemust be connected to theAction Input Handleof other actionActions
Incoming CallandEndare mandatory (any valid Call Flow starts and ends on them)
Start and stop actions ( Incoming Call and End ) have only a single handle. But the above rule still holds.
Let's draw that on the screen

In some cases it makes sense for the action to loop itself (e.g. Call Flow Builder), in this case action's output connects to the input of the same action
Validate your Call Flow
Call Flow Builder warns you as you draw when you attempt to create an invalid Connection or make other design errors. Once you've finished always check your design for any errors before saving


Configuring actions
Every action has configuration settings that you can change. Click on the Action Main Node (coloured rectangle with action's name) to open configuration settings
Removing connections
To remove a connection click on it and press BACKSPACE or DELETE 
Actions
Actions available in Call Flow Builder define what gets done on a call. There always must be action Start and action End placed on a Call Flow. Between them you insert Voice AI and PBX actions to perform actual things 
Action Start
StartEvery Call Flow starts with Start action and ends on action End . These two actions are mandatory for a valid Call Flow. Start action doesn't really do anything to a call, it is completely transparent. Its only purpose is to define where everything starts 🛫

Action End
EndAction End defines where your Call Flow stops. Just like with any other action, you can connect to it multiple action outputs

Next, we got regular actions which perform actual things. These are grouped into 2 sets: Voice AI and PBX. Voice AI actions make use of AI in form of LLM. PBX actions are regular functionalities you expect every legitimate telephony platform to have
Voice AI actions 
Action AI Agent
AI AgentThis action executes an AI Agent on a call, with tools to perform work.

Settings include AI Agent selection and media with configurable input/output channels and audio level knobs
See how to setup and configure agent: AI Agent , Appointment bookings , AI Agent with Groq LLM


Action Translate speech coming from VoIP Number
Translate speech coming from VoIP NumberPerforms real time speech translation in direction from VoIP Number to a target dependent on type of Call Flow:
A leg - from VoIP Number to calling party
B leg - from VoIP Number to called party

Settings include languages, TTS engine selection and audio level knobs



Action Translate speech coming to VoIP Number
Translate speech coming to VoIP NumberPerforms real time speech translation in direction to VoIP Number from a target dependent on type of Call Flow:
A leg - to VoIP Number from calling party
B leg - to VoIP Number from called party

Settings include languages, TTS engine selection and audio level knobs



Action Translate speech (routed)
Translate speech (routed)Performs real time speech translation with configurable input and output between VoIP Number and target dependent on type of a Call Flow:
A leg - between VoIP Number and calling party
B leg - between VoIP Number and called party

💡 This gives 4 possible routing setups (channel input/output configurations) on each call leg
Settings include languages, TTS engine selection and media with configurable input/output channels and audio level knobs




PBX actions
Action Echo  🔊
Echo  🔊
Echo is very useful in testing. It simply plays back any audio it received. Audio level can be optionally attenuated (in dB)

Echo plays back any RTP it receives. You can attenuate itAction Delay echo  🔊⏰
Delay echo  🔊⏰
Delay echo is similar to action Echo . It plays audio back with a configurable delay (in milliseconds). It is very useful in testing. Audio level can be optionally attenuated (in dB)

Action Bridge  ☎️
Bridge  ☎️Action Bridge sends a call to another Connection
When call is bridged it is ringing a target Connection. It may and up being connected (answered) or not, and this is represented on a Call Flow as outcome Success and outcome Fail . You can configure what happens after the bridge succeeded or failed by drawing a line from respective outcomes
In example below we end up a call regardless the outcome

In the next example we send it to AI Agent instead

Action Bridge has two Bridge target modes:
Dialed connectionSelected connection
This is because a single Call Flow may be attached to more than just one Connection
During a call, when Call Flow is executed, an actually dialed Connection is changing, reflecting a SIP To header. If Bridge is in Dialed connection mode it will send a call to that Connection. If you instead want a Call Flow that always bridges to the same Connection, set a bridge target mode to Selected connection and pick your Connection from a dropdown menu


Action Play text
Play textAction Play text changes your text into speech and plays it (this is commonly known as Text To Speech or TTS)

Play textThis action transforms your text into audio to be played on the fly. That means every time it's executed on a media engine a speech is synthesized on the same media engine and played. This process doesn't involve any network transactions, like downloading audio file for playback. But the voice produced may sound a bit robotic 🤖 When additional 15 ms of a delay is not a problem we recommend to use action Play text with AI which needs to download your audio for playback (from your files stored securely on VoIP Number), but generates awesome, very natural sounding speech 🗣️ 
Compare by yourself
Play text sounds bit robotic but is generated super fastPlay text with AI sounds very natural 🙂This is the simplest possible usage of this action

Click on the Action Main Node  to open configuration dialog. Type a text you want to be spoken in a Text field. Toggle Interruptible switch if speech playback during Call Flow execution should terminate on a key pressed by a user 

Interruptible switch if user should be able to interrupt speech and move on to the next action with their Call FlowAction Play text with AI
Play text with AIYou can generate very human like speech with action Play text with AI This is how it sounds
Play text with AI sounds very natural 🙂
Play text with AIThis is the simplest possible usage of this action

Type a text to get synthesized into speech in a Text field. Select a voice engine type and a voice from a dropdown list of available persons 🙎🙎🏻♂️🙍♀️ Click Play to listen how it sounds. Change text and re-Play until you're happy with the result. Click OK to save it
Toggle Interruptible switch if speech playback during Call Flow execution should terminate on a key pressed by a user

Play text  with AIAction Play audio 
Play audio Use action Play audio to playback wav, mp3 or mp4 files from uploaded file or from URL

Play audio 


Action Collect digits  0️⃣1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣
Collect digits  0️⃣1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣Action Collect digits is a DTMF collection block, where you can define important aspects of DTMF collection process, e.g: how many digits you require, a terminator, timeout on a single digit and the whole process and if digits accumulated before this action is hit should be flushed 🧐

Collect digits

Action Handle digits 
Handle digits Use action Handle digits to execute functions assigned to DTMF digits in a Collect digits action. Collect digits would normally precede this action

Handle digits
Handle digitsAction Voicemail deposit  📫
Voicemail deposit  📫Action Voicemail deposit implements a voicemail box. Use this action to record a voicemail, transcribe it and send to email

Voicemail deposit
Voicemail deposit

Action Voicemail retrieval
Voicemail retrievalAction Voicemail retrieval implements a voicemail box for the voicemail owner. Dial to this action to listen to your voicemails, save or delete them, on the phone

Voicemail retrieval
Access to voicemail can be protected by the PIN

Last updated