Callflows Reference Guide

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.  

image.png

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.

image.png

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.


     
  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

NOTES:

  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

NOTES:

  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. 
 

image.png

Callflows Actions Available

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

NOTES:

  • 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 ActionWhat it doesAdvanced Settings Dialogs
(accessible from Callflows home page)
Media Play an audio file such as a greetingCan create, upload, or Text to Speech filesCan assign Persona for TTS voiceCan set stream optionSettings also available in SmartPBX
Ring
Group
 Assign Users, Devices, and Groups to a Ring GroupSet ring strategy to concurrent or sequentialSet Ringback destinationSet number of times to ring members before ringback
Conference Connect caller to a conference callSet conference name, extension, PIN #s, Join & Exit conference tonesEnable Video Conferencing (added costs)
UserConnect a call to a UserDefine how many rings to try before moving on.set email notification for voicemailsInbound/outbound Caller IDShows devices currently assignedAllows assigning new devicesFull advanced menu 

Voicemail
Direct a caller to leave a voicemail message.Assign mailboxAdvanced settings for accessing voicemail: auto-login, voicemail usage options
MenuAsk a caller to select a menu option or dial an extension
DeviceRing a cell phone, VoIP, or other device
Distinctive RingSets distinctive ring for incoming call 
CallflowTransfers call to another saved callflow 
Page Group“Page” or Ring several VoIP or cell groupsSet audio one or two-wayAdd users, devices or groups to list 
Set CAVAllows you to provide key variables as custom application variables 
Missed Call AlertAllows 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! 
Manual Presence  
Text to SpeechAllows you to enter a text that will be converted to speech.Select voice and language 
SleepSet a pause before the next actionDefine length in seconds 
LanguageAssign a language 
Group Pickupset Group pickup feature to a user, a group, or a device 
Pivotenable 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
 
Receives FaxSends a fax to a specific userEnable T.387 option for faxes on devicesAccesses User Options to review fax settings
Collect DTMFEnables the collection of a DTMF for following steps.Timeouts are measured in millisecondsCollection name is to store as a key. If empty default back end is used.Interdigit Timeout is how long to wait between entriesMax digits defines how many to wait forTerminator key to enter when finishedTimeout is how long to wait for first entry
DISASettings 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.PIN enter the code for enabling DISARetries set how many tries to enter the correct PINInterdigit is the time allowed between digit entriesMax Digits is the maximum amount of digits allowed to be dialed as the external #.Preconnect Audio is what the caller hears after entering # before connectionKeep original Caller-ID
If checked, the originating Caller ID will be preserved.
ResponseReturn a custom SIP error code for troubleshooting and/or for announcing error to caller.Any media added will be played when an error occurs. e.g. “that extension is no longer in service”
Conference ServiceTransfer the caller to the conference call service, asks for conference # and PIN #.
Check VoicemailSets option to check a group or personal voicemail.
Fax Boxesconnects to fax box
Global CarrierRoute calls to the phone network through pre-configured service providersCommon use is for fully hosted environment where reseller doesn’t have to use their own carriers. 
Account CarrierRoute calls to the phone network through a configured SIP provider, Google Voice or a physical digital/analog line 
DirectoryAsk callers to enter the first 3 letters of the person they’re trying to reach.Assign specific directory; rules for # input; Sort options
WebhookTrigger a webhook call at any level of the callflow to get “real time” info on the callflow behavior. 
Time of Day ActionsSelect a Timezone 
Enable Time of Day RulesSelect a Time of Day “rule”, e.g. a specific holiday or holiday type.
Disable Time of Day Rules  
Reset Time of Day  
Ring Group ToggleAllows caller to login and logout of ringroups dynamically 
Hot Desk Toggle Enable / Disable Hotdesking, and Toggle. 
DND  
Dynamic Caller IDEnables you to set your caller ID on your phone and it will read that. 
Prepend Caller IDAdd some text in front of your caller ID 
Reset PrependResets all your prepended text before the Caller ID 
Call RecordingStarts and stops Call Recording 
   

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 Flex UC 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”.

Updated on June 10, 2021

Was this article helpful?

Related Articles