Bitrix24 Integration with Zadarma
Zadarma is an international VoIP provider popular among companies that need numbers in multiple countries at reasonable prices. Zadarma's own virtual PBX (ZCRM) has a built-in connector to Bitrix24, but its capabilities are limited. For production scenarios, direct integration via the Zadarma API is more commonly used.
Official Zadarma Connector for Bitrix24
Zadarma provides a ready-made solution: in the Zadarma management portal (Integrations → Bitrix24), OAuth authorization with the Bitrix24 portal is configured. After authorization the connector:
- Forwards incoming calls as events to Bitrix24
- Creates leads or activities for missed calls
- Attaches call recordings
Limitations of the official connector:
- Works only with cloud-hosted Bitrix24
- Employee mapping is strictly 1:1 (Zadarma extension = Bitrix24 login)
- No fine-grained control over CRM object creation rules
- No support for multiple SIP lines on a single portal
Zadarma Webhooks API: Direct Integration
The Zadarma API supports webhooks — notifications about call events. Configuration in the management portal: PBX Settings → Notifications.
Zadarma supports the following notification types:
| Type | Description |
|---|---|
NOTIFY_CALL |
Call started |
NOTIFY_ANSWER |
Call answered |
NOTIFY_END |
Call ended |
NOTIFY_RECORD |
Recording ready |
NOTIFY_OUT_START |
Outbound call started |
NOTIFY_OUT_END |
Outbound call ended |
Verification of requests from Zadarma: Zadarma signs webhooks using an API key. Verification:
$data = $_POST;
ksort($data);
$sign = strtoupper(md5($apiKey . implode('', $data) . $apiSecret));
if ($sign !== $data['sign']) {
http_response_code(403);
exit;
}
Feature: Multiple SIP Numbers on One Account
Zadarma allows multiple virtual numbers on a single account. In the webhook, the called_did field contains the number that was dialed. This allows the correct LINE_NUMBER for Bitrix24 to be determined:
$didToLine = [
'+442071234567' => '201', // London number
'+74951234567' => '200', // Moscow number
'+380441234567' => '202', // Kyiv number
];
For international businesses, this is a key advantage of Zadarma — one provider, numbers in different countries, a single integration with Bitrix24.
Case Study: Export Company with Numbers in 4 Countries
A trading company with clients in Russia, Germany, Poland, and Kazakhstan. Each country has a local Zadarma number. All calls must go into a single Bitrix24 with proper attribution: a German client sees a German number, and the call is created for the Germany account manager.
Mapping table: {DID → LINE_NUMBER → default responsible USER_ID}. When a call arrives, the handler looks up the table and routes the call in Bitrix24. If the designated manager for the given country is unavailable (not online) — the call is assigned to the duty manager.
Manager online status monitoring is implemented via the user.online.getlist Bitrix24 API with 60-second caching.
Setup time: 4–6 business days.







