The Daktela Contact Center offers several different approaches for integration with external systems and each of them is suitable for different usecases. The goal of this article is to describe each integration approach and help you to decide the best and most effective way to solve your integration project. We can divide integration approaches into two groups - client and server. The client based approach is activated/run on the operator's computer. The server based approach is then run on server.
This means that some action is started on the operator's computer. The action is invoked from our GUI application, and the server knows nothing about it. The advantage is simple implementation, the disadvantage can be the heterogeneity of the environment from which the action is invoked - various web browsers and their settings, firewalls, limiting applications within corporate environments, etc. These two approaches are never used for sophisticated integration scenarios such as crm data synchronization, etc.
URL popups are the easiest form of integration. Within each queue, you can define one or more URLs which will pops up when new activity in this queue is created. You can use many parameters in the URL from the activity. For example, for voice queues you can use caller ID, DID number, queue name, agents name, etc. and for chat queues, you can use parameters like IP address, email address of the client. You can read the complete documentation about URL popup here.
Widgets are the building elements of the dashboard, wallboard or the individual tabs of open user's activities. Daktela comes with several pre-installed widgets in each category which everyone can start using right away. iFrame widgets can display various information for operator - data from external system about calling user, geo location data of webchat user, etc. The main advantage of this type of integration is simple unified GUI for operator. In some cases we can build custom widgets for our clients. At the time of writing this article, we have already integrated MS Dynamics and SugarCRM. Please follow the documentation here for iFrame setup and configuration.
Long Polling offers a permanent (long) connection to our system, which then notifies about changes of some logged user (logging, processing activities, pauses, etc.). The external system can then perform some actions. Our entire web interface is implemented using long polling approach. The basic API method for long polling is /api/v6/appPullData.json which is documented here.
External CLI library is used to handle our external api for client sites. It currently supports the creation of a click to call record and manage web chat. The documentation is available here.
Adaptation of chat and CTC on client site is possible by using parameters in chat initialization, using some of webchat events, overloading the design, or using your own html/css template. Adaptation is described here.
Server based integration approach is used for more sophisticated actions like CRM synchronization. Actions are called from the Daktela server (or from your server) and are not running on the client.
Within the Daktela system, a large number of events are generated that allow you to set up various actions - to call the webservice, send an e-mail or SMS or edit the form. All this can be set up in nice wizard based interface. At the same time, time constraints can be set, whether to trigger an event, or a timeout when to repeat the event. This is handy when you want to be alerted (eg. by SMS) when your SLA is over some specific limit. And you are OK with just one SMS within given period of time and don't want to receive SMS every minute or so. The documentation about how to create and configure Events is here.
Direct calling of our HTTP REST API is suitable for batch processing of data, realtime statistics or sophisticated integrations. You can request information about queues, users, contacts, accounts, webchats, pauses, tickets etc. You can also peform create actions like - new queues, users, create new calls, tickets, etc. The complete API documentation is available here. Documentation for external APIs (web chat and ctc) for client side simulation is available here.