Introduction to Daktela API – Part 1: General Overview

Úvod do Daktela API

The Daktela Contact Center offers several different approaches to integration with external systems, each with its advantages and disadvantages. In this introductory series of articles I will try to describe the different approaches, their possibilities and when it is appropriate to use the approach. Of course, it is not 100%, it is often a good idea to combine two or more approaches in dealing with possible error conditions, but we will gradually get to that. It also depends on the SW architecture of the external application, whether it is a web system or a standalone application, whether it has a thin or thick client, whether the external application offers any standardized API or everything needs to be programmed, etc.

First, let’s imagine the different approaches that Daktela offers. We can divide them into two groups – client and server ones. The client ones are activated on the operator’s computer (client). Server ones then on Daktela (server).

Client access

Client access means that an action is triggered directly on the operator’s computer. This action is called from our GUI application and the server basically knows nothing about it. The advantage is very simple implementation, the disadvantage is the heterogeneity of the environment from which the action is triggered – different web browsers and their settings, firewalls, restrictive applications within corporate environments, etc. These two approaches are never used for closer integration with external systems such as synchronization of data.

URL Popup

URL popups are the simplest form of integration. Within each queue you can define one or more URL links, including passing on the parameters of the activity. For example, for call queues you can send a call ID, caller CLID, DID number, etc. For chat, you can put in the parameters, for example, the IP from which it was accessed, or email of the chatting client.

iFrame widgets

Widgets are an integral part of Daktela. They are the building elements of the dashboard, wallboard and tabs of each activity. In the iFrame widget, enter the URL of an external application, which is then called repeatedly at intervals (dashboard, wallboard) or when the widget is created (activity tab). The advantage is the integration into the Daktela GUI and thus offering the operator two systems in one GUI. It is most often used for integration, when operators use the Daktela GUI to communicate with clients and when they at the same time need to work with the internal CRM system. At the time of writing this article, we have already integrated MS Dynamics and SugarCRM systems.

JS CLI Library

The JS CLI library is a javascript wrapper over our API. It has a standardized interface and offers simple API function calls in a simplified form. For example, our Salesforce connector and the browser add-on work above this library.

Long Pooling

Long Pooling offers a permanent javascript connection to our system, where changes are sent to the logged-in operator (login, activity processing, pauses, etc.) and the external system can respond to them immediately. For example, the entire web interface of our application is implemented through long pooling.

Server accesses

Server accesses are invoked in the backend of our system. Therefore, they are unaffected by any client-side client settings, and there is no need to resolve browser or operating system compatibility.


The Daktela system generates a large number of events for which it is possible to set up various actions – call webservice, send an email or edit a form. All this can be set in a well-arranged graphical interface. At the same time it is possible to set time limits, both for the event recall and the timeout for the event recurrence (for example, to avoid sending 100 SMS messages in case of a problem). However, events are not entirely suitable for synchronization because they do not have any recurrence options if, for any reason, it fails to recall (for example, unavailable webservice).

Scripting using the Daktela API

Direct calling of our HTTP REST API is suitable for batch processing of data or realtime statistics. You can also check queue, user settings, create them, or sync contacts. It is suitable mainly for scripting synchronization of contacts or activities, downloading data to BI systems etc.

How to integrate with Daktela

If you are considering integrating with our system, I recommend that you first consult with our CST team who will be happy to go through your requests and try to propose the best solution accordingly. In the following articles we will try to describe in more detail the individual approaches, however, the system is already relatively robust and it is necessary to think about a lot of things that may occur during the processing of individual activities and affect the operation of the contact center.