3CX PBX in the Cloud
1 year FREE - no ties!
google cloud platform
3CX
Zero Admin
With the new Dashboard
3CX
Bulletproof Security
With SSL certs and NGINX
3CX
Install on $200 Appliance
Intel MiniPC architecture
3CX
New, Intuitive Windows Client
More themes, more UC
3CX
More CRM Integrations
Scripting Interface to add your own
3CX
Improved Integrated Web Conferencing
iOS and Android apps included
3CX
Run On-Premise or in the Cloud
Google, OVH, Windows & Linux
Fast & easy call management
With the 3CX Web Client

CFD Callflows & Dialers

Callflows and Dialers

On this topic

Callflows and Dialers

Introduction

Creating a Callflow

Creating Callflow Variables

Creating a Dialer

Creating Dialer Variables

Important considerations for Dialers

See also

Introduction

A voice application has two possible entry points:

  • Callflows: are triggered when an inbound call arrives to the voice application extension.
  • Dialers: are launched when the 3CX Queue Manager Service starts, and do their work without any established call.

Creating a Callflow

When you create a new project, by default a new callflow named “Main.flow” is automatically created. The CFD only allows one callflow per project. This is because when you build your project, the output package is uploaded to a queue using a single extension. This extension will be used to activate this callflow.

If you need more callflows, please create a different project for each one.

Creating Callflow Variables

Callflows usually need variables to perform their job. In order to create variables for the callflow, go to the Project Explorer, select the Callflow file, then go to the Properties Window and click the button on the right of the Variables property. The Variable Collection Editor will be shown.

Callflow variables

Creating a Dialer

In a similar way to callflows, a project can only have one dialer. When you upload a project containing a dialer to a queue, it will start working immediately after the 3CX Queue Manager Service starts, without any call triggering this.

A CFD project can have both a callflow and a dialer, in which case the callflow will be activated when the queue extension receives a call, and the dialer will start working as soon as the 3CX Queue Manager Service starts.

To create a new dialer, go to the Project Explorer, right click on the project node, and select “New Dialer”. The new dialer file will be created. The Properties Window will show the dialer properties:

Dialer properties

Dialers have 2 properties that customize their behavior:

  • ParallelDialers: this is the quantity of simultaneous dialer instances that will be launched.
  • PauseBetweenDialerExecution: this is the quantity of seconds that each instance will wait between flow executions.

Let’s explain this using a simple example. Let’s assume that our dialer gets the numbers to call from a database, and then makes the call. The dialer flow will look like this:

Dialer flow

If we set ParallelDialers to 5, and PauseBetweenDialerExecution to 30 seconds, this is what will happen:

  1. A first dialer instance is created. It invokes the database query and makes the first call. Then it waits 30 seconds.
  2. After 6 seconds, a second dialer instance is created. It invokes the database query and makes the second call. Then this instance waits 30 seconds.
  3. After 6 seconds, a third dialer instance is created. It invokes the database query and makes the third call. Then this instance waits 30 seconds.
  4. After 6 seconds, a fourth dialer instance is created. It invokes the database query and makes the fourth call. Then this instance waits 30 seconds.
  5. After 6 seconds, a fifth dialer instance is created. It invokes the database query and makes the fifth call. Then this instance waits 30 seconds.
  6. After another 6 seconds, the first instance wakes up from waiting for 30 seconds, and makes another call.
  7. After another 6 seconds, the second instance wakes up from waiting for 30 seconds, and makes another call.
  8. And so on…

This iteration continues until the 3CX Queue Manager Service is stopped, the queue is deleted, or the voice app is removed from the queue.

Creating Dialer Variables

The same way than callflows, dialers have variables and you can create or edit them from the Properties Window, selecting the dialer object.

Important considerations for Dialers

It’s important to note that Dialers start working as soon as the 3CX Queue Manager Service starts.

Therefore, you need to use “Create a Condition” components to decide if it’s a good moment to make calls. For example, you can check the time of the day, if today is a holiday or we’re in a weekend. And depending on that you decide if you make calls or not.

If you don’t add this logic, the dialer will start making calls as soon as it starts, and will not stop until you stop the 3CX Queue Manager Service.

See also

Get 3CX Free for 1 Year Today
Download On-Premise Try in the Cloud