Call Flow Design Configuration Guide

  • Updated on September 22, 2026 PDF Download

Overview

Call Flow Design provides a visual interface for creating and customizing call-handling workflows by adding and connecting components. It can be used to build flexible call-routing logic for different UC scenarios, allowing administrators to define how calls are handled based on caller input, time conditions, logical conditions, and other configured criteria.

A call flow can include prompts, IVR menus, user input, time conditions, language selection, call recording, dialing, transfers, conditions, loops, and call termination.

Call Flow Design is useful when a deployment requires multiple call-handling decisions to be combined into one workflow. For example:

Incoming Call → Welcome Prompt → Time Condition → IVR Menu → Condition → Destination

In summary: Call Flow Design allows administrators to visually define how a call should behave from the moment it enters the flow until it reaches its final destination.

Call Flow Number Range

The UCM provides a dedicated Call Flow Number range, separate from other extension ranges.

The example configuration shown in the WebUI uses:

TypeRange
User Extensions1000–6299
Meeting Extensions6300–6399
Ring Group Extensions6400–6499
Queue Extensions6500–6599
Voicemail Group Extensions6600–6699
IVR Extensions7000–7100
Dial By Name Extensions7101–7199
Fax Extensions7200–8200
Call Flow Numbers8300–8499

The WebUI identifies these as allocated ranges for specific call features and notes that the ranges do not represent the maximum number of objects supported by the feature.

The separate Call Flow range helps distinguish call-flow numbers from ordinary user and service extensions. For this reason, a Call Flow should be assigned a number from the configured Call Flow Number range.

For example, if the Call Flow range is 8300–8499, using 1005 as the Call Flow Number results in an “Extension already exists” message because that number is already within the User Extension range.

Call Flow Number Range

Creating a Call Flow

The UCM provides four methods for creating a call flow:

Templates cover common scenarios, including IVR key routing, time-based routing, and input-matching authentication.

Create from a Template

Under Advanced Call Features, from the Call Flow Design page, click Add.

Create from a Template

In Create New Call Flow, enter the required information:

Name
Enter a name for the call flow.

Remark
Enter an optional description.

Add Method
Select Based on Existing Template.

Select the required template and save the configuration.

Create New Call Flow

The available templates include:

TemplatePurpose
IVR Key Call FlowProvides a predefined IVR-based call flow that routes callers according to the key they press. It is suitable for menu-driven scenarios where different keypad selections lead to different destinations, such as Sales, Support, or other departments.
Time Condition Call FlowProvides a predefined call flow that routes incoming calls according to the configured time conditions. Different routing actions can be applied during office hours, outside office hours, or holidays, allowing the call-handling behavior to change automatically based on the organization’s schedule.
Input Match Authentication Call FlowProvides a predefined call flow that collects input from the caller and checks it against predefined values. Based on whether the entered value matches the configured value, the call can be routed to the appropriate destination or handled as invalid input.

After creation, click Edit Component. The call-flow editor opens in a new browser tab. Click the + icon to add additional nodes.

Creating a Call Flow

IVR Key Call Flow

The Call Flow Based on IVR Key Press template provides a predefined call-routing structure based on the caller’s keypad input. When the template is selected, the UCM automatically creates an IVR-based flow with branches for Key 1 and Key 2, which can route the caller to different destinations, as well as Invalid Input and Response Timeout branches to handle unsuccessful or incomplete input. The generated flow provides a ready-to-use starting point for menu-based call routing and can be further customized in the Call Flow editor to match the required UC solution.

IVR Key Call Flow

Call Flow Based on Time Condition

The Call Flow Based on Time Condition template provides a predefined structure for routing calls according to the configured time conditions. When the template is selected, the UCM automatically creates branches for different time states, such as Office Time, Out of Office Time, and Holiday. In the example shown, calls received during office hours are transferred to a Queue, calls received outside office hours are transferred to Voicemail, while calls received during a holiday are terminated. This template is therefore useful for automatically applying different call-handling rules depending on the organization’s operating schedule.

Call Flow Based on Time Condition

Input Match Authentication Call Flow

The Input Match Authentication Call Flow template provides a predefined structure for collecting input from the caller and checking it against a configured value. In the example shown, the caller enters information through the User Input component, after which the Condition component evaluates the entered value. If the input matches the configured value (1000), the call is transferred to the Queue; if the input is invalid, the call is routed to Hang Up. This template is useful for simple input-based validation and routing scenarios where access or call handling depends on information entered by the caller.

Input Match Authentication Call Flow

Create Manually

Click Add and select Manual under Add Method.

Create Manually

After you create the flow, open the editor and add or drag the required components into the design area.

Copy an Existing Call Flow

Select Based on Existing Flow to reuse an existing call flow.

This method is useful when an existing configuration is similar to the new requirement and only a few components need to be modified.

Copy an Existing Call Flow

Import a Call Flow File

Select Import Call Flow File to import an existing call-flow configuration in JSON format.

Import a Call Flow File

Building the Call Flow

The call flow begins with the Initial Action and continues through the components added to the visual design.

The main components are:

ComponentFunction
PromptPlays an audio file or text-to-speech prompt.
Time ConditionRoutes calls according to time.
IVR MenuProvides menu choices and routes calls according to DTMF input.
User InputCollects DTMF input for further processing.
LanguageChanges the language used by subsequent prompts.
Record AudioControls call recording.
Dial By NumberAllows callers to enter a number for dialing.
Dial By NameAllows callers to search for a user by name.
TransferTransfers the call to a configured destination.
Hang UpTerminates the call.
ConditionRoutes the call according to an expression.
LoopRepeats components according to a count or condition.
Building the Call Flow

Initial Action

The Initial Action is the starting point of the call flow. It defines the number used to access the call flow and can also include a prompt for a welcome message or instructions. The configured number must belong to the Call Flow Number range.

Prompt

The Prompt component plays an audio file or converts text to speech. Custom audio can also be uploaded, and AI-generated prompts can be used when the applicable AI functionality is available.

Time Condition

The Time Condition component routes calls according to time. It supports Office Time, Custom Time, and Custom Time Group.

Time Condition

IVR Menu

The IVR Menu component provides menu options and routes calls according to the caller’s DTMF input. A prompt can be configured using an existing audio file or AI-generated speech, with options to define the language, voice, speech speed, and volume. The menu can also be configured to repeat the prompt a specified number of times, as well as define Digit Timeout and Response Timeout values. When the configured timeout is reached, the call can follow the corresponding Invalid Input or Response Timeout branch.

IVR Menu

User Input

The User Input component collects DTMF input from the caller for further processing. The entered value can be stored in a variable and used with a Condition component to determine the next call-flow branch. A prompt can be configured to guide the caller’s input, using an existing audio file or AI-generated speech. The component also supports Digit Timeout, Response Timeout, and the configured terminating key to control when input collection ends.

Language

The Language component changes the language used by subsequent system prompts. Its priority is lower than the extension language setting; when the extension uses the default language, the language configured in this component is applied.

Language

Record Audio

The Record Audio component controls call recording. A prompt can be played before or during recording to inform the parties that the call is being recorded. The component can also be used to disable recording for the call.

Dial By Number

The Dial By Number component allows the caller to enter a number and be routed to an applicable destination. Extension dialing can be configured to allow all extensions, selected extensions, or all extensions except selected ones. Local service numbers and external numbers can also be configured.

Dial By Number

Dial By Name

The Dial By Name component allows callers to search for and call a user by entering the first three letters of the user’s name. The component can be configured with a Prompt to guide the caller and supports dialing users from Local Members and configured LDAP Phonebooks. Administrators can select which local users or LDAP phonebook entries are available for dialing by moving them from the Available list to the Selected list.

Transfer

The Transfer component transfers the current call to a configured UCM destination. A prompt can be played before the transfer to notify the caller.

Hang Up

The Hang Up component terminates the current call when the caller reaches this point in the call flow. This component does not have any configuration options; simply add it to the flow wherever the call should be terminated

Hang Up

Condition

The Condition component evaluates expressions and routes the call through different branches according to the result. Multiple branches can be configured with different expressions.

Condition

Loop

The Loop component repeats one or more components either for a fixed number of times or according to a configured condition. Components to be repeated can be added inside the Loop component.

Expressions

Expressions are mainly used with Condition and conditional loops.

The feature provides built-in variables including:

VariableDescription
CALLFLOW_LANGUAGELanguage configured for the current call flow
CALLFLOW_NUMBERNumber of the current call flow
CFAUTORECORDINGWhether recording is enabled
CF_INPUT_STATUSStatus of the previous user input
CF_INPUT_KEYValue of the previous DTMF input

Examples:

"${CF_INPUT_KEY}" == "1234"

Checks whether the entered value is 1234.

"${CF_INPUT_KEY}" == "1" & "${CALLERID(number)}" == "5003"

Checks whether the input is 1 and the caller number is 5003.

"${CF_INPUT_KEY}" == "1" | "${CALLERID(number)}" == "5003"

Checks whether the input is 1 or the caller number is 5003.

"${BLACKLIST()}" == "1"

Checks whether the caller is on the blacklist.

Saving and Enabling the Call Flow

When the configuration is complete, click Save.

An incomplete configuration can be saved as a draft, but a draft cannot be enabled.

A completed call flow can be enabled from either:

  • the Call Flow Design list; or
  • the call-flow editing page.

When enabling from the editing page, click Enable and save the configuration.

Saving and Enabling the Call Flow

Using a Call Flow with Other UCM Services

A call flow becomes part of the UC solution when it is assigned as the destination of another UCM service.

For example, in an Inbound Route, the Inbound Destination can be configured to use a Call Flow.

A typical deployment can therefore follow:

External Call → Inbound Route → Call Flow → IVR / Condition / Transfer → Final Destination

This approach allows administrators to use Call Flow Design as the logic layer between an incoming call and the final destination, making complex routing easier to organize and maintain.

Using a Call Flow with Other UCM Services

Call Flow Management

Call flows can also be exported for reuse or backup.

Select the required call flow(s) and click Export.

  • Exporting one call flow produces a JSON file.
  • Exporting multiple call flows produces a ZIP file containing the JSON files.
Call Flow Management

Supported Devices

Models

Firmware Required

UCM630x Series

1.0.35.4+

UCM630xA Series

1.0.35.4+


Was this article helpful?

Related Articles

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
Contact Support