Overview of CRM

This section contains methods for working with CRM entities in Bitrix24. It covers leads, deals, contacts, companies, Smart Processes, funnels, stages, timelines, documents, requisites, and automation.

For example, you can create a Smart Process, configure its structure, and then interact with its elements through universal CRM methods.

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

Quick navigation: all sections and methods

User documentation: CRM implementation steps

Universal CRM Methods

Universal CRM methods operate through entityTypeId and cover basic operations with entities: creation, reading, updating, and filtering. They are suitable for leads, deals, contacts, companies, estimates, invoices, and Smart Processes.

Entities are created using the crm.item.add method and updated with crm.item.update. A single entity can be retrieved by its ID using crm.item.get, while a list can be obtained with crm.item.list.

If the operation pertains to only one type of entity—such as the relationships between deals and contacts—use the methods from the relevant section: crm.deal.*, crm.lead.*, crm.contact.*, crm.company.*, crm.quote.*.

What is Included in a CRM Card

A CRM card combines the entity's data, the stage of work with it, and the history of interactions.

Fields. The card stores the entity's data, the composition of which depends on its type. A list of available fields can be obtained using the crm.item.fields method. Common fields are described in the article Fields of Main CRM Entities, while custom fields are configured using the userfieldconfig.add or userfieldconfig.update methods.

Funnel and Stage. For deals and Smart Processes, the card shows which funnel the entity is in and at what stage. To work with funnels, you need categoryId, which can be retrieved using crm.category.list. The list of stages with their ENTITY_ID codes can be obtained from crm.status.list.

Timeline. The timeline stores the history of interactions with the CRM entity: activities and comments. To add a record to the entity's card, you typically create an activity using the crm.activity.add method or a comment using the crm.timeline.comment.add method.

Documents. Documents in CRM are created based on templates from the document generator. Templates and numerators are added using the crm.documentgenerator.template.add and crm.documentgenerator.numerator.add methods. A document is created and linked to a CRM entity using the crm.documentgenerator.document.add method.

Automation. The card can participate in automation scenarios that depend on the entity's state. A custom trigger is registered using the crm.automation.trigger.add method and then executed for the desired element using the crm.automation.trigger.execute method. Both methods work only in the context of an application.

Smart Processes

Smart Processes are custom types of CRM entities for business scenarios that go beyond standard leads, deals, contacts, and companies. They are used to describe contract approvals, internal requests, or equipment accounting.

For a Smart Process, unlike standard entities, the structure is configured first. The type is created using the crm.type.add method, which returns the entityTypeId of the new Smart Process. A list of existing types and their entityTypeId can be retrieved using crm.type.list.

Custom fields are added using the userfieldconfig.add method. If necessary, funnels can be configured separately using the crm.category.add method and stages using crm.status.add.

After configuring the structure, you can work with elements using the crm.item.* methods, just like with standard CRM entities.

Widgets

You can embed an application into CRM entity cards and lists. This allows you to use the application without leaving the card or list.

There are two embedding scenarios:

  • Use special embedding locations, such as a tab, a button above the timeline, or a menu item.
  • Create a custom field where the application's interface will be loaded.

CRM Embedding Locations

Replace XXX with the entity code: LEAD, DEAL, CONTACT, COMPANY, QUOTE, SMART_INVOICE. For Smart Processes, specify the numeric identifier of the entity type, for example, CRM_DYNAMIC_183_DETAIL_TAB.

Key Identifiers

Identifier

Meaning

Where Used

How to Obtain

entityTypeId

CRM entity type

Universal methods, funnels, custom fields

For standard entities — crm.enum.ownertype, for Smart Processes — crm.type.list

id

CRM entity identifier

Reading, updating, relationships between entities

From the list of entities crm.item.list or after creating an entity crm.item.add

categoryId

Funnel identifier

Deals and Smart Processes — needed when creating and filtering entities

From the list of funnels crm.category.list

stageId

Stage identifier

Creating and filtering deal and Smart Process entities

From the list of stages crm.status.list with a filter by ENTITY_ID

Relationships with Other Entities

Users. The person responsible for the CRM entity is stored in the assignedById field. User data can be retrieved using the user.get or user.search methods.

Tasks. Tasks are linked to CRM entities through the UF_CRM_TASK field. The CRM entity identifier is passed to this field. The relationship is recorded when creating a task using the tasks.task.add method, and it can be read using the tasks.task.get method.

Catalog. Product items in deals and estimates are sourced from the product catalog. Products can be managed using the catalog.product.* methods.

Telephony. Calls create activities in the CRM timeline. The telephony.externalcall.finish method ends the call and returns the identifier of the created activity in the CRM_ACTIVITY_ID parameter.

Overview of Sections and Methods

Scope: crm

Who can execute the method: depending on the method

Reference Materials

Article

Description

Data Types and Structure of Objects in the REST API CRM

What is entityTypeId, what identifiers exist, and how CRM entities are structured

Fields of Main CRM Entities

Fields of key CRM entities in one place

Typical Use-Cases and Tutorials

Practical scenarios and examples of using CRM

CRM Entities

Section

When to Use

Key Methods

Universal CRM Methods

For working with CRM entities and Smart Processes through entityTypeId

crm.item.add, crm.item.update, crm.item.list

All methods in the section

Deals

For working with deals, their cards, and relationships with contacts

crm.deal.add, crm.deal.update, crm.deal.list

All methods in the section

Leads

When working with leads, their cards, and relationships with contacts

crm.lead.add, crm.lead.update, crm.lead.list

All methods in the section

Contacts

For working with contacts, their cards, and relationships with companies

crm.contact.add, crm.contact.update, crm.contact.list

All methods in the section

Companies

When working with companies, their cards, and relationships with contacts

crm.company.add, crm.company.update, crm.company.list

All methods in the section

Estimates

For working with estimates and product items

crm.quote.add, crm.quote.update, crm.quote.list

All methods in the section

Settings and Directories

Section

When to Use

Key Methods

Directories

For managing system lists in CRM: stages, sources, types

crm.status.add, crm.status.update, crm.status.list

All methods in the section

Currencies

When managing CRM currencies, base currency, and localization

crm.currency.add, crm.currency.update, crm.currency.list

All methods in the section

Requisites

For working with requisites, addresses, and banking information in CRM

crm.requisite.add, crm.requisite.update, crm.requisite.list

All methods in the section

Activities and Documents

Section

When to Use

Key Methods

Timeline and Activities

For working with activities, comments, calls, and other timeline records

crm.activity.add, crm.activity.list

All methods in the section

Call Lists

When creating call lists and managing their statuses

crm.calllist.add, crm.calllist.list

All methods in the section

Document Generator

For generating documents based on templates and managing templates and numerators

crm.documentgenerator.document.add, crm.documentgenerator.template.list

All methods in the section

Automation and Analytics

Section

When to Use

Key Methods

CRM Automation

For registering webhook triggers and application triggers

crm.automation.trigger.add, crm.automation.trigger.execute

All methods in the section

Sales Intelligence

When linking traces to CRM entities and registering analytics sources

crm.tracking.trace.add, crm.tracking.trace.delete

All methods in the section

Additional Tools

Section

When to Use

Key Methods

Finding and Merging Duplicates

For finding and merging duplicate CRM records

crm.duplicate.findbycomm

All methods in the section

Digital Workplaces

When creating and configuring digital workplaces for Smart Processes

crm.automatedsolution.add, crm.automatedsolution.list

All methods in the section

Auxiliary Objects

For working with enumerations, multiple fields, and other auxiliary CRM objects

crm.enum.ownertype

All methods in the section

Outdated CRM Methods

For maintaining existing integrations on old method branches

All methods in the section

Individual Methods

Method

Description

crm.settings.mode.get

Returns the current mode of CRM

crm.stagehistory.list

Returns the history of the entity's movement through stages