Expand your capabilities with API
We strive to provide maximum possibilities to integrate Kommo with various services and systems, so that you, our customers and partners, will be able to expand Kommo functionality for yourself and others.
Writing your own widgets and integrations is not as difficult as it might seem at first glance. In order to facilitate the life of a developer, we provide instructions, recipes and descriptions.
What is Integration?
Any interaction with a third-party service is called Integration. A team or a sole developer, creating an Integration is called Integrator.
Integration is a Database record that identifies an external application that’s interacting with Kommo.
To access Kommo user data we ask developers to create an integration (enter the name and the description of the service, add a logo).
Upon creation, we provide secret keys required to access our API.
Integration includes:
- A set of secret keys required for OAuth authorization (client_id, client_secret);
- Meta-data (the name, logo, description, etc.) is necessary for users to always know which service has access to their account and data;
- Widget archive containing JS-code executed in the Kommo interface (which is not required).
We highlight two types of integrations:
Personal integration
This is the simplest type of integration where we create an integration only within one Kommo account.
For example, when a developer/partner creates a unique feature that only one company/account needs (i.e. webform on a website, integration with unique Client software, etc.). Integrations of this type do not require moderation and will not be published in the Kommo marketplace.
This is the most flexible and simple tool for implementing additional features for a particular client. The creation of such integration takes up the following steps:
- Authorize as an account administrator
- Create integration by going to Settings -> Integrations. and submitting a simple form
- Copy secret keys, authorize using them and start exchanging data
The following method allows the usage of the Button on site, however, the list of the available accounts will be limited to only one account where the integration is created.
The private integration can contain a widget that will work in the Kommo interface but only in one account where the integration was created.
Marketplace integration
If you are developing an integration that can be useful for all Kommo users, we’ll be glad to publish it on our marketplace. Integrations of this type have to pass our moderation. This means that we are testing and auditing the JS code, if it is present, to ensure the security and quality of experience for our users. As the development of such integrations is a more complex process, we provide separate technical accounts for integrators of public integrations where they can communicate with our support and testing team. In the technical account, the integrator will work with an advanced interface for custom integrations with features like integration versioning and multi languages.
Such integration can contain a widget that will work in the Kommo interface. Integration of this type can be installed from an external website using the Button on the site mechanism.
With the help of integrations you will be able to:
- display your layout in the allowed system locations: lead or contact cards, lists, pipelines, dashboard, etc., as well as add an interface for interaction with the integration for users
- affect the display and behavior of the standard Kommo interfaces
- exchange data with external systems by sending requests, or with Kommo via the REST API
- receive data from the page context and JS objects initiated by Kommo.
You can read more about widget development here.
Widget use cases:
- I want to display additional information about the contact (in the contact card) from my internal accounting system;
- I want my company’s employees to send a request to the accounting department to form a payment directly from the lead card;
- I am the developer of a third-party service (telephony, email-server) and I want to give Kommo clients the opportunity to use my service by publishing a public widget and making the integration more transparent and easy.
Instruments
In addition to ability to receive, add and update data in Kommo using REST API, and utilizing the Integrations system described above, we provide an additional set of Instruments for creating a convenient and easy to use Integration with Kommo.
SalesBot – a tool for creation of custom scenarios for automatic operations with a user via messengers.
Kommo has several default messenger integrations (Facebook Messenger, Telegram, Viber, Skype, and several others). We provide a custom SalesBot language and visual editor to create automatic scenarios for communication with a user, as well as an option for Integrator to embed his integration into the Bot workflow.
Digital Pipeline – a powerful automation tool that has its own constructor. The constructor allows to set up automatic system reactions on the occurring events (lead status change, website visit, etc.). Kommo can react with a large amount of customizable actions (set up a task, add a contact to the ads campaign, send an email, etc.).
Besides that, Integrator can create his own event handler and add it to the list of available automatic actions.
Lists – are custom data tables that can be created via API or Kommo interface. A user can access these tables via the standard interfaces and integration can manage data via API, restricting the users’ rights to edit this data via standard interface if needed.
Examples of such lists are product lists, invoice lists, order lists and etc.
These are tables which fields are managed by integration but which can be linked to the main Kommo entities (leads, customers).
Webhooks – the instrument that allows to subscribe to certain events (a contact change, new task, etc.) in Kommo manually or via API and launch your script on these events, receiving an entry context of the occurred event at the same time. With the help of this instrument you are able to track necessary data changes not depending on the periodic synchronization but going off of the event model.
VoIP API – is a set of JS-methods and libraries (call record players, push-notifications, etc.) as well as specific API and use examples which will be useful for Integrators developing integration with telephony service.
Chats API – every Integrator who has a task to connect a new message source – new messenger – can use our API. As an example, you can develop your own integration with WhatsApp with our API and distribute it on your conditions because in that case, you will be responsible for transferring messages and controlling the WhatsApp API. For the end-user this will look like sending messages directly to the messenger and receing them in Kommo. SalesBot will also be compatible with incoming messages from your source.
Notification Center – Kommo has its own notification system similar to push-notifications on mobile devices. Message delivery is implemented via web-sockets, a user can see the history of notifications and set up the message delivery settings. Notification center API is open as well.