# Phonet + Krokul CRM

Yes. Krokul CRM integrates with the Phonet virtual PBX. On an incoming call, Phonet asks Krokul who is calling and gets the client name, a link to the card and the extension of the responsible manager. A finished conversation lands in the contact feed and the deal feed with its duration and recording, and a missed one becomes a task.

**Status:** Via API and webhooks.

## What your team gets

### Client name and card before the manager answers

Phonet sends a call.settings request with the client number (otherLegNum) and the line the call came in on. Krokul finds the contact and returns the name, a link to the card with a caption and the email of the responsible manager. For a number that is not in the database, the answer carries newEntry set to true and a link to create the contact.

### A regular client reaches the right manager

In the same answer, Krokul passes responsibleEmployeeExt, the extension of the manager assigned to the contact. Phonet routes the call to that extension. The client talks to the person who runs the deal and does not have to explain everything again.

### The recorded conversation goes to the deal feed

Phonet sends the call.dial, call.bridge and call.hangup webhooks for every call. Krokul waits for the final call.hangup, groups the chain by parentUuid and writes one call with direction, duration and recording. The bridgeAt field shows whether the two sides were connected.

### A missed call becomes a task

If call.hangup arrives without bridgeAt, there was no conversation. Krokul creates a «Call back» task for the client manager with the number and time of the call. Krokul also checks overnight calls against the missed.api list, so none is lost by morning.

### Calls from the card and notes in Phonet

The manager clicks a number on the card, and Krokul calls makeCall with the manager extension (legExt) and the client number (otherLegNum). Phonet returns the call uuid, and the result of the conversation later reaches the same deal. A new Krokul contact appears among the Phonet contacts with its number and a note.

## What moves between Phonet and Krokul

| Phonet | Krokul | Direction | When |
|---|---|---|---|
| call.settings request (otherLegNum, trunkNum) | Contact name, link to the card, extension of the responsible manager | Phonet ↔ Krokul | At the moment of an incoming call |
| call.hangup webhook (parentUuid, dialAt, bridgeAt) | Call in the contact feed and the deal feed | Phonet → Krokul | After every call |
| Recording /rest/public/calls/{uuid}/audio | Player on the call record | Phonet → Krokul | When the manager opens the call |
| call.hangup without bridgeAt, missed.api list | «Call back» task | Phonet → Krokul | A call with no answer |
| Unknown number | New contact and deal | Phonet → Krokul | The first call from a client |
| makeCall method (legExt, otherLegNum) | Number on the contact card | Krokul → Phonet | The manager clicks the number |
| Contact (/rest/crm/contacts/v2) and notes | Contact and responsible manager | Krokul → Phonet | A contact is created or changed in Krokul |

## How to connect today

### Your own flow through the Krokul API and webhooks

1. Issue a Krokul API key with scopes for contacts, deals, activities and tasks.
2. In the Phonet account, open the integrations section and enter the address of your handler for the call webhooks and for the call.settings request.
3. On call.settings, find the client with `contact/api-find` by number and return the name, the card link and the manager extension. On call.hangup, record the call with `activity/api-create`, and add `task/api-create` when bridgeAt is empty.
4. Subscribe a Krokul webhook to `contact.created`, check `x-crm-signature` and create the contact in Phonet through /rest/crm/contacts/v2.

### For integrators

Phonet exposes a REST API on the domain of your PBX. A session starts with /rest/security/authorize, and then makeCall, active and missed calls, users and contacts with notes are available. Call events come as webhooks and through a separate Websocket API. On the Krokul side, `contact/api-find` looks a person up by phone, and Krokul webhooks are signed with HMAC and have a delivery log. The call parentUuid is stored as an `externalRef`. Repeats are dropped.

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

## Questions and answers

### Does Krokul work with Phonet?

Yes. Phonet calls reach the Krokul contact and deal cards with their recordings, missed calls become tasks, and on an incoming call Phonet shows the client name from Krokul.

### How does Phonet know who is responsible for a client?

From the answer to the call.settings request. Krokul returns responsibleEmployeeExt and responsibleEmployeeEmail of the manager assigned to the contact, and Phonet routes the call to that extension.

### Why does one Phonet call send several events?

Phonet reports dialing (call.dial), connection (call.bridge) and the end of the call (call.hangup). Krokul writes the call to the feed from the final event, and the intermediate ones stay in the log.

### Where are Phonet call recordings stored?

On the server of your Phonet PBX. Krokul keeps a link to the recording on the call and opens it in a player, without copying the audio into its own database.

## Limits

Numbers, lines, queues and incoming call scenarios live in the Phonet account. The audio stays on the PBX server, and Krokul opens it from a link.

## Related services

- [UniTalk](https://krokul.com/en/integrations/unitalk/index.md)
- [Binotel](https://krokul.com/en/integrations/binotel/index.md)
- [Ringostat](https://krokul.com/en/integrations/ringostat/index.md)
- [Aircall](https://krokul.com/en/integrations/aircall/index.md)
- [RingCentral](https://krokul.com/en/integrations/ringcentral/index.md)

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

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

Updated: 2026-10-15

---

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