Integrating Bitrix24 with Sipuni

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    747
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

Bitrix24 Integration with Sipuni

Sipuni is a Russian cloud virtual PBX service aimed at small and medium-sized businesses. Sipuni's hallmark is an emphasis on ease of setup and ready-made CRM integrations. The official Sipuni connector for Bitrix24 is available in the marketplace and covers basic needs. For more complex scenarios, a direct API is available.

Official Sipuni Connector

Installed from the Bitrix24 catalog (Applications → Marketplace → Sipuni). Authorization via Sipuni API key. After connection the following features are available:

  • Pop-up card on incoming calls
  • Lead creation for missed calls
  • Call history in the CRM
  • Outbound calls from a CRM card
  • Call recording attachments

The official connector is sufficient for most small business scenarios. Limitations appear with non-standard routing, or when multiple Bitrix24 portals need to work with a single Sipuni PBX.

Sipuni API: Extended Integration

Sipuni provides a REST API and webhooks. Documentation is available at sipuni.com/api.

Authorization: Sipuni uses an API key passed in the X-Api-Key request header or as the api_key parameter.

Receiving events: in the Sipuni management portal (Settings → Integrations → Webhooks), a notification URL is configured. Sipuni supports the following events:

  • call.incoming — inbound call (not yet answered)
  • call.answered — operator answered
  • call.ended — call ended
  • call.missed — missed call

Sipuni Routing and Bitrix24 Display

Sipuni supports call scenarios and routing schemes. An inbound call can pass through multiple steps: IVR → queue → specific employee. In the webhook, Sipuni passes the answered_by field — the extension of the last person who answered.

If the full call path needs to be tracked (passed through IVR → was in queue for N seconds → answered by employee X), this is implemented via composite Sipuni events or by an additional request to the call history API after the call ends.

Call Recordings in Sipuni

Sipuni stores recordings in the cloud. Access via API:

GET https://sipuni.com/api/v1/records/{call_id}
X-Api-Key: {api_key}

Sipuni returns a link to the file or redirects to a download. Storage duration is determined by the plan (usually 14–30 days on basic plans). For long-term storage — download and save to your own storage on every call.ended event.

Handling Multiple Employees

In a group call (multiple phones ringing simultaneously), Sipuni only sends answered_by in the webhook when one of the employees answers. Events for calls rejected by the other employees do not arrive — this simplifies processing compared to some other providers.

Case Study: Real Estate Agency, 20 Agents

An agency used Sipuni with dedicated numbers assigned to individual agents (each agent has their own city number from Sipuni). Clients call agents directly. Requirement: each call must be created in the CRM for the specific agent, and if the agent is unavailable and the call is forwarded to a colleague — this must also be recorded.

Implementation via a custom webhook handler: a table {Sipuni city number → Bitrix24 USER_ID}. On an incoming call, the call is registered for the responsible agent (number owner). If there is no answer after 15 seconds — Sipuni forwards to the next agent in the chain. When an answered_by event arrives with a different number, the handler updates the responsible user on the call.

Additionally: missed call analysis — if an agent fails to answer 3 or more calls in a day, the system creates a task for the manager to review the situation.

Setup time: 3–5 business days.