When Updating a Custom Field of a Smart Process, New Invoice, or Document onCrmTypeUserFieldUpdate

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.

Scope: crm

Who can subscribe: any user

The event ONCRMTYPEUSERFIELDUPDATE will trigger when the settings of a custom field of a smart process, a new invoice, or a document for signing are changed. The event arrives both when the field is changed in the interface and when the userfieldconfig.update method is called.

If the set of values of a field of the list type enumeration also changes, the handler receives two events: onCrmTypeUserFieldUpdate and onCrmTypeUserFieldSetEnumValues. When only the set of values changes, a single onCrmTypeUserFieldSetEnumValues event arrives. All cases are covered in the Which Events Arrive Together section.

Events will not be sent to the application until the installation is complete. Check the application installation

What the Handler Receives

Data is transmitted as a POST request

{
            "event": "ONCRMTYPEUSERFIELDUPDATE",
            "event_handler_id": "713",
            "data": {
                "FIELDS": {
                    "ID": "6977",
                    "ENTITY_ID": "CRM_13",
                    "FIELD_NAME": "UF_CRM_13_1742999523"
                }
            },
            "ts": "1743003117",
            "auth": {
                "access_token": "s6p6eclrvim6da22ft9ch94ekreb52lv",
                "expires_in": "3600",
                "scope": "crm",
                "domain": "some-domain.bitrix24.com",
                "server_endpoint": "https://oauth.bitrix.info/rest/",
                "status": "L",
                "client_endpoint": "https://some-domain.bitrix24.com/rest/",
                "member_id": "a223c6b3710f85df22e9377d6c4f7553",
                "refresh_token": "4s386p3q0tr8dy89xvmt96234v3dljg8",
                "application_token": "51856fefc120afa4b628cc82d3935cce"
            }
        }
        

parameter
type

Description

event
string

Symbolic code of the event.

In this case — ONCRMTYPEUSERFIELDUPDATE

event_handler_id
integer

Identifier of the event handler

data
object

An object containing information about the changed custom field.

Contains a single key FIELDS

data.FIELDS
object

An object containing the identifiers of the changed custom field.

The structure is described below

ts
timestamp

Date and time of the event sent from the event queue

auth
object

Object containing authorization parameters and information about the account where the event occurred.

The structure is described below

Parameter FIELDS

parameter
type

Description

ID
integer

Identifier of the changed custom field.

Pass it together with moduleId = crm to the userfieldconfig.get method to retrieve the new field settings

ENTITY_ID
string

Identifier of the object the custom field belongs to: CRM_{id} for a smart process, CRM_SMART_INVOICE for a new invoice, CRM_SMART_DOCUMENT for a document for signing.

The CRM_{id} format uses the id key from the result of the crm.type.list method, not entityTypeId.

The values are described in the Which Objects Trigger the Events section

FIELD_NAME
string

Symbolic code of the changed custom field, for example UF_CRM_13_1742999523

The event does not pass which settings were changed, and it does not contain the values before and after the change. The new settings are returned by the userfieldconfig.get method. This method requires the userfieldconfig scope in addition to the crm scope the application subscribes to the event with.

Parameter auth

Required parameters are marked with *

Name
type

Description

access_token
string

Authorization token OAuth 2.0

expires_in
integer

Time in seconds until the token expires

scope*
string

Scope under which the event occurred

domain*
string

Address of Bitrix24 where the event occurred

server_endpoint*
string

Address of the Bitrix24 authorization server needed to refresh OAuth 2.0 tokens

status*
string

Status of the application that subscribed to this event:

  • Llocal application
  • Ffree mass-market application
  • D — demo version of a mass-market application
  • T — trial version of a mass-market application, time-limited
  • P — paid mass-market application

client_endpoint*
string

Common path for REST API method calls for Bitrix24 where the event occurred

member_id*
string

Identifier of Bitrix24 where the event occurred

refresh_token
string

Token for extending authorization OAuth 2.0

application_token*
string

Token for secure event handling

Authorization tokens are not always passed to the event handler. If the hit that initiated the event could not be linked to a specific Bitrix24 user, the tokens are not passed. Always check the contents of the auth key in the code.

It is recommended to store tokens obtained earlier during the application installation. Use them when working with the application interface in the form of embeds, widgets, and so on.

Continue Learning