
New 3CX Call Flow Designer: Difficult Call Routing Without Programming
- Tutorial
- Recovery mode
In the final version of 3CX Call Flow Designer , new interesting components have appeared. For example, now you can configure complex routing of incoming calls with the mouse literally, without using expressions or procedures in C #. Any user can do this without programming skills.
In this article, we will consider using the new Date & Time condition component to configure call routing depending on the time of day. The voice application will perform the following actions:
For your convenience, the original application project is delivered in the 3CX CFD distribution kit and is located in the Documents \ 3CX Call Flow Designer Demos folder .
To create an application, open 3CX CFD, go to File> New> Project , specify the folder where the project will be saved, and the name of the project.
Drag the Date & Time condition component from the Component Panel on the left to the designer workspace. Name the component, for example, dateTimeCondition by clicking on it and specifying the name in the Properties Window.
Configure 3 component branches. Call them businessClosed , promotions and standard .

Now we will configure the conditions for triggering the branches. Conditions are checked from left to right, and the first branch satisfying the condition is executed. Double-click (or right-click) on the businessClosed branch and select the Configure option .

In the condition settings window, DID line selection and time ranges are set. You can only set the condition if the call arrives in 3CX only to a specific external number (DID). The AllDIDs option includes all external numbers. The AllDIDsWithExceptions option includes all external numbers, with the exception of the following (DID should be separated by a comma). The SpecificDIDs option includes only the numbers listed.
Set the condition AllDIDs , since there is no need to exclude any external numbers from our condition, and click the Edit Date Time Conditions button .

In the opened time interval editor you can specify the following conditions: Day of week- time ranges of certain days of the week, for example, every Monday; Specific day - time ranges of a certain date, for example, the specific date of a holiday; 3CX Office Hours - time range of the Operating hours of this 3CX system; 3CX Out of Office Hours - the time range of the Non-working hours of this 3CX system.
We select the 3CX Out of Office Hours condition , because we want this branch to be performed when our organization is down. The condition does not require other parameters.
Now configure the branching promotions . It works for any external DID on Monday, Wednesday and Friday from 9 to 12 and from 14 to 17. The condition is configured as shown below.

For standard branching, we use the 3CX Office Hours condition , which will work if the previous conditions are not met.

After creating the branches, add the Transfer component to each of them , which will switch the call in one direction or another. Drag the Transfer component from the Component Panel onto each of the branches. Then tune each component in the appropriate direction. In this example, the Destination property is set to extensions 800, 801, and 802, respectively.

The voice application is ready! Now it should be compiled and downloaded to the 3CX server. For this:
Try calling the Queue. You will be switched to the corresponding extension number depending on the current time of day.
In this article, we will consider using the new Date & Time condition component to configure call routing depending on the time of day. The voice application will perform the following actions:
- Outside business hours, including holidays, calls will be routed to the Call Queue called Business closed .
- During business hours on Monday, Wednesday, and Friday from 9 a.m. to 12 p.m. and from 2 p.m. to 5 p.m., calls will be routed to the Promotions Advertising Queue .
- In other working periods, calls will be routed to the Standard Queue .
For your convenience, the original application project is delivered in the 3CX CFD distribution kit and is located in the Documents \ 3CX Call Flow Designer Demos folder .
To create an application, open 3CX CFD, go to File> New> Project , specify the folder where the project will be saved, and the name of the project.
Adding a Date & Time condition component
Drag the Date & Time condition component from the Component Panel on the left to the designer workspace. Name the component, for example, dateTimeCondition by clicking on it and specifying the name in the Properties Window.
Configure 3 component branches. Call them businessClosed , promotions and standard .

Now we will configure the conditions for triggering the branches. Conditions are checked from left to right, and the first branch satisfying the condition is executed. Double-click (or right-click) on the businessClosed branch and select the Configure option .

In the condition settings window, DID line selection and time ranges are set. You can only set the condition if the call arrives in 3CX only to a specific external number (DID). The AllDIDs option includes all external numbers. The AllDIDsWithExceptions option includes all external numbers, with the exception of the following (DID should be separated by a comma). The SpecificDIDs option includes only the numbers listed.
Set the condition AllDIDs , since there is no need to exclude any external numbers from our condition, and click the Edit Date Time Conditions button .

In the opened time interval editor you can specify the following conditions: Day of week- time ranges of certain days of the week, for example, every Monday; Specific day - time ranges of a certain date, for example, the specific date of a holiday; 3CX Office Hours - time range of the Operating hours of this 3CX system; 3CX Out of Office Hours - the time range of the Non-working hours of this 3CX system.
We select the 3CX Out of Office Hours condition , because we want this branch to be performed when our organization is down. The condition does not require other parameters.
Now configure the branching promotions . It works for any external DID on Monday, Wednesday and Friday from 9 to 12 and from 14 to 17. The condition is configured as shown below.

For standard branching, we use the 3CX Office Hours condition , which will work if the previous conditions are not met.

Adding Transfer Components
After creating the branches, add the Transfer component to each of them , which will switch the call in one direction or another. Drag the Transfer component from the Component Panel onto each of the branches. Then tune each component in the appropriate direction. In this example, the Destination property is set to extensions 800, 801, and 802, respectively.

Compiling and installing the application on the 3CX server
The voice application is ready! Now it should be compiled and downloaded to the 3CX server. For this:
- Go to Build> Build All , and CFD will create a DateTimeRouting.tcxvoiceapp file .
- Go to the 3CX management interface under Call Queues . Create a new Call Queue, specify the name and extension of the Queue, and then set the Voice applications option and download the compiled file.
- Save changes to Queues. The voice application is ready to go.
Try calling the Queue. You will be switched to the corresponding extension number depending on the current time of day.