Smart Processes: 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 Smart Process is a versatile CRM entity that can be customized to meet the needs of a company. For each Smart Process, Bitrix24 creates a separate section in the CRM. In this section, you can configure Sales Funnels and stages, Automation rules, fields, and connections to other Bitrix24 entities.

Quick Navigation: All Methods and Events

User Documentation: Smart Process Automation in CRM

Working with a Smart Process

  1. Create and configure the Smart Process — methods crm.type.*.
  2. Set up Sales Funnels and stages — crm.category.* for funnels and crm.status.* for stages.
  3. Add custom fields — userfieldconfig.*.
  4. Configure the item detail form — crm.item.details.configuration.*.
  5. Create the first items within the Smart Process — crm.item.*.

The Smart Process can be transferred from the CRM section to the Automation section via digital workplaces.

Connections with Other Entities

CRM Entities. A Smart Process can be linked to leads, deals, and other CRM entities. The linked entity will be accessible through the field parentId{ID}, where {ID} is the numeric identifier of the CRM entity.

Client. This field in the Smart Process detail form consists of the associated company and contacts. There is one company in the field; change the linked company through the companyId field. There can be multiple contacts in the "Client" field. Interaction with contacts is managed through the contactIds field — pass an array of contact IDs in this field. Enable the field with the isClientEnabled option in the crm.type.add or crm.type.update methods.

Your Company Details. Specify your company ID in the mycompanyId field so that its details are automatically used in documents. You can obtain your company ID using the crm.item.list method for the company object with a filter on the isMyCompany field. Enable the field with the isMycompanyEnabled option in the crm.type.add or crm.type.update methods.

Products. To add, modify, or delete product items in the Smart Process, use the crm.item.productrow.* methods. Enable the products tab and the "Amount and Currency" field with the isLinkWithProductsEnabled option in the crm.type.add or crm.type.update methods.

Users. The Smart Process is linked to users by numeric identifiers in the fields:

  • createdBy — created by,
  • updatedBy — updated by,
  • movedBy — who changed the stage,
  • assignedById — responsible for the item,
  • observers — observers. Enable the field with the isObserversEnabled option in the crm.type.add or crm.type.update methods.

You can obtain the user ID and data using the user.get method.

Documents. To create a document from a template, upload a new template for the Smart Process, or configure the document numbering, use the crm.documentgenerator.* methods. Enable document handling in the Smart Process with the isDocumentsEnabled option in the crm.type.add or crm.type.update methods.

Tasks. Smart Process items can be linked to tasks. Use the tasks.task.* methods to work with tasks. To make the linking option available, enable and configure the isUseInUserfieldEnabled option in the crm.type.add or crm.type.update methods.

Calendar Events. Smart Process items can be linked to calendar events. Use the calendar.event.* methods to work with the calendar. To make the linking option available, enable and configure the isUseInUserfieldEnabled option in the crm.type.add or crm.type.update methods.

Smart Process Item Detail Form

The main workspace in a Smart Process is the "General" tab of the detail form. It consists of two parts:

  • The left part contains fields with information. If the system fields are insufficient, you can create your own custom fields. Fields allow you to store information in various data formats: string, number, link, address, and others. To create, modify, retrieve, or delete custom fields in the Smart Process, use the group of methods userfieldconfig.*.

  • The right part contains the Smart Process timeline. Here, you can create, edit, filter, and delete CRM activities — a group of methods crm.activity.*, and timeline records — a group of methods crm.timeline.*.

You can manage the parameters of the Smart Process detail form through the group of methods crm.item.details.configuration.*.

Widgets

You can embed an application into the Smart Process detail form. This allows you to use the application without leaving the item detail form.

There are two embedding scenarios:

Embedding Locations for Smart Processes

Replace XXX with the numeric identifier of the specific Smart Process, for example, CRM_DYNAMIC_183_DOCUMENTGENERATOR_BUTTON.

Smart Process Identifiers

Each Smart Process has four types of identifiers. Use these identifiers to apply a method to a specific Smart Process.

  1. Numeric identifier of type 130. Obtain it using the crm.enum.ownertype ID or crm.type.list entityTypeId.

  2. Symbolic code of type DYNAMIC_130crm.enum.ownertype SYMBOL_CODE.

  3. Short symbolic code of type T82crm.enum.ownertype SYMBOL_CODE_SHORT.

  4. Custom field object type CRM_13crm.type.list. Substitute the id from the method result into the formula CRM_ + {ID}.

Overview of Methods and Events

Scope: crm

Who can execute the method: depending on the method

Smart Processes

Method

Description

crm.type.add

Creates a new Smart Process

crm.type.update

Updates the Smart Process

crm.type.get

Returns the Smart Process by id

crm.type.getByEntityTypeId

Returns the Smart Process by entityTypeId

crm.type.list

Returns a list of Smart Processes

crm.type.delete

Deletes the Smart Process

crm.type.fields

Returns the fields of the Smart Process

Event

Triggered

onCrmTypeAdd

When a Smart Process is created

onCrmTypeUpdate

When a Smart Process is updated

onCrmTypeDelete

When a Smart Process is deleted

Items

The CRM object identifier entityTypeIdnumeric identifier type, for example, 128.

Method

Description

crm.item.add

Creates a new item

crm.item.update

Updates the item

crm.item.get

Returns the item by Id

crm.item.list

Returns a list of items by filter

crm.item.delete

Deletes the item

crm.item.fields

Returns the fields of the item

Event

Triggered

onCrmDynamicItemAdd

When a Smart Process item is created

onCrmDynamicItemDelete

When a Smart Process item is deleted

onCrmDynamicItemUpdate

When a Smart Process item is updated

Sales Funnels

The CRM object identifier entityTypeIdnumeric identifier type, for example, 128.

Method

Description

crm.category.add

Creates a new Sales Funnel

crm.category.update

Updates the Sales Funnel

crm.category.get

Returns the Sales Funnel by Id

crm.category.list

Returns a list of Sales Funnels

crm.category.delete

Deletes the Sales Funnel

crm.category.fields

Returns the fields of the Sales Funnel

Custom Fields

The CRM object identifier entityIdcustom field object type, for example, CRM_1.

Method

Description

userfieldconfig.add

Creates a custom field

userfieldconfig.update

Modifies the field settings

userfieldconfig.get

Returns the settings of the custom field by identifier

userfieldconfig.getTypes

Returns the set of available custom field types for the module

userfieldconfig.list

Returns a list of custom field settings

userfieldconfig.delete

Deletes the custom field

Managing Detail Form Settings

The CRM object identifier entityTypeIdnumeric identifier type, for example, 128.

Method

Description

crm.item.details.configuration.forceCommonScopeForAll

Sets a common detail form for all users

crm.item.details.configuration.get

Retrieves the parameters of the item detail form

crm.item.details.configuration.reset

Resets the parameters of the item detail form

crm.item.details.configuration.set

Sets the parameters of the item detail form

Product Items

The CRM object identifier ownerTypeshort symbolic code type, for example, T80.

Method

Description

crm.item.productrow.add

Adds a product item

crm.item.productrow.update

Updates a product item

crm.item.productrow.get

Retrieves information about a product item by id

crm.item.productrow.set

Links a product item to a CRM object

crm.item.productrow.list

Retrieves a list of product items

crm.item.productrow.getAvailableForPayment

Retrieves a list of unpaid products

crm.item.productrow.delete

Deletes a product item

crm.item.productrow.fields

Retrieves a list of product item fields