# Callbot Campaigns

The **outbound call campaign** module of the **BMS** allows you to **automate** and **manage** outbound **telephone calls** using a **callbot** capable of interacting with recipients according to **customized scenarios**. This **feature** offers a wide range of possibilities to **organize**, **monitor**, and **analyze** campaigns, from **campaign creation** to the **analysis of results**.

The documentation below details all the **functionalities** related to **outbound call campaigns**: **creation**, **configuration**, **contact management**, **performance tracking**, and **report analysis**.

{% hint style="warning" %}
As of today, the **management** and **implementation** of **Callbot outbound call campaigns** can only be performed by the **Dydu team**.

If you wish to **deploy** a **call campaign**, please contact **Dydu** for any **creation**, **configuration**, or **support** requests.
{% endhint %}

## **Campaign Setup**

### **Creating a New Campaign**

To **create** a **Callbot outbound call campaign**, follow the steps below:

1. Go to the **Integrations** menu > **Callbot Campaigns**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FrrZWyQIbHJ7yyDX8RujF%2Fimage.png?alt=media&#x26;token=45af7358-d27a-47a6-8647-4d52e51a70af" alt=""><figcaption></figcaption></figure>

2. Click on the **My Campaigns** modal to start the **creation** of a new **campaign**.
3. A **creation window** will appear: enter the **desired campaign name**, then click **Create**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FqBBHQHsDMHiHgx14FRPF%2Fimage.png?alt=media&#x26;token=7a908c32-5bbe-46a1-bb0e-aa8974462033" alt="" width="563"><figcaption></figcaption></figure>

4. The **campaign settings configuration** page opens automatically, allowing you to continue **customizing** your **campaign**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FQbHEBIrjd5qrDEm9a1kV%2Fimage.png?alt=media&#x26;token=03e93bda-24fd-4305-a807-91065008193a" alt="" width="563"><figcaption></figcaption></figure>

## **Overview of the Different Components**

### **Parameters**

#### **General Campaign Settings**

The **General Campaign Settings** section allows you to configure the main **operational settings** of your **Callbot outbound call campaign**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FfSxvlCjW70pwyE9UvLb5%2Fimage.png?alt=media&#x26;token=49a0eafb-8c6d-4e57-87aa-73bd703a882e" alt="" width="375"><figcaption></figcaption></figure>

The different **settings** are:

* **Enable / Disable the Campaign**
  * Allows you to make the **campaign** **active** or **inactive**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2Fz6099v3q8y2J5n6141ED%2Fimage.png?alt=media&#x26;token=8fa912e6-bcb0-4453-a140-0553cee24564" alt="" width="485"><figcaption></figcaption></figure>

{% hint style="info" %}
To **activate** the campaign, you must have configured at least one **call slot**, selected a **Callbot instance**, and defined at least one **success rule**.
{% endhint %}

* **Select a Callbot Instance**
  * Chooses the **Callbot instance** to use for the **campaign**.\
    The displayed **instances** correspond to those configured in the **Channels** menu of the **BMS**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FndW7lGFBYSeJSbCpeCtv%2Fimage.png?alt=media&#x26;token=9a370b71-1c58-4ac3-b6d7-a74715cb219c" alt="" width="541"><figcaption></figcaption></figure>

{% hint style="info" %}
If no **Callbot instance** is selected, it will not be possible to modify the **campaign-related settings** (**number of simultaneous calls**, **maximum calls per contact**, **minimum time between calls**, **voicemail management**).

Make sure to select a **Callbot instance** to access all **configuration options**.
{% endhint %}

* **Call Options:**
  * **Number of simultaneous calls allowed**: defines how many **calls** can be made at the same time by the **Callbot** (from **1 to 50**).
  * **Maximum calls per contact**: specifies the maximum number of **call attempts** for each **contact** (from **1 to 4**).
  * **Minimum time between two calls for the same contact**: sets the minimal delay before **calling back** a contact after a failed attempt (from **0 to 24 hours**).

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FJ2B16T5mei7PtLphzSy6%2Fimage.png?alt=media&#x26;token=a9755a45-ac01-49bc-8e1c-424399051151" alt="" width="556"><figcaption></figcaption></figure>

* **Voicemail Management**
  * Enables or disables the ability to **leave a message** on **voicemail**.\
    If this option is enabled, you can configure a **specific knowledge** that the **Callbot** will use to deliver the **voice message**.\
    It is important to validate the selected **knowledge** by clicking the **validation checkmark**. To delete the associated **knowledge**, simply click the **cross icon**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FTHhoxs4QtPa03H5Uxbmw%2Fimage.png?alt=media&#x26;token=c59329ac-20ba-4bc0-b415-c182d6dcbce6" alt="" width="534"><figcaption></figcaption></figure>

#### **Mapping Between Contact File and Dydu Variable**

The **Mapping Between Contact File and Dydu Variable** section allows you to **link** the **columns** in your **contact file** to the different **variables** used by the **Callbot** during the **campaign**.

{% hint style="info" %}
Only files in **EXCEL** format (**.xls**, **.xlsx**) or **CSV** format (**.csv**) are accepted for **contact import**.
{% endhint %}

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FYA4tJlEHE8hkjZgIM1KX%2Fimage.png?alt=media&#x26;token=eb269039-b2dc-4cd2-8d32-fc35ae702d2b" alt="" width="563"><figcaption></figcaption></figure>

It is mandatory to define the **mapping** for the **Num\_Tel** variable, which must point to the column in the file containing the **contact’s phone number** to call. This variable cannot be deleted, only modified.

{% hint style="info" %}
Without this **mapping**, it will be impossible to **add** a **contact file** to your **configuration**.
{% endhint %}

You can add as many **mappings** as necessary to enrich the **information** provided to the **Callbot**.

However, if there is an **error** in a column name (**non-existent** column or **misspelled**), no error will be displayed — the data will simply not be considered during the **contact import**.

To manage the **mappings** in your **configuration**, proceed as follows:

1. Click the **“Add Mapping”** button.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FZdc4CDeoV3anDZqZdBrx%2Fimage.png?alt=media&#x26;token=a5e178be-91b8-4b52-bfef-e1a869648873" alt="" width="224"><figcaption></figcaption></figure>

2. Enter the **conversation variable name** and the **column name** in the file — both fields are mandatory.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FygOJJHEMPCchuF5Xvi2i%2Fimage.png?alt=media&#x26;token=1ffcd50b-c172-4b03-8721-2ec7486e531e" alt="" width="542"><figcaption></figcaption></figure>

3. Click the **checkmark** to validate the addition, or the **cross** to cancel it.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FlSEifi8H4PJN8ks11QCr%2Fimage.png?alt=media&#x26;token=be0c5c41-868a-4001-9dad-3bd7db0cc72e" alt="" width="375"><figcaption></figcaption></figure>

4. To **edit** an existing mapping, click the **pencil icon** and modify the desired fields.
5. To **delete** a mapping, click the **trash icon** corresponding to the line you wish to remove.

#### **Call Schedule**

The **management** of **date inclusions** and **exclusions** allows you to precisely define the periods during which the **outbound call campaign** can be **active**, as well as those during which **calls** must **not** be made. Thanks to this **feature**, it is possible to **finely plan** the **Callbot’s** activity by specifying **authorized** or **prohibited time slots** according to the **campaign’s needs** (for example, excluding **public holidays** or targeting only certain **time ranges**).

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FdTsktloLuToLT0kLhlEW%2Fimage.png?alt=media&#x26;token=10a4c1d7-7ed6-4b48-9be7-d0ab34094689" alt=""><figcaption></figcaption></figure>

To define an **inclusion** or **exclusion** in your **campaign**, follow these steps:

1. Click the **“Add Inclusion”** or **“Add Exclusion”** button. The process is identical for both options.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FAFmcs9AXmekdwQYeByug%2Fimage.png?alt=media&#x26;token=47b09313-11d7-4043-980f-9dd1ccf6e4dd" alt="" width="375"><figcaption></figcaption></figure>

2. Choose whether you want to **include/exclude** a **weekday** or a **specific date**.

> * For a **weekday**: select the desired day from the available options; **Sunday** is excluded by default to comply with regulations.
>
> <p align="center"><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FHblYvLT5Ueqv2P7rHaML%2Fimage.png?alt=media&#x26;token=85c5c4b2-c064-4416-b85d-30c427dbb460" alt=""></p>
>
> * For a **specific date**: select the desired date directly from the **calendar**.
>
> <p align="center"><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FEDMfaeKOqcqpaVqTI2Pt%2Fimage.png?alt=media&#x26;token=f288f10a-b23b-44b6-a486-e87a2219efb4" alt=""></p>

3. Specify the **time range** to which this inclusion or exclusion should apply.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FBmFhcPgqyirNKFhk8WvD%2Fimage.png?alt=media&#x26;token=04680b19-4ab9-45d9-b9b3-a16021c129ec" alt="" width="211"><figcaption></figcaption></figure>

4. Click **Save** to validate the addition, or **Delete this rule** to cancel.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FDfj3QeDJNqa8ez1BQMyB%2Fimage.png?alt=media&#x26;token=e847fc7d-1ddf-49a9-9fb3-ca2eca6d40a4" alt="" width="375"><figcaption></figcaption></figure>

Added **inclusions** and **exclusions** are displayed in a **summary table**. This table shows, for each row, the relevant **weekday** or **specific date**, the **rule type** (**inclusion** or **exclusion**) as a **tag**, and the associated **time range**.

To **delete** a rule, simply click the **trash icon** to the right of the corresponding row.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FquByzydCtbr5K4IghgSa%2Fimage.png?alt=media&#x26;token=adf07283-b60e-4349-a5fc-574fa234e785" alt="" width="374"><figcaption></figcaption></figure>

#### **Success Rules**

**Success rules** define the **conditions** that must be met for a **conversation** within an **outbound call campaign** to be considered **successful**. These rules make it possible to **precisely customize** the **success criteria** according to the **objectives** set for each **campaign**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FpVbJv6V2mv84z9fuNvFd%2Fimage.png?alt=media&#x26;token=735485d6-d3c6-4400-9ddd-1f7a9382943e" alt=""><figcaption></figcaption></figure>

To manage **success rules** in your **campaign**, proceed as follows:

1. Click the **“Add Rule”** button.
2. Enter the **condition name** (for example: **callbot\_call\_duration\_seconds**).
3. Select a **comparison operator** from the provided list, then enter the desired **value**.
4. Click the **checkmark** to validate the addition, or the **cross** to cancel it.
5. To **edit** an existing rule, click the **pencil icon**. To **delete** a rule, click the corresponding **trash icon**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FJ00Y8sOQx3iQDXRDVnYy%2Fimage.png?alt=media&#x26;token=f46d241b-7379-44d8-9f85-8957feeebd31" alt=""><figcaption></figcaption></figure>

### **Contacts**

#### **Bulk Contact Import via File**

**Bulk import** allows you to add multiple **contacts** to a **campaign** in a single operation, using an **external file**.\
Only **`.csv`**, **`.xls`**, and **`.xlsx`** formats are accepted.

Without a defined **mapping** for the **Num\_Tel** column in the **mapping table**, it will be impossible to **import** a file. This column must always point to the **phone number** of each **contact**.

Other variables defined in the **mapping table** are not mandatory: if they are missing from the imported file, they will simply be **ignored** during the **import**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FT7nAdxiFpWd9HZTdGchJ%2Fimage.png?alt=media&#x26;token=91190efe-6d7a-4405-b020-e494869a86e1" alt=""><figcaption></figcaption></figure>

To **import** the contact file:

* Click the **“Select File to Import”** button and choose your file in **`.csv`**, **`.xls`**, or **`.xlsx`** format.
* Once the file is imported, the number of **contacts added** will be displayed on the screen.
* An additional **“Delete All Contacts”** button will then appear.

{% hint style="warning" %}
This button deletes all **imported contacts**.

As of today, there is no function to **delete contacts individually**.
{% endhint %}

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FcJAvuGKpD408LPjchM46%2Fimage.png?alt=media&#x26;token=081beda7-7e38-457d-94e5-1f0262ec048f" alt=""><figcaption></figcaption></figure>

#### **Adding Contacts via API: Using the Dydu API**

This section allows you to **add** a **contact** to a **campaign** via an **API call**. An example **cURL request** is displayed in the interface; simply fill in the required fields before sending.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FmOSj0zmKIjd7KEhA3Ykd%2FCapture%20d%E2%80%99%C3%A9cran%20du%202025-12-16%2011-00-03.png?alt=media&#x26;token=c1d0b494-91a0-404f-937b-b6d04eb3396a" alt=""><figcaption></figcaption></figure>

**Fields and elements to provide:**

* **`phoneLine`** (**mandatory**): the **phone number** of the **contact** to add.
* **`content.inputVariables`** (**optional**): the **Dydu conversation variables** to associate with the **contact**, in **key/value pairs** (the key is the **Dydu variable name**, the value is its content for this contact).
* **`Authorization` Token** (**mandatory**): retrieve a **Bearer token** from **Preferences > API > API Access**, then use it in the header `Authorization: Bearer <token>`.

This **API** can be called from a **script** to automatically add a large number of **contacts** by connecting to a **database** (e.g., **PostgreSQL**) and sending one **request per contact**.

### **Campaign Activity Tracking**

#### G**eneral Campaign Statistics**

The **General Statistics** section provides a quick overview of the main **performance indicators** for an **outbound call campaign**:

* **Number of contacts**: total number of **contacts** currently present in the **campaign configuration**.
* **Number of calls made**: total number of **calls** made by the **Callbot** as part of this **campaign**.
* **Reachability rate**: percentage obtained by dividing the number of **answered calls** by the total number of **calls made**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FufwWEvJygyTlNCUShABy%2Fimage.png?alt=media&#x26;token=f564e917-3d5c-4979-9ce1-b01436ce4968" alt=""><figcaption></figcaption></figure>

To access more **detailed** or **specific indicators**, you can create a **custom report** in the menu **Custom Statistics > Configuration > Reports**.

#### **Statistics by Contact**

This section allows you to view, for each **contact** in the **campaign configuration**, a set of detailed **information** about the **calls** made.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FqXG21R82674gnI5GR1eP%2Fimage.png?alt=media&#x26;token=5a9ce4e5-1d9b-4923-8888-c43108e6f03c" alt=""><figcaption></figcaption></figure>

A **search bar** is available to quickly find a **contact** by **phone number** (this field does not filter on other data).

For each **contact**, the following **information** is displayed:

* **Number of calls made** for this contact.
* **Date** of the last **call** made to this contact.
* **Link** to the contact’s last **conversation**.
* **Variables** populated during the **conversation**, with the option to view more by clicking the **“info”** button.
* **Contact status**, among the five possible:
  * **To call**
  * **Call in progress**
  * **Calls after success**
  * **Success**
  * **Failure**

It is also possible to **export** all **contacts** and their **calls** into an **Excel file** by clicking the **“Export contacts and calls (Excel)”** button.
