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=1so 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 |
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
Meeting |
|
|
Call |
|
|
Task |
|
|
|
|
|
General activity, used when importing calendar events |
|
|
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
- Identify the CRM entity whose timeline will store the activity: the object type is passed in
OWNER_TYPE_ID, and the identifier inOWNER_ID. You can find the type values in the CRM Object Types reference. - Retrieve the list of available fields using the crm.activity.fields method.
- Create the activity with the method for the kind you need: crm.activity.add, crm.activity.todo.add, or crm.activity.configurable.add.
- Retrieve the activity using the crm.activity.get method, or the list of activities of the entity using the crm.activity.list method.
- Delete an activity you no longer need using the crm.activity.delete method.
- Subscribe to activity events to track changes in real time.
Links of Activities with Other CRM Entities
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 parameterPROVIDER_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.
Typical use-cases and scenarios
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:
crmWho can execute the methods: depends on the method
General Methods and Events
|
Method |
Description |
|
Creates a new activity |
|
|
Updates an activity |
|
|
Returns an activity by its identifier |
|
|
Returns a list of activities of all types by filter |
|
|
Deletes any type of activity |
|
|
Returns a completed call transcription |
|
|
Returns the description of activity fields |
|
|
Returns the description of communication fields |
|
Event |
Triggered |
|
When an activity is created manually or via the crm.activity.add method |
|
|
When an activity is updated manually or via the crm.activity.update method |
|
|
When an activity is deleted manually or via the crm.activity.delete method |
Managing Activity Links
|
Method |
Description |
|
Adds a link between an activity and a CRM entity |
|
|
Returns a list of links of an activity |
|
|
Moves a link of an activity to another CRM entity |
|
|
Deletes a link between an activity and a CRM entity |
Custom Activity Types
|
Method |
Description |
|
Registers a custom activity type with a name and icon |
|
|
Retrieves a list of custom activity types |
|
|
Deletes a custom activity type |
Universal Activity
|
Method |
Description |
|
Creates a universal activity |
|
|
Updates a universal activity |
|
|
Changes the color |
|
|
Changes the deadline |
|
|
Changes the description |
|
|
Changes the responsible user |
Configurable Activity
|
Method |
Description |
|
Adds a new configurable activity to the timeline |
|
|
Updates a configurable activity |
|
|
Retrieves information about an activity by ID |
Badges of Configurable Activity
|
Method |
Description |
|
Adds a new badge |
|
|
Retrieves information about a badge |
|
|
Retrieves a list of badges |
|
|
Deletes a badge by code |
Additional Content Blocks
|
Method |
Description |
|
Sets a set of additional content blocks in the activity |
|
|
Retrieves the set of additional content blocks in the activity set by the application |
|
|
Deletes the set of additional content blocks for the activity set by the application |