Contacts 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 contact is a CRM object that stores data about clients—individuals. The contact card contains phone numbers, email addresses, and messenger identifiers in a special format that allows communication with the client directly through Bitrix24.

Development of the crm.contact.* and crm.contact.details.configuration.* methods has been discontinued. For new development, use the universal methods crm.item.* with entityTypeId = 3. The company linking methods crm.contact.company.* and the custom field methods crm.contact.userfield.* continue to work.

Quick navigation: all methods and events

User documentation: contacts in Bitrix24

Current API Version

A contact is one of the CRM object types, so it is managed by the universal methods crm.item.* with entityTypeId = 3. The crm.contact.* methods continue to work — retain them only in existing integrations.

Method with Discontinued Development

Replacement

crm.contact.add

crm.item.add

crm.contact.update

crm.item.update

crm.contact.get

crm.item.get

crm.contact.list

crm.item.list

crm.contact.delete

crm.item.delete

crm.contact.fields

crm.item.fields

crm.contact.details.configuration.*

crm.item.details.configuration.*

The crm.contact.company.* and crm.contact.userfield.* method groups have no replacement — they are current.

Field names differ between the two method groups: crm.contact.* accepts and returns fields in UPPER_CASE format, for example LAST_NAME, while crm.item.* uses camelCase format, for example lastName. The exact set of fields is returned by the method crm.item.fields with entityTypeId = 3.

How to Get Started

  1. Retrieve the description of contact fields with the crm.contact.fields method — it returns system and custom fields with their types.
  2. Create a contact with the crm.contact.add method. Fill in NAME or LAST_NAME: if both fields are empty, the method returns an error. Pass phone numbers and e-mail in the multiple fields PHONE and EMAIL — these are arrays of objects with the VALUE and VALUE_TYPE keys.
  3. Link the contact to companies with the crm.contact.company.* methods if the client represents several companies.
  4. Find the contacts you need with the crm.contact.list method: it accepts filter, order, and select, and returns the result in pages of 50 records.
  5. Communicate with the client in the contact card — with activities crm.activity.* and timeline records crm.timeline.*.
  6. Subscribe to contact events to receive notifications about changes in your application.

Relationships with Other CRM Objects

Deal, lead, SPA. Any CRM object that has the standard field Client is connected to contacts. The connection is managed through groups of methods for deals, leads, and SPAs.

Company. A single contact can be linked to multiple companies. This connection is managed using the group of methods crm.contact.company.*. When you select a company in the Client field in deals or SPAs, all associated contacts are automatically pulled into the field.

Requisites. The requisites themselves are a separate object, and methods from the group crm.requisite.* and crm.address.* are used to create or modify them. They are displayed in the Requisites field of the contact card.

Contact Card

The main workspace in a contact is the General tab of its card. 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. They allow you to store information in various data formats: string, number, link, address, and others. The group of methods crm.contact.userfield.* is used to create, modify, retrieve, or delete custom contact fields.

  • The right part contains the contact's timeline. In it, you can create, edit, filter, and delete CRM activities using the group of methods crm.activity.*, and timeline records using the group of methods crm.timeline.*.

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

Widgets

You can embed an application into the contact card and work with it without leaving the card.

There are two embedding scenarios:

Overview of Methods and Events

Scope: crm

Who can execute the method: depending on the method — the contact methods and the company linking methods check the access permissions for contacts, while creating, modifying, and deleting custom fields is available only to a CRM administrator. Any user can subscribe to the events

Basic

Method

Description

crm.contact.add

Creates a new contact

crm.contact.update

Updates an existing contact

crm.contact.get

Returns a contact by ID

crm.contact.list

Returns a list of contacts by filter

crm.contact.delete

Deletes a contact and all associated objects

crm.contact.fields

Returns the description of contact fields, including custom fields

Event

Triggered

onCrmContactAdd

When a contact is created

onCrmContactUpdate

When a contact is updated

onCrmContactDelete

When a contact is deleted

Companies

Method

Description

crm.contact.company.add

Adds a company to the specified contact

crm.contact.company.delete

Removes a company from the specified contact

crm.contact.company.items.get

Returns the set of companies associated with the specified contact

crm.contact.company.items.set

Sets the set of companies associated with the specified contact

crm.contact.company.items.delete

Clears the set of companies associated with the specified contact

crm.contact.company.fields

Returns the description of fields for contact-company connection

Custom Fields

Method

Description

crm.contact.userfield.add

Creates a custom field for contacts

crm.contact.userfield.update

Modifies an existing custom field for contacts

crm.contact.userfield.get

Returns a custom field for contacts by Id

crm.contact.userfield.list

Returns a list of custom fields for contacts

crm.contact.userfield.delete

Deletes a custom field for contacts

Event

Triggered

onCrmContactUserFieldAdd

When a custom field is added

onCrmContactUserFieldUpdate

When a custom field is updated

onCrmContactUserFieldDelete

When a custom field is deleted

onCrmContactUserFieldSetEnumValues

When the set of values for a list-type custom field is changed

Managing Contact Cards

Method

Description

crm.contact.details.configuration.get

Returns the settings of the contact card

crm.contact.details.configuration.set

Sets the settings of the contact card

crm.contact.details.configuration.reset

Resets the settings of the contact card

crm.contact.details.configuration.forceCommonScopeForAll

Forcefully sets a common contact card for all users