# 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="/files/ji3xnzeWaFOG0Ox4GuAf" 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="/files/LoXnheiPDb86mODXRVGY" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="/files/NMI2nRJEIccrX2pGgTQJ" 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="/files/46pCRah7yt1aemwDxFXE" 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="/files/WOw0d8VArQcGb8eakDSv" 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="/files/oIqTWq73FPBsqOIXcypH" 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="/files/HVSebZvqKZmOnSWB1sJ8" 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="/files/8CPZfRfjvXOgwhsnm6Ax" 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="/files/3MTFSWlafFYAZvHOysw3" 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="/files/n73Pptuj7IzQegzuHiM8" 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="/files/ZKEyqgnnOuan8QB1qE3D" alt="" width="542"><figcaption></figcaption></figure>

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

<figure><img src="/files/VbIA1oO6rwXKp1CuSdFe" 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="/files/siTIIjNrFpDhRSzU96aI" 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="/files/51Q9bnntm8ObgpaasHKM" 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="/files/EHFgQdU0bUdf1asllIXS" alt=""></p>
>
> * For a **specific date**: select the desired date directly from the **calendar**.
>
> <p align="center"><img src="/files/wvyAbuJADgxD7ar53xKZ" alt=""></p>

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

<figure><img src="/files/fk1DClyuIghTZuE9E2La" alt="" width="211"><figcaption></figcaption></figure>

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

<figure><img src="/files/7b0ETEYzbsgaiypn7rtI" 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="/files/HpIEZZoORyKUVfxJ7uwG" 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="/files/EPtY3hqX5KyinRBqAhVG" 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="/files/8Iv8a4kkqJkFX8FCR29v" 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="/files/0kIbK0Xt8kyxsAhifzSS" 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="/files/upi4Tr9YXtlpLfgUTliT" 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="/files/JJf8Cg86NkxzGNYvSD9o" 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="/files/zYpq9lh9Rg4UFJtjkZlF" 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="/files/CsnRPSwbQwOVsd3augQZ" 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-en.dydu.ai/integration/callbot-campaigns.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
