Messengers and Chatbots for Bitrix24
Open Channels: Where Everything Starts and Breaks
The "Open Channels" module (imopenlines) is Bitrix24's built-in mechanism for omnichannel communications. It works through the Im\Model\ChatTable entity, linking an external channel to an internal chat. The problem is that out-of-the-box routing settings are primitive: "round-robin" or "broadcast to all." For a real sales team with 15+ managers, VIP clients, and response time SLAs, that's not enough. We extend routing through OnImOpenLinesChatStart event handlers and REST API.
A manager switches between five windows, loses messages, forgets to reply — the client leaves for a competitor who responded in 30 seconds. Connecting messengers to Bitrix24 consolidates all channels into a single interface, while the CRM records every touchpoint.
Connecting Messengers
The primary business channel. Integration via WhatsApp Business API — official connection with a verified account.
What works:
- Sending and receiving from the B24 interface — messages land in the open channel
- HSM templates for initiating conversations (abandoned cart reminders, order status). Templates go through Meta moderation — allow 2-3 days
- File, image, and document transfer
- Conversation linked to contact and deal via
CRM_ENTITY_TYPEandCRM_ENTITY_ID
Connection options:
| Method | Details | Cost |
|---|---|---|
| WhatsApp Business API (Cloud) | Verification through Meta Business, templates, bulk messaging | Per conversation window (24h) |
| Provider (Edna, Wazzup, Chat2Desk) | Quick start, intermediary service, provider-specific limits | Monthly fee |
| B24 CRM Marketing | Built-in integration, minimal setup | Included in "Professional"+ plan |
Telegram
Growing as a business channel. Especially in IT, education, and professional services. The Bot API is free and well-documented — a pleasant rarity.
What we do:
- Connect the bot to open channels via the
imopenlines→ "Telegram" connector - Receive messages, photos, videos, documents — everything maps to a B24 chat
- Inline buttons and reply keyboards for bot navigation
- Webhook to
https://yourdomain/rest/imconnector.register— connector registration - CRM integration via REST API: incoming message → lead or deal activity
Where Telegram is irreplaceable:
- Support via bot — routine questions resolved without an operator
- Notifications: orders, delivery, payment — via
Telegram Bot API sendMessage - Internal team communications (though B24 chat exists for that)
- Lead generation: the bot asks qualifying questions → creates a lead via
crm.lead.add
Viber
Maintains a strong position in certain regions and among the 35+ demographic.
- Business account connection via the open channels connector
- Viber Business Messages — bulk messaging with action buttons
- Rich content cards
- Sending and receiving from CRM
VK (VKontakte)
The largest social network in the CIS region. A mature toolset.
- Community messages connected via the
imopenlinesconnector - Message and comment processing from a unified interface
- Auto-creation of a lead from an inquiry —
OnImOpenLinesCrmCreatehandler - VK Ads integration for source tracking via UTM
- Bot for auto-replies in the community via VK Bot API + Callback API
Open Channels Configuration: Details That Matter
All channels in one window: WhatsApp, Telegram, Viber, VK, live chat, Facebook Messenger, Instagram Direct, Email, Avito, Yandex.Market (via third-party connectors).
Settings that are often overlooked:
- Distribution: round-robin, by workload (
QUEUE_TYPE), by competency — via a custom handler - Auto-greeting — configured in the channel's "Automatic Actions" section
- Conversation transfer between operators — the client doesn't see the switch
- Post-conversation quality rating (CSAT) — widget in the chat
- Business hours and after-hours auto-reply — linked to the schedule from the HR module
- Wait timeout: if an operator doesn't pick up the chat within N minutes — escalation to the next in queue
Routing
Who responds to a specific inquiry? By default — "whoever is free." In reality, it needs to be more sophisticated:
- Identify the responsible manager by phone/email from CRM —
im.chat.get+ lookup viacrm.contact.list - Department-based distribution using keywords (NLP classifier or simple regex on the first message)
- Priority queue for VIPs — by CRM segment
- Escalation on 5-minute timeout — automatic transfer to the next agent
- Switch to a call directly from the chat —
telephony.externalcall.register
Chatbots
Types
Rule-based (scenario-driven):
Button menu, decision tree. "How to pay" → "Where's my order" → "Business hours." Handoff to an operator when the bot can't handle it — by condition if intent == 'unknown' → transfer_to_queue. Reliable, predictable, covers 60-70% of routine inquiries.
NLP-powered: Free-text input. Intent detection (buy, complain, ask about delivery), entity extraction (name, date, order number). Contextual dialogue — remembers what was discussed. Built on Rasa or Dialogflow, integrated with B24 via REST.
Scenarios and Real Impact
| Scenario | What It Does | Operator Offload |
|---|---|---|
| FAQ | Answers from knowledge base by intent matching | 30-50% of inquiries |
| Order status | sale.order.get query by order number |
15-25% of inquiries |
| Booking | Date/specialist selection, creation via API | 20-30% of inquiries |
| Estimation | Preliminary calculation by parameters | 10-20% of inquiries |
| Lead qualification | Data collection → crm.lead.add |
Funnel acceleration |
| NPS/CSAT | Post-service rating | Automated collection |
Bot Development
- Inquiry analysis — we export history from open channels and cluster by topic. We find what consumes 80% of operators' time.
- Dialogue design — flowchart in Miro/Figma. The bot sounds like a person, not a microwave manual. Every branch ends with either an answer or a handoff to an operator.
- Development — logic, CRM integration, and external APIs. For rule-based bots — a finite state machine. For NLP — pipeline: tokenizer → featurizer → classifier → response selector.
- NLP training — training data from real conversations, intent recognition tuning, confidence threshold for fallback.
- Testing — running through all branches, edge cases (empty message, sticker, voice message).
- Optimization — monitoring fallback rate, retraining on new conversations.
Auto-Replies and Templates
- Greeting on first contact — the client immediately knows they've been heard
- After-hours reply with business hours
- Receipt confirmation with estimated SLA
- Keyword-triggered auto-reply — configured in the channel's "Automatic Actions"
- Template library for operators — hotkeys, name and order number substitution from CRM via
#CONTACT_NAME#,#ORDER_ID#
CRM Integration
- First contact → lead (
crm.lead.add) or contact. Duplicates checked by phone/email viacrm.duplicate.findbycomm - Repeat contact → linked to existing contact, activity in timeline
- Auto-creation of a deal by trigger (specific keyword or dialogue stage)
- Entire conversation history — in the client card, chronologically
- CRM marketing: segmented campaigns, trigger chains (abandoned cart, welcome series), personalization from CRM fields
NLP and AI
- Inquiry classification: tech support / sales / return — automatically
- Long conversation summarization for managers — via GPT API with a prompt for extracting the key points
- Context-aware suggestions for the operator
- Sentiment analysis: satisfied / frustrated / neutral — affects queue priority
- Auto-translation for multilingual support
Analytics
- Average first response time (FRT) by channel — department KPI
- Average resolution time (ART)
- Volume by channel and topic — understanding where to grow
- CSAT — satisfaction score
- Operator workload — data-driven staffing decisions
Timeline
| Task | Timeline |
|---|---|
| Connect one messenger | 1-2 days |
| Open channels setup | 2-3 days |
| Rule-based bot (basic) | 1-2 weeks |
| NLP-powered bot | 3-6 weeks |
| Comprehensive omnichannel system | 4-8 weeks |
Result — all inquiries in a single window, routine tasks automated, no message gets lost. Managers sell instead of hunting for the right chat.







