Overview of Events When Working with Custom Field Settings
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.
Events allow applications to respond to changes in near real-time: receiving notifications about the addition, update, or deletion of custom field settings.
Detailed information on working with events is described in the article Concept and Benefits of Event Processing.
Quick navigation: all events
How to Receive Events
You can subscribe to custom field settings events through:
- outgoing webhook
- application and the event.bind method
An example of a handler code for an event is described in the article How to Test Your Handler for Processing Bitrix24 Events.
The case of the event name does not matter when subscribing: event.bind accepts both onCrmTypeUserFieldAdd and ONCRMTYPEUSERFIELDADD. In event.get responses and in the event key of the event itself, the name always arrives in uppercase.
The events of this section require the crm scope — they are registered by the CRM module. The userfieldconfig.* methods require a different set: userfieldconfig and the module scope from moduleId. An application that both subscribes to the events and reads field settings needs both scopes.
Which Objects Trigger the Events
The events are triggered for custom fields of three CRM objects.
|
Object |
Custom field |
|
Smart process |
|
|
New invoice |
|
|
Document for signing |
|
The events of this section do not arrive for custom fields of other objects and modules:
- changes to fields in Business Automation processes with
moduleId=rpaand in inventory management documents withmoduleId=catalogdo not send events - the events of this section do not arrive for fields of legacy invoices either: those have their own events with the codes
onCrmInvoiceUserField*
Custom Field Events of Other CRM Objects
Leads, contacts, companies, deals, estimates, and requisites have their own custom field events:
- Overview of Events When Working with Custom Lead Fields
- Overview of Events When Working with Custom Contact Fields
- Overview of Events When Working with Company User Fields
- Overview of Events When Working with Custom Deal Fields
- Overview of Events When Working with Custom Fields in Estimates
- Overview of Events When Working with Requisites
For requisites, the custom field events belong to the common requisite events section together with the events of the requisite itself and of bank details.
What the Handler Receives
The events pass the custom field identifier, the object it belongs to, and its code in the data.FIELDS object:
{
"event": "ONCRMTYPEUSERFIELDUPDATE",
"data": {
"FIELDS": {
"ID": "6977",
"ENTITY_ID": "CRM_13",
"FIELD_NAME": "UF_CRM_13_1742999523"
}
}
}
The example shows only the meaningful part of the request. In addition to event and data, the handler receives three more top-level keys:
event_handler_id— identifier of the event handlerts— date and time the event was sent from the queueauth— authorization parameters and information about the account where the event occurred
The full payload with all keys is shown on the event pages, for example onCrmTypeUserFieldAdd. To make sure the request came from Bitrix24, match auth.application_token and auth.member_id against the values of your application.
The event is delivered as a POST request, so the values inside data.FIELDS arrive as strings. Cast ID to a number if you compare it with identifiers from method responses.
The composition of FIELDS is the same for all four events. The field type, its settings, and the list of values are not passed in the event — retrieve them with the userfieldconfig.get method by passing the received ID together with moduleId = crm. This method requires the userfieldconfig scope in addition to the crm scope the application subscribes to the event with.
After the onCrmTypeUserFieldDelete event, the method returns an error with an empty code and the text You are not allowed to view custom field settings. It returns the same error when there are not enough rights to view the field, so the error code does not let you tell a deleted field from a rights denial. The remaining errors are covered on the userfieldconfig.get page.
Which Events Arrive Together
A single action on a field of the list type enumeration sends one or two events:
|
What happened |
Which events arrive |
|
A field was created together with a set of values |
|
|
The field settings were changed together with the set of values |
|
|
Only the set of values was changed |
|
|
The settings of a field of any other type were changed |
|
These cases cannot be distinguished by the contents of data — all events carry the same three keys. If the handler is subscribed to both onCrmTypeUserFieldUpdate and onCrmTypeUserFieldSetEnumValues, guard against processing the same ID twice.
The events arrive only for actions on the field itself. When an entire smart process is deleted, its custom fields disappear as well, but onCrmTypeUserFieldDelete is not sent for them — track such cases with the onCrmTypeDelete event.
Server Availability for Sending and Receiving Events
The event handler server must be accessible from the outside. To configure the accessibility of the event handler server and application, refer to the article Required network access.
For cloud Bitrix24, no additional configuration is required. For on-premise Bitrix24, configure accessibility on the server or hosting according to the article Required network access.
Overview of Events
Scope:
crmWho can subscribe: any user
|
Event |
Triggered |
|
When a custom field is added manually or via the userfieldconfig.add method |
|
|
When the settings of a custom field are changed manually or via the userfieldconfig.update method |
|
|
When a custom field is deleted manually or via the userfieldconfig.delete method |
|
|
When the set of values of a list-type custom field is changed manually or via the userfieldconfig.add and userfieldconfig.update methods |