Overview
The Call Flow Designer is a visual drag-and-drop tool that lets you create and manage intelligent call flows for your Virtual-Call Cloud PBX. Using a graphical interface, you connect various building blocks (nodes) to define exactly how incoming calls are handled—from greeting prompts and menu options to time-based routing, database queries, and external API calls.
Prerequisites
- Virtual-Call Cloud PBX with Ultimate Plan
- Administrator access to the PBX Management Portal
- At least one configured extension or queue (as a forwarding target)
System Limits
| Parameter | Limit |
|---|---|
| Maximum number of call flows | 80 |
| Maximum components and branches per call flow | 200 |
| Maximum steps per call flow | 50 |
Page Overview
Navigate to Call Control → Call Flow Designer.
The overview shows all existing call flows with the following columns:
| Column | Description |
|---|---|
| Status | Enabled/Disabled—indicates whether the call flow is active. |
| Name | Name of the call flow. |
| Number | Assigned extension number. |
| Phone Number | Assigned DID/phone number. |
| Remark | Optional description of the call flow. |
| Creation Method | The method used to create the call flow (e.g. Start from Scratch, Built-in Templates). |
| Operations | Actions: Edit, Copy, Delete. |
Above the table, the buttons Add, Export, Options, and Delete, as well as a Search field, are available.
Add a Call Flow
Click Add to create a new call flow.
| Field | Description |
|---|---|
| Name | Name of the call flow. Required. |
| Remark | Optional description. |
| Creation Method | Method for creating the call flow. Required. See options below. |
Creation Method — Options
The Creation Method dropdown offers three options:
| Option | Description | Additional Fields |
|---|---|---|
| Start from Scratch | Creates an empty call flow that you build from the ground up in the visual editor. | None |
| Built-in Templates | Creates a call flow based on a pre-built template. | Template Name (Required) — e.g. Linear Call Flow, Time-based Call Flow, Certified Call Flow, Database Authentication. |
| Import from File | Imports a previously exported call flow from a file. | Upload call flow file (required)—Click Upload to select the file. |
Method: Built-in Templates
Method: Import from File
Available Templates
| Template | Use Case |
|---|---|
| Linear Call Flow | Routes calls based on the DTMF key pressed by the caller to different destinations. Ideal for simple menu-driven routing. |
| Time-based Call Flow | Routes calls depending on the time of day (business hours, after hours, or holidays). |
| Certified Call Flow | Evaluates user input against predefined expressions to conditionally route calls. Useful for PIN or code-based access. |
| Database Authentication | Validates user input against a database to route calls. Suitable for scenarios requiring caller authentication. |
Options
Click Options to configure global settings for the Call Flow Designer.
| Field | Description |
|---|---|
| End Key | Defines which key the caller must press for confirmation (e.g. "Press # to confirm"). |
Visual Flow Editor
In the Operations column, click the Edit icon to open the visual flow editor.
The editor consists of a canvas in the center and a sidebar on the left with the available nodes (building blocks). At the top, you will find the buttons Back, Open in a new tab, Save as Draft, and Save.
Building Blocks (Nodes)
Drag nodes from the sidebar onto the canvas to build your call flow. The building blocks are divided into five categories:
Entry Component
| Node | Description |
|---|---|
| Initial Action | The entry point of every call flow. Defines which phone number(s) trigger the call flow and optionally plays a greeting prompt. |
Call Control Nodes
| Node | Description |
|---|---|
| Prompt | Plays an audio prompt or text-to-speech message for the caller. |
| Business Hours | Branches the call based on defined business hours (business hours, after hours, holidays). |
| Menu | Creates an IVR menu with key input options (e.g. "Press 1 for…"). Routes the call based on the DTMF key pressed. |
| User Input | Captures DTMF input from the caller via the keypad. Typically combined with a Condition node to evaluate the input. |
| Language | Changes the language setting for all subsequent prompts in the call flow. |
| Record | Starts or stops call recording. Can optionally play a notification prompt. |
| Dial by Number | Allows the caller to dial an extension number directly to reach a destination. |
| Dial by Name | Allows the caller to reach an employee by entering the first three letters of their name. This is a terminal component. |
| Transfer | Transfers the call to a defined destination (extension, queue, ring group, voicemail, etc.). This is a terminal component. |
| Hang Up | Ends the call. This is a terminal component. |
Call Flow Nodes
| Node | Description |
|---|---|
| Condition | Branches the call based on logical expressions. Evaluates variables (e.g. user input, caller ID, time) and directs the call into different branches. |
| Loop | Repeats a group of nodes a defined number of times or until a condition is met. |
Internal Data Operations
These nodes query or update data from the internal PBX database during a call. In the sidebar, they appear under the collective entry Internal Data Operations:
| Operation | Description |
|---|---|
| Get Extension Presence Status | Retrieves the current presence status of an extension. |
| Set Extension Presence Status | Changes the presence status of an extension. |
| Get Queue Agent | Retrieves information about agents in a queue. |
| Get Queue Info | Retrieves queue statistics, e.g. waiting calls and available agents. |
| Get Agent Status | Retrieves the login/pause status of a queue agent. |
| Set Agent Status | Changes the login or pause status of a queue agent. |
| Get System Info | Retrieves system information such as date, time, and system language. |
| Get System Capacity | Retrieves system capacity data (e.g. number of active calls, registered extensions). |
| Get Extension Info | Retrieves configuration details of an extension. |
| Get Company Contact Info | Retrieves contact data from the company phonebook. |
External Integration Nodes
| Node | Description |
|---|---|
| Email Sender | Sends emails with customizable content during a call flow. Useful for notifications, alerts, or transmitting caller-specific information. |
| Database Access | Executes SQL queries against an external database to retrieve or update data during a call. |
| HTTP Request | Sends HTTP requests to external web servers, enabling integration with third-party services and APIs. |
Use the Collapse option at the bottom of the sidebar to show or hide the node list.
Canvas
At the bottom of the canvas, you will find view controls: overview map, zoom (−/+), center, horizontal alignment, and vertical alignment.
Managing Call Flows
Enabling or Disabling a Call Flow
A call flow only processes calls when it is enabled. To change the status:
- On the Call Flow Designer overview page, locate the desired call flow.
- Click the Status toggle.
- Confirm with OK.
Exporting and Importing Call Flows
You can export call flows as files—for backup or transfer between systems:
- Export: Select one or more call flows and click Export. The file can later be restored via Import from File or transferred to another system.
- Import: Click Add, select Import from File as the creation method, and upload the file.
Copying a Call Flow
To duplicate an existing call flow, click the Copy icon in the Operations column. Adjust the name and save.
Deleting a Call Flow
Select one or more call flows and click Delete. Confirm the deletion in the pop-up dialog.
Using the Call Flow Designer
- Navigate to Call Control → Call Flow Designer.
- Click Add.
- Enter a name and select the desired Creation Method.
- Click Save. The new call flow appears in the overview.
- Click the Edit icon to open the visual flow editor.
- Drag the desired nodes from the sidebar onto the canvas and connect them.
- Configure each node by clicking on it (e.g. prompts, destinations, conditions).
- Click Save or Save as Draft.
- Return to the call flow list and enable the call flow via the Status toggle.
Example: Time-based Routing with Business Hours
A common use case is routing calls differently during and outside business hours. Here's how to set it up:
- Create a new call flow using the time-based call flow template.
- Configure the Initial Action component with your company's main phone number.
- In the Business Hours component, select or define your business hours schedule.
- In the Business Hours branch: Add a Transfer component pointing to your main queue or ring group.
- In the After Hours branch: Add a Prompt component with an after-hours message, followed by a transfer to voicemail.
- In the Holidays branch: Add a Prompt component with a holiday greeting, followed by Hang Up.
- Save and enable the call flow.
Example: Menu-based Call Routing
Another common scenario uses a menu to route callers to different departments:
- Create a new call flow using the Linear Call Flow template.
- Configure the initial action with your main phone number.
- Set up the greeting prompt in the Menu component (e.g. "Press 1 for Sales, press 2 for Support").
- Assign a transfer component to each key:
- Key 1 → Transfer to the Sales queue
- Key 2 → Transfer to the support queue
- No match → Play an error prompt and repeat the menu or hang up
- Save and enable the call flow.
Best Practices
- Keep call flows simple: Avoid deeply nested branches. Simpler call flows are easier to maintain and debug.
- Test before enabling: Use the Save as Draft option to test your call flow without affecting live operations.
- Use templates as a starting point: Use the built-in templates to create productive call flows faster.
- Use descriptive names: Name your call flows and components descriptively so other administrators can understand the routing logic at a glance.
- Prepare prompts in advance: Record professional audio prompts ahead of time. Text-to-speech is useful for testing, but custom recordings sound more professional.
- Set up fallback routes: Always define a "No match" or timeout path so callers never end up in a dead end.
- Export regularly: Back up working call flows by exporting them before making major changes.
- Use the copy function: Use existing call flows as templates for new, similar flows.
- Respect system limits: Stay within the system limits (80 call flows, 200 components per call flow, 50 steps per call flow) to avoid configuration issues.
Troubleshooting
| Problem | Possible Cause | Solution |
|---|---|---|
| Call flow does not process calls | The call flow is disabled, or the assigned number does not match. | Check that the Status toggle is enabled and the number in the Initial Action matches the incoming DID. |
| The caller hears nothing and is disconnected | Missing components after a branch or no prompt configured. | Ensure all branches have a valid terminal component (Transfer or Hang Up). Check that prompts are assigned. |
| DTMF input is not recognized | Incorrect menu key configuration or timeout too short. | Check the settings of the Menu or User Input component. Increase the input timeout if callers need more time. |
| Call flow cannot be saved | System limit exceeded (too many components or steps). | Simplify the call flow by reducing branches or splitting it into multiple call flows. |
| "Call Flow Designer" menu item not visible | Your plan does not include this feature. | The Call Flow Designer requires the Ultimate Plan. Contact Virtual-Call for an upgrade. |
| Database access or HTTP request fails | Incorrect server address, credentials, or network issue. | Check the connection settings. Ensure the external server is reachable from the PBX and the credentials are correct. |
Comments
0 comments
Article is closed for comments.