Activities 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.

In CRM, activities are used for any tasks related to customers: calls, meetings, or document approvals.

Activities are divided into incoming and scheduled:

  • Incoming — activities that come from the customer, such as an e-mail, call, or chat. For these activities, it is important to correctly specify the parameter DIRECTION = 1 so that the incoming activities counter in CRM works.
  • Scheduled — activities created by employees, such as tasks or universal activities. They can have a deadline, add links to CRM entities, integrate with the calendar, invite colleagues, and attach files.

Quick navigation: All Methods and Events

User documentation: Activities in CRM

Which Kind of Activity to Use

There are four kinds of activities in CRM. They differ in who creates the activity and how far its detail form can be customized.

Kind of Activity

Created By

When to Use

System Activity

Telephony, e-mail, chat, or an application via the crm.activity.add method

You need a call, e-mail, meeting, or an activity with a standard detail form

Universal Activity

An employee in the entity detail form or an application via the crm.activity.todo.add method

You need a deadline, color, participants, a meeting room, and calendar synchronization

Configurable Activity

Only an application via the crm.activity.configurable.add method

You need a custom appearance of the activity detail form with application blocks and buttons

Activity of a Custom Type

An application via the crm.activity.add method once the type is registered

You need your own icon and activity type name in the interface

Activity Type Identifiers

The TYPE_ID parameter defines the type of a system activity.

TYPE_ID

Activity Type

1

Meeting

2

Call

3

Task

4

E-mail

5

General activity, used when importing calendar events

6

Provider activity: universal and configurable activities, and application activities

The DIRECTION parameter defines the direction of the activity: 1 — incoming, 2 — outgoing. Direction is relevant for calls and e-mails; it is not used for meetings.

How to Get Started

  1. Identify the CRM entity whose timeline will store the activity: the object type is passed in OWNER_TYPE_ID, and the identifier in OWNER_ID. You can find the type values in the CRM Object Types reference.
  2. Retrieve the list of available fields using the crm.activity.fields method.
  3. Create the activity with the method for the kind you need: crm.activity.add, crm.activity.todo.add, or crm.activity.configurable.add.
  4. Retrieve the activity using the crm.activity.get method, or the list of activities of the entity using the crm.activity.list method.
  5. Delete an activity you no longer need using the crm.activity.delete method.
  6. Subscribe to activity events to track changes in real time.

Activities linked to CRM entities are stored in the timeline of the entity's card. If an activity is linked to multiple entities — for example, an e-mail can be linked to both a deal and a contact — it will be stored in the timelines of all related entities.

Links between activities and CRM entities can be added and removed using the methods from the crm.activity.binding.* group.

System Activities

System activities in CRM are created automatically:

  • A call activity is created by the telephony connected in Bitrix24. To finish a call, use the method telephony.externalcall.finish. This method ends the call, creates an activity in the entity's card, and returns the identifier of the created activity in the parameter CRM_ACTIVITY_ID.
  • An e-mail activity is created by the e-mail system. When an e-mail from a customer arrives at the connected Bitrix24 address, CRM checks if there is a customer in the database with the e-mail from the message. Based on the results of the check, an activity will be created in the card of the found entity or a new customer, where the activity will appear.

To create, modify, or delete a system activity, use the methods from the crm.activity.* group. When creating a system activity, specify TYPE_ID, for example, TYPE_ID = 4 for an e-mail activity. The values of the other types are listed in the Activity Type Identifiers section.

Activities of Custom Types

Applications can register custom activity types: upload a custom icon and specify the type name. For example, you can create your own activity type with an icon and name of your application.

  • To register an activity type — use the methods from the crm.activity.type.* group. When creating a type, you need to specify its code designation in the parameter TYPE_ID.
  • To create an activity with the application type — use the group of system activity methods crm.activity.add. When creating an activity, specify the code designation of the custom type TYPE_ID, registered for the activity type, in the parameter PROVIDER_TYPE_ID.

The methods crm.activity.delete (deletes an activity) and crm.activity.list (retrieves a list of activities) are common for all types of CRM activities.

Universal Activities

Universal activities are a type of activity with extended settings: a deadline, color, participants, a meeting room, and calendar synchronization.

The crm.activity.todo.add method creates such an activity, and crm.activity.todo.update updates it. Separate methods change a single property of the activity: the deadline, description, color, or responsible user. How to choose the right method is described in the Universal CRM Activities section.

Configurable Activities

Configurable activities are a type of activity that can only be created from an application. For this type, you can customize the appearance of the activity card and its functionality:

To create or modify a configurable activity, use the methods from the crm.activity.configurable.* group.

Widgets

Applications can be embedded into activities. For embedding, special locations are used, and one is available in activities — Context Menu Item of the Activity in the Entity Card CRM_XXX_ACTIVITY_TIMELINE_MENU.

Thanks to embedding, you can use the application without leaving the entity card. The application will open on the page you specify during the registration of the embedding.

Additional Features

Text notes can be added to activities and deleted. Use the methods from the crm.timeline.note.* group.

Content blocks can be added to activities and deleted. Use the methods from the crm.activity.layout.blocks.*.

Overview of Methods and Events

Scope: crm

Who can execute the methods: depends on the method

General Methods and Events

Method

Description

crm.activity.add

Creates a new activity

crm.activity.update

Updates an activity

crm.activity.get

Returns an activity by its identifier

crm.activity.list

Returns a list of activities of all types by filter

crm.activity.delete

Deletes any type of activity

crm.activity.call.getTranscript

Returns a completed call transcription

crm.activity.fields

Returns the description of activity fields

crm.activity.communication.fields

Returns the description of communication fields

Event

Triggered

onCrmActivityAdd

When an activity is created manually or via the crm.activity.add method

onCrmActivityUpdate

When an activity is updated manually or via the crm.activity.update method

onCrmActivityDelete

When an activity is deleted manually or via the crm.activity.delete method

Method

Description

crm.activity.binding.add

Adds a link between an activity and a CRM entity

crm.activity.binding.list

Returns a list of links of an activity

crm.activity.binding.move

Moves a link of an activity to another CRM entity

crm.activity.binding.delete

Deletes a link between an activity and a CRM entity

Custom Activity Types

Method

Description

crm.activity.type.add

Registers a custom activity type with a name and icon

crm.activity.type.list

Retrieves a list of custom activity types

crm.activity.type.delete

Deletes a custom activity type

Universal Activity

Method

Description

crm.activity.todo.add

Creates a universal activity

crm.activity.todo.update

Updates a universal activity

crm.activity.todo.updateColor

Changes the color

crm.activity.todo.updateDeadline

Changes the deadline

crm.activity.todo.updateDescription

Changes the description

crm.activity.todo.updateResponsibleUser

Changes the responsible user

Configurable Activity

Method

Description

crm.activity.configurable.add

Adds a new configurable activity to the timeline

crm.activity.configurable.update

Updates a configurable activity

crm.activity.configurable.get

Retrieves information about an activity by ID

Badges of Configurable Activity

Method

Description

crm.activity.badge.add

Adds a new badge

crm.activity.badge.get

Retrieves information about a badge

crm.activity.badge.list

Retrieves a list of badges

crm.activity.badge.delete

Deletes a badge by code

Additional Content Blocks

Method

Description

crm.activity.layout.blocks.set

Sets a set of additional content blocks in the activity

crm.activity.layout.blocks.get

Retrieves the set of additional content blocks in the activity set by the application

crm.activity.layout.blocks.delete

Deletes the set of additional content blocks for the activity set by the application