Skip to content
N1
Integrations · Kafka · Azure AD · event-driven exchange

Event-driven Bitrix24 integration via Kafka

Client: NDA Category: Integrations Stack: Node.js, Kafka (kafkajs), Bitrix24 REST, Azure AD, Telegram alerts Timeline: 2–5 weeks
Problem

One-off HTTP calls to an external system did not scale and left no event history: a failure meant the exchange was simply lost, and outages were discovered after the fact from client complaints.

Constraints

Events had to be matched to CRM records by a business key rather than an internal ID, no events could be lost if a handler crashed, failures needed to be reported quickly, and employee access in the CRM had to stay in sync with the corporate directory.

What I did
  • An HTTP receiver publishing events into a Kafka topic
  • A Kafka consumer that finds or creates a deal in the CRM by business key
  • Custom fields for collateral and borrower data right on the deal card
  • Syncing employee accounts with Azure AD
  • Telegram alerts with a link to the deal card on event-processing errors
  • Evolving the event schema without stopping the exchange
Architecture
External system HTTP → Kafka producer Kafka topic Consumer Bitrix24 REST Azure AD Telegram alerts with deep link
Result

The exchange became event-driven and recoverable: a handler failure no longer loses the event or stays silent — there is retry and an alert instead of silence.

What can be reused
HTTP → Kafka producer Consumer with business-key matching Telegram alerting scheme for processing failures