Webitel: Documentation

Typical Dialer Scenarios in Webitel

1. Importing Contacts: Template Creation and CSV File Structure

To import contact data into a campaign, you must first configure a field mapping template and then prepare a CSV file with the appropriate structure.

1.1. Configuring the Import Template

  1. Go to AdminIntegrationsImports of CSV from file (Fig. 1).

Imports of CSV from file.png
Fig. 1. “Imports of CSV from file” section
  1. Click the Add button to create a new template (Fig. 2).

Add.png
Fig. 2. Add button
  1. In the General tab (Fig. 3):

    • Enter the template Name — this will be a unique identifier for future reference.

    • Select the Import destination — the queue into which the subscribers will be imported.

General.png
Fig. 3. “General” tab
  1. In the Settings tab (Fig. 4), specify the column headers that will be used in the CSV file. The values must exactly match the headers in the CSV file.

Settings.png
Fig. 4. Example of column mapping

Required fields:

  • Name column — the column that contains the subscriber’s name (e.g., Name).

  • Communication type Destination column — the column containing the communication channel (e.g., phone number, Mobile).

  • Communication type Code column — the type code for the communication channel (e.g., Work Type for a work number). This code can be found in the Communication type directory under the Code column.

Optional fields:

  • Timezone column — subscriber's timezone.

  • Priority column — dialing priority (a higher number means higher priority).

  • Expire column — the expiration date of the contact.

  • Bucket column — the bucket ID.

To find the bucket ID, go to AdminDictionariesBuckets, open the desired bucket, and copy the numeric ID from the URL (Fig. 5).

image-20250708-150824.png
Fig. 5. Bucket identifier
  • Agent column — ID of the agent assigned to the contact.

The agent ID can also be found in the URL of the agent’s detail page.

  • Variables column — dynamic variables used in the call scenario.

  • Communication type Priority column — used when the contact has multiple communication channels (e.g., several phone numbers).

Table.png
Fig. 6. Example table for importing subscribers with two phone numbers

The sequence of values in the Communication type Destination column must match those in Communication type Priority and Communication type Code.

  • Communication type Description column — additional description of the contact method.

  • DTMF column — values for dual-tone multi-frequency signaling.

Once all required fields are set, the Save button becomes active. Required fields are marked with an asterisk *.

1.2. Preparing the CSV File

After saving the template, create a CSV file where each row corresponds to one member, and each column corresponds to a data type defined in the template.

When saving the file, make sure to select "CSV file" as the file type.

1.3. Uploading the File

  1. Go to AdminIntegrationsImports of CSV from file.

  2. Find the required template and click the upload icon 91f3ef3e-039c-4454-abf3-5c3444d0eab5 .

  3. Select the necessary file on your device and click the “Open” button (depending on your OS, the file selection window may vary) (Fig. 7).

File selection window.png
Fig. 7. File selection window
  1. After the upload, a modal preview window will open (Fig. 8).

Modal window Import CSV.png
Fig. 8. “Import CSV” modal window
  1. Click the “Save” button to start the import.

If the uploaded file does not contain the column headers specified in the template, the import will not be performed.

2. Deleting Contacts: Manual and Automated

In certain scenarios, it may be necessary to remove contacts from queues—either manually or by ID.

2.1. Manual Deletion of Contacts

  1. Go to AdminContact CenterQueues (Fig. 9).

Queues.png
Fig. 9. “Queues” section
  1. Find the required queue in the registry. You can use filters and/or the search field (Fig. 10).

Searching the queue.png
Fig. 10. Queue search
  1. Click the Members tool icon next to the desired queue to open the list of its contacts (Fig. 11).

Members icon.png
Fig. 11. “Members” tool
  1. The Members page opens, displaying all current records (Name, Creation Date, Destination, Priority, Attempt count, Completion reason, etc.) (Fig. 12).

Members page.png
Fig. 12. “Members” page
  1. You can apply filters or use the search field to filter by date range, status, priority, or agent (Fig. 13).

Member search.png
Fig. 13. Member search
  • To delete a single Member, click the Removal tool icon next to the corresponding record (Fig. 14).

Delete tool.png
Fig. 14. Delete a single Member
  • To delete multiple Members, select them using the checkboxes on the left (Fig. 15.(1)) and click the mass deletion icon at the top right of the table (Fig. 15.(2)).

Multible deleting.png
Fig. 15. Delete multiple Members

IMPORTANT! Deletion from one queue does not affect other queues — the contact will be removed only from the selected queue.

2.2. Automated Deletion of Contacts via API

If you need to manage the contact list remotely or in bulk, you can use the API to delete queue entries by their IDs.

  1. To delete a contact, you need two values: the Queue ID and the Member ID.

  • The queue ID can be found in the URL of the queue configuration page: AdminContact CenterQueues (Select a queue) (Fig. 16).

image-20250709-092707.png
Fig. 16. Queue ID in the URL
  • The Member ID can be found in the URL of the specific contact’s edit page: AdminContact CenterQueuesMembers(Select a contact) (Fig. 17).

image-20250709-092759.png
Fig. 17. Contact ID in the URL
  1. Once you have both the Queue ID and Member ID, you can perform the deletion via API using the DELETE method:

DELETE /call_center/queues/{queue_id}/members/{id}

For example, to delete a contact with ID 50668 from a queue with ID 130, the request would look like this:

DELETE /call_center/queues/130/members/50668

2.2.1. Steps to Execute the Request in Postman

IMPORTANT!
Before sending the request, make sure that:

  • You have a valid license key;

  • Your account has sufficient access rights to use the Webitel API;

  • You have entered the correct queue_id and contact id.

  1. Open Postman and click the + button to create a new request (Fig. 18).

image-20250616-130932.png
Fig. 18. Creating a new request
  1. In the left dropdown, select the DELETE method (Fig. 19).

image-20250616-131057.png
Fig. 19. Selecting the “DELETE” method
  1. Enter the full request URL in the following format:

https://{your_domain}/api/call_center/queues/{queue_id}/members/{id}
  • https://{your_domain} — base address of your Webitel instance (e.g., test.webitel);

  • /api/call_center/queues/ — path to the call center queues;

  • {queue_id} — unique ID of the queue from which you want to delete the contact (e.g., 130);

  • {id} — unique ID of the contact you want to delete (e.g., 50668).

  1. Open the Headers tab (Fig. 20) and add the following key-value pairs:

Key

Value

X-Webitel-Access

{{access_token}}*

Content-Type

application/json

*The access token is generated in the user settings. Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

image-20250702-082540.png
Fig. 20. Entering values in the “Headers” tab
  1. Click the Send button to submit the request (Fig. 21).

image-20250702-082644.png
Fig. 21. “Send” button
  1. If the request is successful, the server will return a 200 OK HTTP status, indicating that the contact has been successfully deleted.

Note: Deletion via API has the same effect as manual deletion — the contact is removed only from the selected queue. Other queues remain unchanged.

2.3. Deletion Restrictions

  • Contacts added manually (via the interface): can be deleted without limitations.

  • Contacts imported via CSV: can be deleted manually or via API.

  • Active calls: if the contact is currently in a call, they cannot be deleted until the call is finished.

  • Contacts in wrap-up state: deletion may be delayed until the wrap-up is completed.

3. Configuring display of text and variables in the Post-processing form

To immediately display text and variables to the agent after the call ends:

  1. Go to AdminRoutingFlow schemas (Fig. 22).

Flow.png
Fig. 22. “Flow schemas” section
  1. On the Flow schemas page, click the Add button (Fig. 23).

Add schema-20250709-095104.png
Fig. 23. “Add” button
  1. Create a scheme of the Forms type (Fig. 24).

Create new flow.png
Fig. 24. “Create new flow” modal window
  1. On the scheme configuration page, select the Form Text component (Fig. 25).

image-20250616-161920.png
Fig. 25. “Form Text” component
  1. In the component settings, enter the name of the variable in the Id field (Fig. 26). You can copy the variable name from the Variables tab of the contact in the queue: AdminContact CenterQueuesMembers(Select a member)Variables.

ID_Form_Text.png
Fig. 26. “Id” field
  1. In the Text field, enter the message to be shown to the agent, including the variables in the ${variableName} format (Fig. 27).

Text_Form_Text.png
Fig. 27. “Text” field
  1. After saving and activating the scheme, the configured text and variable values will be automatically displayed in the Post-processing Form — without needing to click interface elements to expand the content. This simplifies the agent's workflow and speeds up access to important information (Fig. 28).

View at Workspace.png
Fig. 28. Post-processing Form view after scheme configuration

4. Analytics and Dashboards in Grafana: Monitoring Queues and Detecting Anomalies

Analytical dashboards in Grafana allow you to monitor the performance of queues, agents, and campaigns in real time, detect anomalies, and optimize the settings of the dialing system.

4.1. Accessing Dashboards

To access analytics, go to the Grafana system and select the Dashboards section from the left-hand menu (Fig. 29.(1)). From the list, select the desired dashboard (Fig. 29.(2)).

Dashboards_Grafana.png
Fig. 29. Searching for a dashboard in Grafana

On each dashboard page, the following actions are available:

  • filtering by Queues (Fig. 30.(1)), Buckets (Fig. 30.(2)), and Teams (Fig. 30.(3));

  • selecting a time range (top right corner) (Fig. 30.(4));

  • enabling real-time data updates (Refresh) (Fig. 30.(5)).

Dashboard.png
Fig. 30. Main Grafana dashboard with a selected queue

4.2. Key metrics for Queue Analysis

The dashboard displays metrics that are critical to the operation of a contact center.

Values are highlighted in green or red depending on whether they meet the expected KPIs.

4.2.1. AR — Abandoned Rate

Displays the share of calls that were disconnected before reaching an agent.

There are two calculation methods depending on the context:

  1. In the Information table → “AR (by queue interval)” (Fig. 31):

image-20250709-103613.png
Fig. 31. “AR (by queue interval)” metric in the “Information” table

Formula:

Abandoned Rate (%) = (Ab - ARA) / An × 100

Where:

  • Ab — number of answered calls where the agent was not connected (only calls classified by AMD as HUMAN or NOTSURE, if allowed in queue settings).

  • ARA — Abandon Rate Adjustment, a dialer parameter that corrects the value.

  • An — number of answered calls with the same AMD classification.

This value is calculated for the interval defined in the queue settings (Recalculation interval parameter).

  1. In other dashboards (outside the “Information” table):

A simplified formula is used without ARA adjustment:

Formula:

Abandoned Rate (%) = (Ab / An) × 100

This value is calculated based on the time range selected in Grafana dashboard filters.

4.2.2. “Information” Table

The Information table (Fig. 32) shows the number of members in queues and the progress of dialing.

Information table.png
Fig. 32. “Information” table

Below are the key indicators that directly affect the efficiency of the predictive dialer.

4.2.2.1. Progress

A visual scale showing the percentage of processed members relative to the total number in the queue:

  • from 0% to 60% - red color;

  • from 60% to 80% - orange color;

  • from 80% to 100% - green color.

4.2.2.2. Answered (by dialer interval)

Displays the total number of calls answered by agents during the dialer’s recalculation interval. Each dialer type has its own Recalculation interval parameter.

4.2.2.3. Connected (by dialer interval)

Total number of calls successfully connected to agents during the recalculation interval.

4.2.2.4. Lost (by dialer interval)

Number of calls where the member answered, but no agent was connected.

4.2.2.5. Average Response Time

The average time it took for an agent to answer a call.

4.2.2.6. Dialing (predicted)

Estimated time required to handle a call.

May include:

  • time to connect with an agent;

  • time for the member to describe their issue;

  • time for the agent to provide a response.

Calculation is performed according to the internal logic of the dialer.

4.2.3. Agents Table

The Agents table (Fig. 33) displays general call information for each operator.

Agents table.png
Fig. 33. “Agents” table
4.2.3.1. AHT (Average Handle Time)

The average amount of time an agent spends handling a call — from the moment the call is answered until the post-processing phase or call termination.

Formula:

AHT = (talk time + post-processing time) / number of connected calls

4.2.3.2. ASA (Average Speed of Answer)

The total time callers spend waiting in the queue, divided by the number of calls answered by agents during the selected period.

  • Agent ASA — the average time it takes an agent to answer a call (from call start to answer).

  • Member ASA — the average time it takes a member to answer a call (from call start to answer).

Formula:

ASA = total wait time of answered calls (sec) / number of answered members (per day)

4.3. How Lost% (Abandoned Rate) Depends on Queue Settings

The Lost% (Abandoned Rate) metric is directly influenced by the queue configuration in Webitel (Admin → Contact Center → Queues → [Selected Queue] → Parameters tab).

The following parameters have a major impact on this metric:

  • Originate timeout and Max wait time (Fig. 34.(1,2)) — define how long a member will wait before abandoning the call.

  • Max agent lines (Fig. 34.(3)) — the higher this value, the greater the risk of agent overload.

  • Max agent lose calls (Fig. 34.(4)) — determines the threshold of missed calls that will stop further dialing.

  • Dialing rate (Fig. 34.(5)) — a high value may result in agent overload.

  • Target abandoned rate % (Fig. 34.(6)) — the KPI threshold for the Lost% metric.

Parameters.png
Fig. 34. Queue dialing parameters in Webitel

4.4. Detecting Anomalies in Dashboards

Below are the key anomalies to monitor in order to ensure stable system operation and efficient call handling:

  • AR (by queue period) in the Information table (Fig. 35) — this value should not exceed the threshold configured in the dialer and should remain lower than the overall Abandoned Rate, which reflects the total percentage of lost calls. A high value may indicate queue configuration issues or insufficient number of available agents.

image-20250709-103613.png
Fig. 35. “AR (by queue period)” value in the Information table
  • Avg. operator wait time (Fig. 36) — shows how long an operator waits before receiving a call. If this value is high, consider increasing the dialing load.

image-20250709-111136.png
Fig. 36. “Avg. operator wait time” indicator
  • Next Attempt table (Fig. 37) — helps identify why a queue is making too few dialing attempts or not dialing at all. It also shows how many members are being taken into processing. If no members are listed — the queue is inactive. If the number is low — the queue may not be using all available resources, which may cause agent idle time.

Next attempt.png
Fig. 37. “Next Attempt” table
  • Resources table (Fig. 38) — if the channel limit is used at 100% while agents are idle, consider increasing the number of lines available to the dialer.

image-20250709-112726.png
Fig. 38. “Resources” table
  • Lost table (Fig. 39) — if the number of lost calls increases, review the AMD settings or analyze reasons for extended member waiting times before an agent answers.

Lost table.png
Fig. 39. “Lost” table

Note on Grafana: Automatic anomaly highlighting in Grafana dashboards may be unavailable due to custom thresholds used in different projects. Manual configuration is required, taking into account each system’s specific setup.