Bitrix24 Online Chat Widget: Custom Setup & Integration
A poorly configured online chat widget can cause 60-80% of inquiries to be lost. The standard button with the Bitrix24 logo is often ignored: click-through rates rarely exceed 1-2%. Meanwhile, a properly customized widget can increase leads by 30-50% through timely appearance and personalization. We are Bitrix24 developers with 5 years of experience and over 300 completed projects—from simple chats to multi-channel contact centers integrated with 1C and CRM. We guarantee a setup that matches your design and business processes. In this article, we will cover key widget settings: visual customization, automatic display rules, and more.
Visual Customization: Color, Position, Trigger
Setup starts at: Bitrix24 → CRM → Contact Center → Online Chat → desired chat → 'Settings'.
Color and theme. The main color should match your brand's accent color. Light and dark themes are available. Important: use no more than two accent colors to avoid visual overload.
Position. Default is bottom-right corner. You can move it to the bottom-left and adjust offsets in pixels. For mobile devices, keep the right side to avoid covering content.
Trigger button. The standard round button or a custom HTML trigger via JavaScript API:
BX24.openMessenger(); // opens chat on click
Greeting message. Text the visitor sees when opening the chat before an operator responds. Personalize it: include the operator's name, avatar, and a phrase like 'How can I help?' This builds trust from the first seconds.
Operator name and avatar. You can show a real employee from the list or create a virtual one—e.g., 'Support' with a company logo. For large teams, we recommend using real photos—this increases loyalty by 20-30%.
How to Set Up a Pre-Chat Form?
The form for collecting visitor data is configured in the 'Form' section within chat settings. Available fields: name, phone, email, question text. Each field can be mandatory or optional. Data is automatically passed to CRM leads.
Enable the form when no operators are online—it collects contacts for callbacks. For consulting businesses that need to know the client's name upfront, the form is required. For high-conversion e-commerce sites, it's better to disable the form—any extra field adds friction. A/B testing shows that without a form, first messages increase by 30-50%.
Display Rules: When and to Whom to Show the Widget?
The widget doesn't have to appear identically on all pages. In chat settings → 'Rules' section:
- Delay: button appears N seconds after page load (typically 3-5 seconds).
- URL conditions: show only on /catalog/* or hide on /admin/*.
- Mobile devices: disable widget on phones if it interferes with navigation.
- Scroll behavior: show when the user scrolls 50% of the page—effective for long articles.
All rules are set through the interface—no code required. A proper combination of rules can increase conversion by up to 40%.
Widget Operating Modes
| Mode |
Condition |
Action |
| Online |
Operators available |
Real-time chat |
| Offline |
No operators available |
'Leave a message' form → lead created |
| Hybrid |
Partial availability |
Automatic switching by schedule |
Automatic switching depends on operator status and the working schedule of the open line.
How to Set Up the Widget: Step-by-Step
- Audit current state: ensure the chat script is loaded once (no duplicates) and doesn't conflict with other scripts.
- Customize appearance: set color, position, upload operator avatar, configure greeting message.
- Configure pre-chat form: choose fields, decide if they are mandatory, and when to show the form (always or only offline).
- Set display rules: define delay, URL conditions, mobile behavior.
- Integrate with CRM: verify that chat inquiries are correctly saved as leads or deals.
- Test: check functionality on different pages, devices, and with various operator statuses.
Typical Errors and Solutions
- Widget flashes or appears twice: duplicate embed code. Ensure the script is included once.
- Color doesn't change: browser cache or external CSS overrides. Use !important or check CSS order.
- Offline mode not working: operator work schedule not set. Configure the open line schedule.
- Bitrix24 logo not hidden: plan doesn't allow or option disabled. Check plan and widget settings.
What's Included in a Turnkey Setup?
- Widget audit: check for duplicate scripts, theme conflicts.
- Design customization: full alignment with corporate style, including custom buttons.
- Display rules: page, time, and device-based rules.
- Integration with 1C and CRM: transfer data from chat to deals and leads.
- Operator training: a 2-hour webinar for the support team.
- Post-launch support: 2 weeks after going live.
According to the Online Chat documentation on the Bitrix24 portal, the widget can be adapted for any scenario.
Why Trust the Setup to Professionals?
With 5 years of experience and over 300 completed Bitrix24 projects, we guarantee: the widget won't flicker, won't slow down the site, and works correctly on all devices. You'll see a 30-80% increase in inquiries depending on your niche. The average payback period for the setup is 3-4 weeks. A turnkey setup typically costs $500-$1500 and can save $2000 per month in lost leads—3 times more effective than the default configuration. Get a free consultation—we'll evaluate your project at no cost. Order a turnkey widget setup—contact us via the form on our website.
Open Lines: Where It All Begins and Breaks
The Open Lines module (imopenlines) is the standard Bitrix24 mechanism for omnichannel communications. It connects an external channel to an internal chat via the Im\Model\ChatTable entity. The problem is that out-of-the-box routing settings are primitive: "in turn" or "all at once." For a real sales department with 15+ managers, VIP clients, and SLA response times, this is not enough. We enhance routing via event handlers OnImOpenLinesChatStart and the REST API.
A manager switching between five windows loses messages, forgets to reply—the client leaves for a competitor who responded in 30 seconds. Bitrix24 messenger configuration gathers all channels into one interface, and CRM records every touch. Experience shows that after setup, average first response time drops by 40% within the first week.
How we implement messenger integration
We connect Telegram, WhatsApp, Viber, VK, online chat, email, and other channels via standard connectors or REST API. Each channel requires its own configuration, but the result is unified—all messages end up in open lines, and from there into the client card. We guarantee no message gets lost: we use tagged caching and agents to check queues.
How to connect WhatsApp to Bitrix24?
WhatsApp is the main business channel. Integration via WhatsApp Business API with a verified account. We configure sending and receiving messages from the Bitrix24 interface—they fall into an open line. We create HSM templates for initiating dialog (abandoned cart reminders, order status). Templates go through Meta moderation—allow 2-3 days. We ensure file, image, and document transfer. We link conversations to contacts and deals via CRM_ENTITY_TYPE and CRM_ENTITY_ID.
| Method |
Nuances |
Payment Model |
| WhatsApp Business API (Cloud) |
Verification via Meta Business, templates, bulk messaging |
Per conversation window (24h) |
| Provider (Edna, Wazzup, Chat2Desk) |
Quick start, intermediary service, own limits |
Subscription fee |
| Bitrix24 CRM Marketing |
Built-in integration, minimal setup |
Included in Professional+ tariff |
Telegram: Free Channel with High Reach
Telegram Bot API is free and well-documented—a pleasant rarity among messengers. Integration into Bitrix24 is done via the imopenlines connector. Setup: connect the bot to open lines, configure the connector to Telegram. Receiving messages, photos, videos, documents—all mapped to the Bitrix24 chat. Inline buttons and reply keyboards for navigation. Webhook on https://yourdomain/rest/imconnector.register—register the connector. CRM integration: incoming message creates a lead via crm.lead.add or an activity in the deal.
Telegram is indispensable for:
- Support via bot—standard questions resolved without an operator (up to 70% of inquiries).
- Notifications: orders, delivery, payment—via Telegram Bot API sendMessage.
- Lead collection: bot asks qualifying questions → creates a lead.
Viber and VK: Audience 35+ and Social Network
Viber maintains positions in regions. We connect a business account via the open lines connector. We use Viber Business Messages—bulk messaging with action buttons and rich content. Receiving and sending from CRM works immediately.
VK (Vkontakte) is the largest social network in Russia. Integration via the imopenlines community messages connector. Process messages and comments from a single interface. Auto-creation of a lead—handler OnImOpenLinesCrmCreate. Integration with VK Ads for tracking sources via UTM. Bot for auto-replies—VK Bot API + Callback API.
Why is proper routing of inquiries important?
Distribution of inquiries among operators is organized through queue mechanisms. By default: "who is free." In reality, more complexity is needed:
- Determining responsible person by number or email from CRM—
im.chat.get + search via crm.contact.list.
- Distribution by departments based on keywords (NLP classifier or simple regex on first message).
- Priority queue for VIP—by segment in CRM.
- Escalation on 5-minute timeout—auto-switch to next.
- Transition to call directly from chat—
telephony.externalcall.register.
We use custom event handlers OnImOpenLinesChatStart and REST API to implement such scenarios. Additionally, we connect Bizproc for complex approval chains and integration with HL blocks for storing custom queue parameters. Result: client does not wait, operator is not overloaded.
What is included in messenger integration work
| Component |
Description |
| Audit of current CRM structure |
Analysis of inquiry types, channels, operator load |
| Connecting channels |
Configuration of WhatsApp, Telegram, Viber, VK, email, online chat connectors |
| Routing setup |
Queues, distribution by competence, escalations, SLA |
| Chatbot development |
Script-based or with NLP, integration with CRM and external APIs |
| Operator training |
Documentation, video instruction recording, webinar |
| Testing and support |
Running all scenarios, 2-week monitoring after launch |
| 6-month warranty |
Free bug fixes, consultations |
Chatbots: Script-Based and with NLP
Types
Script-based (rule-based): button menu, decision tree. "How to pay" → "Where is my order" → "Business hours." Transfer to operator at intent == 'unknown' → transfer_to_queue. Reliable, predictable, covers 60-70% of typical inquiries.
With NLP: free text in Russian. Intent detection (buy, complain, inquire about delivery), entity extraction (name, date, order number). Contextual dialog—remembers what was discussed. Implemented on Rasa or Dialogflow, integrated with Bitrix24 via REST.
Example handler code for a script-based bot (PHP)
use Bitrix\Main\Loader;
use Bitrix\Imopenlines\Model\SessionTable;
Loader::includeModule('imopenlines');
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('imopenlines', 'OnImOpenLinesMessageReceive', function($event) {
$message = $event->getParameter('message');
$chatId = $event->getParameter('chatId');
if (preg_match('/order status (\d+)/i', $message, $matches)) {
$orderId = $matches[1];
// Get order status via API
$order = \Bitrix\Sale\Order::load($orderId);
if ($order) {
$status = $order->getField('STATUS_ID');
\Bitrix\ImOpenLines\Chat::sendMessage($chatId, 'Your order #' . $orderId . ' status: ' . $status);
}
}
});
Scenarios and Real Impact
| Scenario |
Action |
Operator Relief |
| FAQ |
Answers from knowledge base based on intent match |
30-50% |
| Order status |
Request sale.order.get by number |
15-25% |
| Booking |
Date/specialist selection, creation via API |
20-30% |
| Calculation |
Preliminary estimate based on parameters |
10-20% |
| Lead qualification |
Data collection → crm.lead.add |
3x funnel acceleration |
| NPS/CSAT |
Rating after service |
100% automatic collection |
Comparison: a script-based bot processes requests 5 times faster than an operator, and an NLP bot reduces fallback rate to 15% after training on real dialogs. Average savings on operator salary when implementing a chatbot amount to substantial monthly savings.
How can chatbots transform your customer support?
Development Process
- Inquiry analysis—export history from open lines, cluster by topic. Identify 80% of typical requests.
- Dialog design—map on miro/figma. Each branch ends either with an answer or transfer to operator.
- Development—logic, integration with CRM and external APIs. For script-based: finite state machine. For NLP: pipeline: tokenizer → featurizer → classifier → response selector.
- NLP training—on real dialogs (at least 500 examples). Set confidence threshold.
- Testing—run all branches, edge cases (empty message, sticker, voice).
- Optimization—monitor fallback rate, retrain on new dialogs every 2 weeks.
Timeline
| Task |
Duration |
| Single messenger connection |
1-2 days |
| Open lines setup |
2-3 days |
| Script-based bot (basic) |
1-2 weeks |
| Bot with NLP |
3-6 weeks |
| Comprehensive omnichannel system |
4-8 weeks |
Result: all communications in one window, routine automated, no message lost. Managers sell, not search for the right chat. Evaluate which channels you need—contact us, we'll select for your niche. Get a personalized timeline and cost estimate for your project.