When Changing the Set of Values of a Custom Field of a Smart Process, New Invoice, or Document onCrmTypeUserFieldSetEnumValues

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 ONCRMTYPEUSERFIELDSETENUMVALUES will trigger when the set of values of a custom field of the list type enumeration is set or changed for a smart process, a new invoice, or a document for signing.

The event arrives both when the list of values is edited in the interface and when the userfieldconfig.add and userfieldconfig.update methods are called.

A single action on a list-type field sends one or two events:

  • when a field is created together with a set of values, the handler receives onCrmTypeUserFieldAdd and onCrmTypeUserFieldSetEnumValues
  • when the field settings are changed together with the set of values — onCrmTypeUserFieldUpdate and onCrmTypeUserFieldSetEnumValues
  • when only the set of values changes — a single onCrmTypeUserFieldSetEnumValues event

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. 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": "ONCRMTYPEUSERFIELDSETENUMVALUES",
            "event_handler_id": "713",
            "data": {
                "FIELDS": {
                    "ID": "6977",
                    "ENTITY_ID": "CRM_13",
                    "FIELD_NAME": "UF_CRM_13_1742999523"
                }
            },
            "ts": "1742999524",
            "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 — ONCRMTYPEUSERFIELDSETENUMVALUES

event_handler_id
integer

Identifier of the event handler

data
object

An object containing information about the custom field whose set of values has changed.

Contains a single key FIELDS

data.FIELDS
object

An object containing the identifiers of the custom field whose set of values has changed.

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 custom field whose set of values has changed.

Pass it together with moduleId = crm to the userfieldconfig.get method to retrieve the new list of values

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 custom field, for example UF_CRM_13_1742999523

The event does not pass the set of values itself. The list of values is returned by the userfieldconfig.get method in the enum key. 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