# UniTalk + Krokul CRM

Yes. Krokul CRM has a native integration with the UniTalk cloud PBX. After every conversation, UniTalk sends a CALL_END event, and Krokul records the call in the contact feed and the open deal with its direction, duration and a link to the recording. A call nobody answered becomes a «Call back» task, and a number on the contact card is dialed through the UniTalk API.

**Status:** Native.

## What your team gets

### Every conversation is in the client history

When a call ends, UniTalk sends a CALL_END event with the numbers, direction, state and talk time in seconds. Krokul looks up the contact by the client number. On an incoming call that number sits in the from field, on an outgoing call in the to field. The call lands in the contact feed and the deal feed together with its duration and recording. The player opens right there.

### A missed call becomes a task at once

The NOANSWER or BUSY state means no conversation took place. Krokul creates a «Call back» task with the client number, linked to the contact and the deal. The task shows up in the manager task list, and the task.created webhook tells outside systems about it.

### A new number gets a contact and a deal

If the number is not in the database, Krokul creates a contact and a «Call» deal with that number in the pipeline you chose when connecting. A repeat call from the same client attaches to the deal that is already open. One client does not produce duplicate deals.

### An incoming call goes to the responsible manager

When «Request to your API» is on in a UniTalk incoming scenario, the PBX sends a ROUTE event with the client number. Krokul finds the contact and returns the extension of the contact manager and the client name for the SIP client. A regular client reaches the same manager, and if that manager is busy, UniTalk carries on with the scenario.

### One click on the card starts a call

The manager clicks a number on the contact card, and Krokul calls the UniTalk method /calls/originateC2c with the client number and the manager extension as a forwarding step. The finished conversation comes back to the deal through the same CALL_END event.

## What moves between UniTalk and Krokul

| UniTalk | Krokul | Direction | When |
|---|---|---|---|
| CALL_END event (from, to, direction, secondsTalk, state) | Call in the contact feed and the open deal | UniTalk → Krokul | After every finished call |
| link field in CALL_END | Recording player on the call | UniTalk → Krokul | The conversation took place (ANSWER state) |
| NOANSWER, BUSY state | «Call back» task with the number | UniTalk → Krokul | A call with no answer |
| A number missing from the database | New contact and «Call» deal | UniTalk → Krokul | The first call from a client |
| ROUTE request (from, outerNumber) | Extension of the responsible manager and client name | UniTalk ↔ Krokul | At the moment of an incoming call |
| /calls/originateC2c method | Number on the contact card | Krokul → UniTalk | The manager clicks the number |
| /history/get history | Calls missed during a connection outage | UniTalk → Krokul | After the connection is back |

## How to connect today

### Connecting in the Krokul «Marketplace»

1. In Krokul, open «Marketplace» → «UniTalk», choose the pipeline, source and responsible person, then copy the address with the «Copy address» button.
2. In the UniTalk account, open the integrations section, then event handlers, and create two handlers with the POST method and a JSON body pointing to that address, for the CALL_NEW and CALL_END events. Krokul shows the body template on the connection page.
3. To call from the card, create a key in the API part of the UniTalk integrations section and paste it into the «UniTalk API key» field.
4. Place a test call and check it in the contact feed and in the integration log.

### For integrators

The UniTalk API lives at api.unitalk.cloud, takes the key in the Authorization header and limits the request rate (15 per second, 20 at once). Krokul stores the UniTalk call ID as an external key, so a repeated delivery of the same event does not create a second record. For your own scenarios, `contact/api-find` finds a person by phone, and the signed `contact.created` and `task.created` webhooks pass the result on.

[API documentation](https://app.krokul.com/api/v1/docs)

## Questions and answers

### Does Krokul have a UniTalk integration?

Yes, a native one. UniTalk calls reach the Krokul contact and deal cards with their duration and recording, missed calls become tasks, and managers call clients from the card.

### Which event handlers should I create in the UniTalk account?

Two handlers with the POST method and a JSON body, one for the CALL_NEW event and one for the CALL_END event. CALL_END records the call, and CALL_NEW stays in the integration log.

### Do I need a UniTalk API key?

Receiving calls needs no key, the handler address is enough. A key from the API part of the integrations section is needed to call from the card and to query the call history.

### How does Krokul match a UniTalk call to a client?

By the client phone number. For an incoming call it is the number that called, for an outgoing call the number the manager dialed. If there is no contact yet, Krokul creates one.

## Limits

Numbers, extensions, incoming scenarios, voice menus and queues are set up in the UniTalk account. The audio stays in UniTalk, and Krokul keeps the link from the link field, which UniTalk sends only for the ANSWER state.

## Related services

- [Binotel](https://krokul.com/en/integrations/binotel/index.md)
- [Ringostat](https://krokul.com/en/integrations/ringostat/index.md)
- [Phonet](https://krokul.com/en/integrations/phonet/index.md)
- [RingCentral](https://krokul.com/en/integrations/ringcentral/index.md)
- [Aircall](https://krokul.com/en/integrations/aircall/index.md)
- [Telegram](https://krokul.com/en/integrations/telegram/index.md)

[Phone and calls](https://krokul.com/en/integrations/category/telephony/index.md)

UniTalk is a trademark of its owner. Krokul is not affiliated with UniTalk.

Updated: 2026-10-15

---

App: https://app.krokul.com/ · API: https://app.krokul.com/api/v1/docs
