Jump to content
KAZOOcon: hackathon signup and details here! ×

Callflows Reference Guide

Emily R

Recommended Posts

  • Administrators

About Callflows

Callflows is an application that exposes our APIs in a GUI format, enabling very complex and custom call routing plans when needed.  It is used in addition to the SmartPBX app to supplement the basic call routing configurations available there.   See the user stories below as examples:

User Stories

  • An account has multiple geographic locations and needs to create 
    • Unique office hours and holiday schedules
    • Different language defaults
    • Different answering notices depending on incoming call source and time of day
    • A series of sub-menus and selections (press 1 for support, then 2 for apps and 3 for service issues)
  • An account wants to set up multiple call center queues (for support and sales for example)
  • An account wants to customize incoming call sequences based on unique variables, such as phone number, holidays, etc.
  • An account wants to route incoming fax calls based on time of day or prepend number

Before You Start

Before you start to implement custom callflows, confirm your settings in SmartPBX.
This will ensure you have the newest fields and settings configured for your account.   

In addition the Callflows application accesses and writes settings data that can affect many other applications. It is important the manager working with Callflows has a strong knowledge of how these applications work together and what ripple effects can occur when working with and changing these settings.

Accessing Callflows 

Once your account is created in SmartPBX, go to the applications menu and select Callflows.  


If it’s not displayed,

  1. Try searching for it in the Search Apps field to your left.
  2. Select the App Exchange button, find Callflows there, and select it.  Then use the toggle to enable it.
  3. If you still don’t see it, contact your system administrator.

Your Callflows Dashboard

The “home page” to the Callflows dashboard will look like this.  The large Callflows selection brings you to the home screen where you can build a callflow.   The smaller selections help define attributes for each “flow.” You can access them here, or when you select one of these actions, by picking Edit / Advanced options.


Building a Callflow

When you click on Callflows you will see a brief tutorial for creating a new process and to the left a list of existing callflows assigned to your account and the option to add a new one.

callflows build opening page.png

It outlines the following steps:

  1. Add a Callflow (create new)
  2. Enter phone number / extension(s) tied to this process
  3. Drag your action into the diagram
  4. Save your changes

A more detailed look at these steps is outlined below:

Add a Callflow

  1. Select the Add callflow button in the left menu bar. You will see a “blank screen” waiting to be filled, and the Actions menu to the right.

  2. Click the black bar to assign a number to your callflow. 
    NOTE: if you want to edit an existing callflow, select the edit pencil in the blue bar, upper right.

    callflow add new add number.png

  3. Select either

  • a phone number in your account (you can buy one also)
  • an existing extension shown in the dropdown
  • enter a new extension

callflows get extension.png

Your selection(s) will display in the black title bar and you are ready to add your actions!

callflows extension added.png


  1. Your callflow cannot be saved until you add at least one action.

  2. When first saved, your callflow will display its name as the first extension number you have entered. If you want to change the name, select the edit icon at the top right of the blue callflow bar.
    Enter a unique name, and decide if you want it displayed as a “contact” and in SmartPBX’s main number list options.

callflow edit name.png


Next, review the Actions shown on the right menu bar.

Callflows Actions menu.png


  1. The Basic Menu, with the most popular actions is displayed and open by default. To view additional actions available click on the drop down arrow of the eight additional topics.

  2. For a complete listing of the Actions available in this menu and the parameters they request, see below.

Drag the actions to your “palette” in the order you want the callflow to take. “Drop” it onto the last action you have identified, and it will connect below. Depending on the action you choose, you will need to enter additional information to a dialog box that will pop up.

  1. Some actions trigger dual dialog boxes to display, for example the “Menu” action allows you to enter several menu items.
  2. Make sure to save each dialog box entry! See notes above on how to name your callflow.
  3. To remove a block, click on the x at the top right.

Sample Callflow

Below is a sample that uses basic actions only. It provides a submenu set of options to go to a ring group, to a generic Support Voicemail box, or to a “home” voicemail box. 



Callflows Actions Available

An overview of all the possible callflow actions that are available to use is below.


  • Many of the Settings and Advanced settings values can be defined in SmartPBX; those values will display here. If you change the settings in callflows as part of your configuration the changes will also appear in SmartPBX. Make sure your changes will not affect what has already been defined there (such as Time of Day and Holidays).

Menu Action
What it does
Initial Settings Dialog 
Advanced Settings Dialogs
(accessible from Callflows home page)



Play an audio file such as a greeting

Can create, upload, or Text to Speech files

Can assign Persona for TTS voice

Can set stream option

Settings also available in SmartPBX


callflow play media options.png


Assign Users, Devices, and Groups to a Ring Group

Set ring strategy to concurrent or sequential

Set Ringback destination

Set number of times to ring members before ringback


callflows action ring group.png


Connect caller to a conference call

Set conference name, extension, PIN #s, Join & Exit conference tones

Enable Video Conferencing (added costs)

callflows action conferences.png

callflow play media options.png


Connect a call to a User

Define how many rings to try before moving on.

set email notification for voicemails

Inbound/outbound Caller ID

Shows devices currently assigned

Allows assigning new devices

Full advanced menu


callflows action User select.png

callflows action user advanced menu.png


Direct a caller to leave a voicemail message.

Assign mailbox

Advanced settings for accessing voicemail: auto-login, voicemail usage options

callflows action voicemail connect.png

callflows action voicemail basic.png

callflows action voicemail settings.png


Ask a caller to select a menu option or dial an extension

callflow action menu opening box.png

callflows action edit menu.png

callflows action edit menu options.png

callflows action edit menu extension dialing.png


Ring a cell phone, VoIP, or other device

callflows action ring device.png

callflows action edit menu extension dialing.png

Distinctive Ring

Sets distinctive ring for incoming call

callflows action distinctive ring.png

Callflow Transfers call to another saved callflow callflows action connect to callflow.png  

Page Group

“Page” or Ring several VoIP or cell groups

Set audio one or two-way

Add users, devices or groups to list

callflows action Page Group settings.png  


Allows you to provide key variables as custom application variables    
Missed Call Alert Allows you to assign users receive email notification for unanswered inbound calls that do not result in a voicemail message. Enter a list of emails separated by commas, or select users from the list below. and SAVE! callflows action missed call alerts.png  
Manual Presence


callflows actions manual presence.png  
Text to Speech

Allows you to enter a text that will be converted to speech.

Select voice and language

callflows action TTS.png  

Set a pause before the next action

Define length in seconds

callflows action sleep.png  

Assign a language

Callflows action set language.png  
Group Pickup set Group pickup feature to a user, a group, or a device callflows action group pickup.png  

enable a pivot routine
(common uses are to access data from another source)

Dynamically route calls based on external data as provided by a 3rd party server

callflows action pivot.png  
Receives Fax

Sends a fax to a specific user

Enable T.387 option for faxes on devices

callflows action receive fax.png

Accesses User Options to review fax settings

Screen Shot 2021-02-09 at 4.48.12 PM.png

Collect DTMF

Enables the collection of a DTMF for following steps.

Timeouts are measured in milliseconds

callflows action collect dtmf.png

Collection name is to store as a key. If empty default back end is used.

Interdigit Timeout is how long to wait between entries

Max digits defines how many to wait for

Terminator key to enter when finished

Timeout is how long to wait for first entry


Settings to allow outbound calls to be made from an external source as if it were coming from the business account.

Time settings are in seconds.

callflows action DISA.png

PIN enter the code for enabling DISA

Retries set how many tries to enter the correct PIN

Interdigit is the time allowed between digit entries

Max Digits is the maximum amount of digits allowed to be dialed as the external #.

Preconnect Audio is what the caller hears after entering # before connection

Keep original Caller-ID
If checked, the originating Caller ID will be preserved.

Response Return a custom SIP error code for troubleshooting and/or for announcing error to caller. callflow action Response.png Any media added will be played when an error occurs. e.g. “that extension is no longer in service”
Conference Service Transfer the caller to the conference call service, asks for conference # and PIN #. callflows action conferences.png callflows action conference setings.png
Check Voicemail Sets option to check a group or personal voicemail. callflows action voicemail box 1.png callflows action voicemail basic.pngimage.png
Fax Boxes connects to fax box callflows action connect faxbox.png callflows action fax boxes settings.png
Global Carrier

Route calls to the phone network through pre-configured service providers

Common use is for fully hosted environment where reseller doesn’t have to use their own carriers.


Account Carrier Route calls to the phone network through a configured SIP provider, Google Voice or a physical digital/analog line callflows action account carrier.png  

Ask callers to enter the first 3 letters of the person they’re trying to reach.

Assign specific directory; rules for # input; Sort options

callflows action directory.png

callflows action directory settings2.png

callflows action directory settings.png

Webhook Trigger a webhook call at any level of the callflow to get “real time” info on the callflow behavior. callflows action webhook trigger.png  
Time of Day Actions Select a Timezone callflows actions Time of Day.png  
Enable Time of Day Rules Select a Time of Day “rule”, e.g. a specific holiday or holiday type.

callflows action set time of day.png


callflows action time of day rules.png

callflows action time of day settings.png
Disable Time of Day Rules   image.png  
Reset Time of Day   image.png  
Ring Group Toggle Allows caller to login and logout of ringroups dynamically image.png  
Hot Desk Toggle  Enable / Disable Hotdesking, and Toggle.    
Dynamic Caller ID Enables you to set your caller ID on your phone and it will read that.    
Prepend Caller ID Add some text in front of your caller ID image.png  
Reset Prepend Resets all your prepended text before the Caller ID    
Call Recording Starts and stops Call Recording image.png  


Frequently Asked Questions

What is the difference between these two applications?
They are the same.   Advanced Callflows was introduced as a newer version of Callflows.  The code has since been merged, and the name simplified.   Mentions of Advanced Callflows are only due to legacy habits.

Can one callflow call another callflow?
Yes! One of the action buttons in the Basic menu is “Callflow” which lets you define an existing callflow to connect to.

Is there a limit to the number of steps I can add to a callflow?
No, however the more steps there are the more time will lapse as the steps progress. We recommend shorter Callflow configurations. This way each callflow can be reused as sub-flows for different instances.

You will want to test the callflow once you’ve created it to make sure it isn’t too slow.

I tried to create a callflow using our main number, and it says the number is already in use.  How can you make a callflow for your main phone line?? 
(not using the SmartPBX, but by using the Advanced Callflow app).

Advanced Callflows provides added flexibility in setting where your calls go based on the incoming call number or extension.   If your number is showing "Already in Use", try the following:

  • Look to see if SmartPBX automatically created a callflow from your main number when it was installed.
  • Look for the "Used_by" attribute next to the number for a clue to its assignments

Most people will create a new callflow with an extension to direct calls.   If you do this,

  • Make sure the checkbox on the menu screen is checked for "Allow caller to dial extensions."
  • When you create the callflow, click on the bar at the top of the callflow name, with the little edit button
  • Check the box that says "Make this callflow available to the Main Number"

callflows main number.png

  • Return to SmartPBX and navigate tot he Main Number Incoming Call Routing option.  You should see the new callflow option.

I created an IVR call flow in SmartPBX and now want to edit that using some of the more advanced Callflows features. Where can I access the SmartPBX callflow?
”Callflows” developed in SmartPBX are currently not accessible within callflows. If you want to create a more detailed callflow than SmartPBX offers, you will need to create it from scratch in the Callflows app and point your SmartPBX (holiday hours greetings for example) to the callflow you create.

Is there any way to manually override a Main Number callflow if, for example we want to hold an impromptu all-hands meeting for a quick half hour during the day?
There are several suggestions for achieving this discussed in our community forum here.

How can I set up a system where one option in my menu is to “repeat the menu options?”
Earlier versions of KAZOO allowed you to point to the same callflow as an option. This however caused unfriendly infinite loops and has been disabled. The current best option is to create another callflow that points back to the original callflow (call it a loopback callflow) then reference the loopback in the original.

How can I create a callflow using extension 0?
The SmartPBX automatically creates the Main Callflow with extension 0; it is not configurable for other callflows.

When I have a horizontal list of callflow options, what order does the callflow take?
The callflow will process the options from Left to Right. If for example you have a Time of Day process and list
Morning hours | Evening hours | Holidays
 the flow will not take advance to Holidays if the other flow options apply. We recommend putting your Holiday option first. Note also in this example, these values can be set in SmartPBX, and the precedence for holidays is already set.

What happens if a caller doesn’t select an option in the menu system?
By default the menu system is set to allow 3 “misdials” (or no entry) and will replay the menu after 10 seconds. To change these settings, go to the menu action, and select Advanced Options. You can manage the threshold for the amount of retries and the length of time between tries there.

What does “Require Key Press” mean in the Advanced User menu?
Requiring the key press is the mechanism that prevents the forwarded call from terminating in the forwarded number's voicemail box. It is the same trigger or setting as “Leave voicemail on forwarded numbers.” where by turning this off you enable an option for voicemail at a separate station.  So, disabled “require key press” = leave voicemail on forwarded numbers”.

When I set up my user profile in Callflows it does not associate a “Main Extension” to my user. How do I add one?
The association for “main extension” to a user is a new field in SmartPBX and is not captured in Callflows. This can cause an error when setting up comm.io  that says “Cannot read properties “Numbers” of undefined.” If you get this error message while setting up comm.io, follow these steps:

  • Launch your SmartPBX application
  • Click on Users tab in the left menu bar
  • Find the name you want to use comm.io with.  It will likely show "None" in the field.
  • Add your extension and save your setting.
  • Return to the comm.io setup and the error should be gone.


Related Articles 

SmartPBX_x512.png    SmartPBX User Guide


  Setting up a Virtual Receptionist

CallFlows_x512.png   Advanced Callflow configurations and setup

API References


REST API Reference for Kazoo Crossbar API



callflows action edit menu options.pngcallflows action voicemail connect.png callflows action device edit.pngcallflows action conferences.pngcallflows action reset time of day rules.pngcallflows action reset time of day rules.png



View full File

Link to comment
Share on other sites

  • Create New...