Companies in CRM: Overview of Methods

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.

A company is a CRM object that stores client data for legal entities. The company card contains:

  • phone numbers, email addresses, and messenger identifiers in a special format. These allow direct communication with the client from Bitrix24
  • details for generating invoices, contracts, and any other types of printed documents based on templates

Method Development Has Been Discontinued

Development of the crm.company.* and crm.company.details.configuration.* methods has been discontinued. For new development, use the universal methods crm.item.* — the replacement table is in the section Current API Version.

The crm.company.contact.* and crm.company.userfield.* methods remain current.

Quick navigation: all methods and events

User documentation: companies in Bitrix24

Current API Version

The base company methods and the methods for its card settings have been replaced by the universal CRM methods. A universal method works with any CRM object and receives the object type in the entityTypeId parameter. For a company, entityTypeId equals 4.

Method with Discontinued Development

Replacement

crm.company.add

crm.item.add

crm.company.update

crm.item.update

crm.company.get

crm.item.get

crm.company.list

crm.item.list

crm.company.delete

crm.item.delete

crm.company.fields

crm.item.fields

crm.company.details.configuration.get

crm.item.details.configuration.get

crm.company.details.configuration.set

crm.item.details.configuration.set

crm.company.details.configuration.reset

crm.item.details.configuration.reset

crm.company.details.configuration.forceCommonScopeForAll

crm.item.details.configuration.forceCommonScopeForAll

The discontinued methods keep working — you do not have to rewrite existing integrations.

How to Get Started

  1. Retrieve the description of the company fields with the crm.company.fields method. It returns system and custom fields, their types, and whether they are required
  2. Create a company with the crm.company.add method or find the one you need with the crm.company.list method
  3. Link the company to contacts with the crm.company.contact.* group of methods, and to details with the crm.requisite.* methods
  4. Subscribe to company events if your application has to react to changes

Relationships with Other CRM Objects

Deal, lead, SPA. Any CRM object that has the standard field Client is linked to a company. The link is stored in the COMPANY_ID field. Change it with the groups of methods for deals, leads, and SPAs.

Contact. Multiple contacts can be associated with a single company. This connection is managed by the group of methods crm.company.contact.*. When you select a company in the Client field of a deal or an SPA, all related contacts are automatically pulled into the field.

Details. Details are a separate CRM object. Create and modify them with the methods of the crm.requisite.* and crm.address.* groups. In the company card, the details are displayed in the Details field.

Company Card

The main workspace in a company is the "General" tab of its card. It consists of two parts:

  • the left part, which contains fields with information. If the system fields are insufficient, you can create your own custom fields. These allow you to store information in various data formats: string, number, link, address, and others. The group of methods crm.company.userfield.* is used to create, modify, retrieve, or delete custom fields for companies

  • the right part, which contains the company timeline. CRM activities in the timeline are managed by the group of methods crm.activity.*, and timeline records by the group of methods crm.timeline.*. Both sets of methods create, modify, filter, and delete their objects

The parameters of the company card can be managed through the group of methods crm.company.details.configuration.*.

Widgets

You can embed an application into the company card. The employee then works with the application without leaving the card.

There are two embedding scenarios:

Company Events

An application can react to changes in companies in almost real time. The events of the section are split into two groups:

You can subscribe to the events through an outgoing webhook or through an application and the method event.bind.

Overview of Methods and Events

Scope: crm

Who can execute methods: depending on the method

Main

Method

Description

crm.company.add

Creates a new company

crm.company.update

Updates an existing company

crm.company.get

Returns a company by ID

crm.company.list

Returns a list of companies by filter

crm.company.delete

Deletes a company and all related objects

crm.company.fields

Returns the description of company fields

Event

Triggered

onCrmCompanyAdd

When a company is created manually or via the method crm.company.add

onCrmCompanyUpdate

When a company is updated manually or via the method crm.company.update

onCrmCompanyDelete

When a company is deleted manually or via the method crm.company.delete

Custom Fields

Method

Description

crm.company.userfield.add

Creates a new custom field for companies

crm.company.userfield.update

Updates an existing custom field for companies

crm.company.userfield.get

Returns a custom field for companies by ID

crm.company.userfield.list

Returns a list of custom fields for companies by filter

crm.company.userfield.delete

Deletes a custom field for companies

Event

Triggered

onCrmCompanyUserFieldAdd

When a custom field is added manually or via the method crm.company.userfield.add

onCrmCompanyUserFieldUpdate

When a custom field is modified manually or via the method crm.company.userfield.update

onCrmCompanyUserFieldDelete

When a custom field is deleted manually or via the method crm.company.userfield.delete

onCrmCompanyUserFieldSetEnumValues

When the set of values for a custom field of list type is changed manually or via the methods crm.company.userfield.add and crm.company.userfield.update

Contacts

Method

Description

crm.company.contact.add

Adds a contact to the specified company

crm.company.contact.items.get

Returns a set of contacts associated with the specified company

crm.company.contact.items.set

Sets the set of contacts associated with the specified company

crm.company.contact.delete

Deletes a contact from the specified company

crm.company.contact.items.delete

Clears the set of contacts associated with the specified company

crm.company.contact.fields

Returns the description of fields for the company-contact connection

Managing Company Cards

Method

Description

crm.company.details.configuration.get

Retrieves the settings for company cards

crm.company.details.configuration.reset

Resets the settings for company cards

crm.company.details.configuration.set

Sets the settings for company cards

crm.company.details.configuration.forceCommonScopeForAll

Allows forcing a common company card for all users