Howto:XQi Engine - XQTING - 3rd Party Product

From innovaphone wiki
Jump to navigation Jump to search
XQting logo.png

Product Name

XQi Engine

Certification Status

Referralprod.PNGThis product is listed due to a customer testimonial. No tests have been conducted by innovaphone.

Test report was created June 2020.



Product Description

Introduction on how XQTING can help you build integrations with the innovaphone platform.

Integrating with the innovaphone platform

Since version 13 of the innovaphone platform, one option to create an integration (with another software in your business) is by writing an “app” in the innovaphone app platform (myApps).

Though such an app is completely part of the platform, building (developing) it is a time-consuming activity and has some challenges. Therefore, one should first investigate:

  • The potential of the app. Can you make the app once and sell it many, many times? There are thousands of innovaphone users throughout the world. Do you think of an app that every innovaphone user likes, or better, needs?
  • The licensing model. If you are planning to distribute your app to the world, you will want some return, and this is done via a license cost for your app. How much will you charge the user for using your app?
  • Do you have profound knowledge and understanding of the innovaphone platform? C++ knowledge is a must. If you do not have this, how much time (money) would it cost to acquire that knowledge, and is it still profitable to make the app?
  • Do you look at innovaphone version 13 only?

If you can answer all the above questions with a solid “yes”, then you must make an app and publish it in the myApps store.
If you do not have the required technical expertise (innovaphone platform knowledge, C++ development skills, async programming…), but the rest is a “yes”, XQTING can help you to make your app. Refer to the contact section at the end of this page and do not hesitate to contact us.

In all other cases, you are probably better of by integrating the innovaphone platform using the XQi Engine. An integration of the innovaphone platform with the XQi Engine is the way to go if:

  • You have little or no innovaphone platform or telephony knowledge, but your customer wants to integrate the platform in his processes.
  • The solution you must provide is only applicable for this one specific customer. It is not usable for anyone else, and it will not be available in the app store.
  • You want to deliver a solution fast, write less code, and trust upon the knowledge of our developers with the innovaphone and other platforms
  • You want to avoid developing a solution from scratch, which would cost many man-days, making the project impossible to sell
  • It needs to run on older platforms (v11 or v12)

Why did we make the XQi Engine?

We live in a world of platforms, clouds, and applications. Most of the software programs available today offer APIs to integrate. One could wrongly conclude that, as a result, all applications seamlessly talk with each other. But nothing is less true because each API lives in its own world. The concept of an employee will be different in a HR application, compared to the employee model in the accounting software of that same company.

API challenges.png

We could opt for a tailor-made integration: analyze the APIs, come up with a plan and start programming. This will always work but might not be the cheapest solution: you need to start from scratch (every time again) or you could use expensive middleware (e.g. Biztalk). Another approach is to use low code automation solutions such as Microsoft Power Automate, Zapier and IFTTT… These tools start at a reasonable price but tend to get expensive when heavily used, complexity is increased, or popular services are interfaced. They also typically do not work very well with (old) on-premise legacy systems (no, not all is cloud yet).

The XQi Engine is situated somewhere between.

The XQi Engine is a low code solution that is easy to install, to understand and to learn. Yet, it is flexible enough to create more complex processes and flows. It runs on premise, it can be hosted, or it can be deployed in the cloud. The XQi Engine runs on both Windows and Linux. It bundles all the knowledge that our engineers have acquired in the numerous integration projects. Furthermore, the engine is continuously extended with new modules as we get more requests and projects.


Applied to innovaphone, it gives the below overview. Note that the engine supports multiple ways to connect to innovaphone.


Compared to your own custom development, the XQi Engine is your best choice if you are bound to a limited project timeframe and budget.

Example use cases

Using the v13 replicator API

Refer to our blog article.
The replicator API gets all user/device/group information & updates. It is used to synchronize with other systems, e.g. update another system with a REST call to set a users’ new device.

Synchronizing Azure AD users

Refer to our blog article.
Is used in combination with the innovaphone Admin API to synchronize users with Azure Active Directory.

Collecting Call Data Records (CDRs)

Refer to our blog article.
The example is based on Teams, but same applies to innovaphone CDRs. A similar approach can be used to export CDR data to accounting or management systems.

Rapid HTTP server development

Do you use voicemail scripts in your innovaphone and want to integrate with external sources? This can be done in your voicemail script by calling a HTTP URL. But how do you create a simple HTTP server that will fetch the required data and return a simple answer without having to build a complete web application and set up a web server? The engine has an HTTP server on board and allows you to quickly implement any HTTP request and return an answer in any format you like.





Timed execution of processes

The engine supports scheduling a timer event to execute a specific process.
Applicable for:

  • Synchronization of data sources where notifications are not generated
  • Check availability of services and generate notifications
  • Check data from different sources and trigger actions (HTTP)
  • Schedule import/export of data
  • Launching tools periodically

One can use the innovaphone API to generate calls in case a failure is detected.

Notification engine

With the XQi Engine one can generate notifications via different ways depending on an incoming event. Such incoming event is a HTTP call or failure of a process. Notification are sent via

  • Innovaphone (by means of the RCC API)
  • Email
  • SMS
  • WhatsApp

Pop-up customer information

Upon arrival of an incoming external call, the user wants the corresponding ERP/CRM page of the caller/customer to open automatically. The XQi Engine supports this feature and can combine information available in different sources (e.g. CRM for contact details, accounting software for list of open/due invoices, ticketing system for open support cases…).


On demand

XQTING delivers the engine which is subject to a license agreement. There is a basic license including 5 users. Some of the modules have their own (additional) price. Installation is done on-premise, hosted (by XQTING) or in the cloud and takes 1 day. The creation of the integration scripts is depending on the project case & scope. XQTING provides support on all components (engine & integration scripts).


Jan Vidts
Buchtenstraat 7 b301
B-9051 Gent
Tel: +32 475 345 555