Call Flow Builder 👷🏼🔧
You are a builder of your customer experience. Let's make a call a pleasant event they will enjoy
Last updated
You are a builder of your customer experience. Let's make a call a pleasant event they will enjoy
Last updated
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 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...
You create a by dragging actions from the actions sidebar menu onto a design pane at 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
This is a coloured rectangle with the action's name, e.g. Bridge, Play text with AI, Incoming Call, End, etc.
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
is located at the top of Action Main Node
Action Output Handle
is located at the bottom of Action Outcome Node
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
)
Action Input Handle
must be connected to Action Output Handle
of other action
Action Output Handle
must be connected to the Action Input Handle
of other action
Actions Incoming Call
and End
are 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. #collect-digits), in this case action's output connects to the input of the same action
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
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
To remove
a connection click on it and press BACKSPACE
or DELETE
Let's go through the actions available in Call Flow Builder
Incoming Call
Every Call Flow starts with Incoming Call
action and ends on action End
. These two actions are mandatory for a valid Call Flow. Incoming Call
action doesn't really do anything to a call, it is completely transparent. Its only purpose is to define where everything starts 🛫
End
Action End
defines where your Call Flow stops. Just like with any other action, you can connect to it multiple action outputs
Echo
🔊Echo
is very useful in testing. It simply plays back your audio to yourself and can optionally attenuate it
Drag action Echo
onto a call flow pane
Optionally enable input signal attenuation and select a level of attenuation (in dB)
Delay echo
🔊⏰Delay echo
is similar to action Echo
but plays audio back only after a configurable delay (milliseconds). It is very useful in testing. Optionally signal can be attenuated
Just drag action Delay echo
onto a call flow pane
Select the delay in milliseconds
Optionally enable input signal attenuation and select a level of attenuation (in dB)
Translate speech
🗣️Place this action on your Call Flow to translate speech between languages in a real time. This action runs on the caller leg of the call (A leg, calling party).
Select your languages
Optionally enable input speech attenuation and select a level of attenuation (in dB) if original speech should be silenced (you will hear translated speech louder relative to original voice)
If you want to translate callee too (B leg, called party) place Bridge
action on your Call Flow somewhere after this action and enable Translate speech
on the Bridge
action (see Action Bridge ☎️)
Bridge
☎️Use action Bridge
whenever a call should be sent to another Connection. Optionally you can also configure real time speech translation between any of ~130 languages supported on VoIP Number.
When call is bridged it is ringing a Connection. It may be connected (answered) or not and this is represented on a Call Flow as outcome Success
and outcome Fail
You can configure what will happen after the bridge succeeded or failed by drawing a line from respective outcomes. In example below we end up a call whatever happens
Action Bridge
has two Bridge target
modes:
Dialed connection
Selected connection
Remember that Call Flow may be attached to more than just one Connection. During a call, when Call Flow is executed a dialed Connection is changing, reflecting actual extension dialed in a call (SIP To header). If Bridge
is in Dialed connection
mode it will send a call to the currently dialed Connection. If you instead want a static/fixed Call Flow that will always bridge to the same preselected Connection, set a bridge target mode to Selected connection
and pick it up from a dropdown menu
It's worth to note that before a Bridge
is executed there is only a single leg of the call connected to VoIP Number (caller is connected, calling party, A leg), and only after a Bridge
completed with outcome Success
there will be two call legs (caller and callee, calling and called parties, A and B legs)
Translate speech
toggle on the Bridge
action controls translation on the B leg (callee)
If you want to translate caller as well, add separate Translate Speech
action before a Bridge
Play text
Action Play text
changes your text into speech and plays it (this is commonly known as Text To Speech or TTS)
This 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
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
Play text with AI
You can generate very human like speech with action Play text with AI
This is how it sounds
This 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 audio
Use action Play audio
to playback wav, mp3 or mp4 files from uploaded file or from URL
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 🧐
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
Voicemail deposit
📫Action Voicemail deposit
implements a voicemail box. Use this action to record a voicemail, transcribe it and send to email
Voicemail retrieval
Action 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
Access to voicemail can be protected by the PIN
Play text
sounds bit robotic but is generated super fastPlay text with AI
sounds very natural 🙂Play text with AI
sounds very natural 🙂Incoming call
End
Echo
Echo
plays back any RTP it receives. You can attenuate itDelay echo
Delay echo
plays back any RTP it receives after configurable delay. You can attenuate itTranslate speech
Translate speech
Bridge
Bridge
in Dialed connection
modeBridge
in Selected connection
mode, it will always send a call to support
Connection, regardless of the Connection to which this Call Flow is attachedBridge
action with speech translation enabled, it will translate what callee is speaking from English to PolishBridge
with action Translate Speech
which configures real time speech translation on the caller (A leg). If action Bridge
has Translate speech
toggle enabled then speech will be translated on the B leg too (callee) and call is running a 2-way real time speech translation Play text
Interruptible
switch if user should be able to interrupt speech and move on to the next action with their Call FlowPlay text with AI
Play text with AI
Play audio
Collect digits
Handle digits
Handle digits
Voicemail deposit
Voicemail deposit
Voicemail retrieval