By including additional services in your call flow you can:
- Separate nuisance callers from genuine ones and treat them differently
- Route calls differently based on the date and time of day
- Play audio announcements to callers before they are routed to one of your numbers
- Route callers differently based on their choices in a menu
- Make use of several distinct Control services on one set of numbers
Call flows are instructions that Smartnumbers uses to route your calls according to your needs. They are represented in a simple graphical user interface, similar to a flowchart:
Call flows give you complete control over how your inbound calls are routed and can be set up via the easy to use call flow designer. This article will explain the basic concepts needed to use the call flow designer and link you to more detailed information as well as some best practice examples. It also provides a guide to recovering a deleted call flow and reverting a broken one to the last working state.
The call flows area is accessed via the left-hand navigation pane in Smartnumbers Hub. If you are already in the Smartnumbers Control app, first click Account Home in the left-hand navigation pane.
Here you will see an overview of all the call flows that your organisation uses along with the ability to add new call flows, export all your call flows for your records and import a call flow (especially useful when something has gone wrong). Each column in the table is searchable.
The columns in the table are:
Short name of the call flow. This can be changed from the call flow designer.
Description of the call flow that helps you identify the correct one. This can be changed from the call flow designer.
- Contract ID
When setting up a call flow, you will be asked for the Contract ID under which calls going via this call flow should be billed.
- Assigned number groups
Calls going to all Smartnumbers in these groups will be routed via this call flow. Hover over each group's name to see the numbers in it.
- Access level
This column can either be Full access or View only. You can only modify call flows you have full access to - view-only flows can only be inspected. For more details, see User Permissions.
Clicking this button allows you to assign numbers to and unassign numbers from the call flow. Unassigning numbers from a live call flow will result in calls to those numbers not being delivered until you assign them to a different call flow and populate the routes of any routing services used in it.
- Three-dot menu
Most actions that can be carried out on the call flow can be accessed through this menu. They are:
- Edit call flow
Use the call flow designer to modify how calls going via this call flow are routed.
- Export call flow
Download a JSON file containing the call flow for your records.
- Delete call flow
Clean up your table of call flows by removing ones that are no longer needed.
Deleting a call flow that has live numbers assigned to it will unassign all numbers from any Control or basic routing services used in it. This will result in calls not being delivered until the numbers are assigned to another call flow and routes of any routing services used in it are populated.
- Edit call flow
All calls that are routed through Smartnumbers go through a call flow.
All Control users are also assigned view-only access to call flows so they can see how their calls are being routed . If you require full access to call flows so that you can modify them, please contact your user admin or Smartnumbers Support.
Users with view-only access to call flows can see what call flows there are but cannot make any changes, export, import, assign numbers to, or create new flows. They can also view each existing call flow via the call flow designer view-only version.
Assigning numbers to call flows
To add new number groups to or remove them from a call flow use the Assign button in the call flows area. This opens a prompt that allows you to manage the number groups that go via the call flow.
Use the drop down menu to select which groups you would like to add. Only number groups not currently used in a call flow can be selected. You can click the three-dot menu to the right of each currently assigned number group to remove it from the call flow. The prompt then shows you which number groups are to be added and removed from the call flow. By clicking Assign, the number groups are added and removed.
Removing number groups containing live numbers from a live call flow will remove them from all routing services in the call flow. Calls to these numbers will no longer be delivered until the numbers are assigned to another call flow and routes of any routing services used in it are populated.
Number groups are currently managed by Smartnumbers Support. If you would like to move some of your Smartnumbers from one group to another please contact us.
Call flow designer
You can access the call flow designer by clicking Edit call flow in the three-dot menu next to each call flow in your table of call flows. This opens a screen that allows you to manage how your calls are routed via a user-friendly graphical interface:
At the top of the screen, you can see the header. This is where you will find:
- The name of the call flow and its version number, which is incremented each time that the call flow is saved. New call flows start at version 1.
- A pencil icon that brings up a screen allowing you to edit the call flow name, description, and the associated Contract ID.
- The Save button (keeps the call flow designer open) & Save and close button (sends you back to the call flows table). Each time a call flow is saved, an audit trail log is created attributing the action to the user making the change.
- Using the X button at the top right, you can exit the call flow designer and go back to the table of call flows without saving your changes. A confirmation screen will allow you to go back to editing if needed.
The rest of the screen is dedicated to the canvas where you can design your call flow and the palette of services that are available to be added to your call flow.
Call flow designer canvas
The main area of the call flow designer is called the canvas. Here, you can view and modify the call flow.
To understand how your call is being routed always start at the Smartnumbers (Call in) block at the top. You can hover over each group's name to see the numbers in it. Then, trace the connections from each service to the next, starting at the bottom edge of the service. Some services allow calls to branch out based on conditions you define - for example, nuisance calls can be routed separately from legitimate calls.
To move within the canvas you can click on the canvas itself and drag whilst holding your left mouse button to move it. To select an individual service you can click on it; holding Shift and clicking on another service adds it to your selection.
To zoom in and out, as well as centre the Call in block or zoom out to make the whole call flow visible, use the panel at the bottom left. This panel also allows you to select all services or none, as well as delete selected services. Deletion is made final once the call flow is saved.
At the right edge of the call flow designer screen, you fill find the services palette. This is where you can select the services to be added to your call flow. To add a service to the call flow, drag and drop it from the palette to somewhere in the canvas and connect it to the other services. Hover over the service to see more details about it.
Please note that some services, like Protect or Nuisance call protection, can only be added to a call flow once. It is therefore recommended to add them as the first step in the call flow.
You may also not have access to some services if your organisation does not have the capability enabled. To enable this functionality please speak to your account manager or get in touch via the linked webpage.
Services that can be added
The individual services that can be used in a call flow are:
Analyse calls for risk and send trusted and untrusted calls through separate routes.
- Nuisance call protection
Send nuisance calls to a separate destination from legitimate calls.
Send calls to multiple destinations and plan for business continuity scenarios and number estate migrations.
- Basic routing
Route calls to each number in the groups assigned to the call flow to a separate destination.
- Transfer to number
Send all calls to numbers in the groups assigned to the call flow to a single destination. Usually, this is the last service in any call flow branch, unless it is being used to provision hunt groups.
Play a custom audio message (e.g. a welcome message) based on an audio file you upload.
- Time-based routing
Send calls to routes according to specific dates, days of the week, and/or times of the day.
- Auto attendant (IVR)
Plays a menu of options for the caller to select from and be routed accordingly. Allows uploading a custom audio file. Also known as Interactive Voice Response.
- End call
Hang up the call. When a call reaches this service no more services can be routed to.
At the bottom of the services palette you will find the fallback number. In the extremely rare case that calls cannot be delivered as specified in the call flow due to a technical problem you can specify a number that all your calls will nevertheless be delivered to.
All Control users are also assigned view-only access to call flows, so that they can see how their calls are being routed without having to worry about breaking anything. If you would like full access to call flows so that you can modify them please contact your user admin or Smartnumbers Support.
Users with view-only access to call flows can see how calls are being routed in each call flow but cannot select, add, remove, reconnect, or modify services used in it. They can zoom in and out and drag the canvas to explore the call flow:
Managing call flows
Whether you are creating a new call flow from scratch to set up the routing for new Smartnumbers, editing a call flow you previously created, or looking to add more functionality to your Control service, the central place to do that is in the call flow designer.
Starting from an existing flow
Extending an existing Control service
To find which call flow determines how the numbers of your Control services are being routed, hover over the call flow icon in the routing table. Then go to the call flows area and open the relevant call flow.
Editing an existing call flow
Users with the Full access permission level can access call flows in their organisation and edit them. Open the relevant call flow in the call flow designer via the Edit call flow button. This allows you to:
- Move the individual services on the canvas by dragging them with your mouse to make the call flow clearer and easier to understand
- Add additional services from the services palette
- Remove links between services by holding Control or Cmd and clicking on them or via right click, depending on your operating system. To insert a service between two existing ones, the link between them will first need to be removed.
- Connect the output port (the circle under each service) to an input port (the circle on top of each service) of another service by left-clicking on the output port, holding your mouse down, and dragging the connection to the input port of another service:
- Delete or Clone services by clicking the three-dot menu of each service (please note that some services can only be used once in a call flow, so cloning does not work).
- Access advanced options via the three-dot menu. Please contact Smartnumbers Support for guidance if there is a need to use these.
- Reach the Help Centre article for a service via a link in the three-dot menu:
- Modify the settings of each service in its body, e.g. change what audio file is being played by the Announcement service
- Configure a service further, e.g. manage the routes of a Control service
Services are connected differently based on their function. You may see the following:
- Simple pass-through services (e.g. Announcement). The call flow plays an audio file to the caller then moves on to the next service in the call flow. The text above the output port of the service tells you when this happens:
- Decision branches to route calls based on certain conditions (e.g. nuisance call protection, IVR, or time-based routing). The text above each output port tells you which calls will be routed down which branch:
- No onward services (e.g. Control or End call). The input ports of these need to be connected to services upstream in the call flow but no services can be used after them:
All services on the canvas must originate from the Call in node otherwise an error will be displayed when attempting to save changes.
Ending the call
It is good practice to always include an End call service at final point where your call flow terminates:
If a service must have it's output ports connected to another service an error will be displayed when such a connection is missing:
To resolve the problem connect another service or End call to the relevant output port.
Starting from scratch
Creating a new call flow allows you to configure where calls to a number group should be routed (e.g. if you acquired or ported in new numbers or when you would like to route some of your existing number groups differently).
To create a new call flow, go to the call flows table and click Add call flow in the top right-hand corner. This opens a dialog that allows you to give the call flow a name, a description and to select the Contract ID under which calls going via the call flow should be billed. In the next step, you can then select number groups to be added to the call flow straight away, or you can choose to add them later after the call flow has been set up. Only number groups not being used in any other call flow can be added.
You can the drag and drop the services as usual when editing the call flow, with all calls originating from the Smartnumbers (Call in) block at the top and then going to any services you configure the call flow to have.
Most customers will have just one Contract ID that can be selected when creating the call flow. However, if there are several, the Contract ID assigned to a call flow determines which customer account any calls getting routed via that call flow should be billed under.
If you are unsure which Contract ID to select when creating a call flow, please contact Smartnumbers Support.
Creating a new routing service
To create a new routing service drag and drop it from the services palette onto the call flow designer canvas and select Add routing service:
You will then be prompted to set up the details of the routing service. For basic routing you only require a name. For Control you are able to set up additional details such as phone activation details for changing the active plan and failover reasons that cause a primary route to fail over to the secondary or tertiary route in a given plan.
For more details, please go to Getting Started with Control.
There is no reason to panic if you accidentally delete a call flow or modify it in a way that causes calls to be dropped. Past versions of the call flow are saved in the audit trail so you can recover them quickly.
In the left-hand menu select Audit trail, search for the name of the relevant flow and find the last version that worked (this is usually the one before the latest version). Download the JSON file containing the call flow by clicking the button at the right of the log entry:
In case this file opens in your browser instead of saving to your computer, press Ctrl+S or Cmd+S to save it to a location of your choosing.
Navigate to the table of call flows, press Import and upload the file in the resulting dialog box.
If the file corresponds to an existing or deleted call flow Smartnumbers will automatically recognise this. By clicking Replace, the call flow will be reverted to the previous version that worked correctly. If the call flow had been deleted you will be prompted to reassign number groups so that calls can again be routed through the call flow.
In case the call flow that was reverted included a Control service, the system will also prompt you to go to the Control audit trail and do the same with your Control service in case it was also broken as the result of the call flow being misconfigured.
You are now ready to start setting up your own call flows! Look to our list of Top 5 call flow designer use cases for inspiration on how call flows can be used. See also the FAQ for answers to the most common questions.