Open Channels in Bitrix24: Overview of Methods and Events

If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the MCP server so that the assistant can utilize the official REST documentation.

Open Channels bring customer inquiries from websites, messengers, and social networks into a single processing flow. Three related method groups are available for integrations:

  • Open Channels — configuring lines, operator queues, sessions, messages, chatbots, events, and CRM links
  • Connectors — connecting and maintaining external communication channels through which customers write to open channels
  • Open Channels Statistics — retrieving aggregates, sessions, ratings, transfers, and current operator load

Quick navigation: all methods and events

User documentation: Contact Center

How to Choose a Section

Scenario

What to Use

Set up a line, operator queues, and inquiry processing rules

The Open Channels method group

Connect your own external communication channel to Bitrix24

The Open Channels Connectors method group

Build an external dashboard or export data for analytics

The Open Channels Statistics method group

Connect an external open channel from another Bitrix24

Method imopenlines.network.join

Subscribe to message, dialog, and status events

Events from the Connectors Events and Open Channels Events sections

Both sets of methods are used for your own external channel: imconnector.* for registering and maintaining the connector, and imopenlines.* for configuring the line and processing dialogs. If you need to connect an external open channel from another Bitrix24 without registering your own connector, use the method imopenlines.network.join.

Relationships of Open Channels and Connectors with Other Objects

Chat. The system processes inquiries as an open channel chat. Operations with messages, operators, and sessions are performed through the chat.

Session. Within the chat, the inquiry proceeds as a session. To start a session, read history, connect an operator, and manage modes, use the group of methods imopenlines.session.*.

Operator. The line distributes inquiries among operators from the queue. Queue configuration is done through imopenlines.config.*, while operator actions in an active dialog are handled through the group of methods imopenlines.operator.*. To transfer a dialog to an operator, use USER_ID, which can be obtained through the methods user.get and user.search.

External User. A client from the external channel is linked to the dialog through USER_CODE. This identifier allows the system to determine which chat and session the inquiry belongs to.

Message. The correspondence between the customer and the operator is associated with the chat and session. Send a message using imopenlines.crm.message.add, and save a quick reply using imopenlines.message.quick.save. To react to message changes, use Open Channels events.

Chatbot. The bot can send messages, transfer the dialog to an operator, and end the session using methods from the group imopenlines.bot.*.

CRM. Open channel dialogs can be linked to CRM objects. To retrieve CRM chats, use the group of methods imopenlines.crm.chat.*, and to create a lead based on the dialog outcome — the method imopenlines.crm.lead.create.

Universal Lists. Quick replies are associated with the identifier QUICK_ANSWERS_IBLOCK_ID. You can obtain it using the method imopenlines.config.get, and set it when creating or updating a line using the methods imopenlines.config.add and imopenlines.config.update.

Statistics Data. Accumulated data on sessions, ratings, transfers, and operator load is available through the Open Channels Statistics method group. Response object structures are described in Open Channels Statistics Data Types.

Key Identifiers

Identifier

Description

How to Obtain

CHAT_ID

Identifier of the open channel chat. Needed for actions with dialogs, messages, operators, and chatbots

imopenlines.session.open, imopenlines.dialog.get

SESSION_ID

Identifier of the session within the chat. Needed for reading history, managing the inquiry processing flow, and retrieving detailed statistics

imopenlines.session.history.get, imopenlines.v2.Session.list

USER_CODE

External code of the user from the communication channel. Needed to uniquely link the external client with the chat and session in the line

Generated by the external channel, used in imopenlines.session.open

USER_ID

Identifier of the Bitrix24 user. Needed for routing the dialog between operators and operator actions

user.get, user.search

LINE/CONFIG_ID

Identifier of the open channel. In the methods imconnector.*, the parameter LINE is usually used, in the methods imopenlines.config.*, CONFIG_ID is used, and in statistics methods, configId and configIdList are used. This identifier is needed to retrieve line data, modify settings, link connector messages, and filter statistics

imopenlines.config.get, imopenlines.config.list.get, imopenlines.config.update

CONNECTOR

Identifier of the connector. Needed for the methods imconnector.* to work with the correct connected connector

Set during registration in imconnector.register in the ID parameter, then passed, for example, in imconnector.activate and imconnector.send.messages

source

Open channel source code. Needed to filter statistics by inquiry channel

imconnector.list

How to Get Started

Connect Your Own External Channel via Connector

  1. Register and activate the connector: imconnector.register, imconnector.activate
  2. Create an open channel and link it to the channel: imopenlines.config.add, imconnector.connector.data.set
  3. Check message sending and connector status: imconnector.send.messages, imconnector.status

Connect an External Open Channel from Another Bitrix24

  1. Connect the line using the method imopenlines.network.join
  2. Check dialog processing: imopenlines.session.open, imopenlines.operator.answer, imopenlines.crm.message.add

To automate, connect events: Open Channels Events, Connectors Events

Build an External Open Channels Report

  1. Retrieve aggregate metrics using imopenlines.v2.Stat.get
  2. Retrieve the list of sessions using imopenlines.v2.Session.list
  3. For details on selected sessions, use imopenlines.v2.Session.Stat.get or imopenlines.v2.Session.Transfer.list
  4. To monitor current operator load, use imopenlines.v2.Operator.list

Overview of Methods and Events

Scope: imopenlines, imconnector

Who can execute methods and events: depending on the method, event, and access permissions to open channels

Open Channels

Section

Description

Open Channels

Methods for configuring lines, queues, dialogues, messages, and CRM links

Open Channel Dialogues

Methods for working with chats, sessions, history, and dialogue modes

Open Channel Operators

Methods for transferring, closing, and distributing dialogues between operators

Open Channel Messages

Methods for sending messages and saving quick replies

CRM Chats

Methods for searching CRM chats and managing participants

Chatbots in Open Channels

Methods for automating dialogues using chatbots

Open Channel Events

Events for Open Channel messages and sessions

Open Channels Statistics

Section

Description

Open Channels Statistics

Methods for retrieving aggregates, sessions, ratings, transfers, and operator load

Open Channels Connectors

Section

Description

Open Channels Connectors

Methods for registering connectors, connecting channels, and exchanging messages

Connector Events

Events for connector messages, dialogues, lines, and statuses