{% note tip "" %}
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.
{% endnote %}
Events allow applications to respond to changes in almost real-time: receiving notifications about the creation, updating, deletion, and movement of deals.
The handler receives only the deal identifier in the data.FIELDS.ID field. Events do not pass field values, so request the deal in the handler using the method crm.deal.get. The exception is the event onCrmDealMoveToCategory: along with the identifier, it passes the new funnel CATEGORY_ID and the new stage STAGE_ID.
Moving a deal to another funnel does not trigger the event onCrmDealUpdate — it is tracked only by the event onCrmDealMoveToCategory. A stage change within the same funnel, on the contrary, arrives as a regular deal update.
Custom field configurations and recurring deal templates are tracked by separate groups of events: events for custom deal fields and events for recurring deals.
Detailed information on working with events is described in the article Concept and Benefits of Event Processing.
Quick navigation: all events
You can subscribe to the events onCrmDealAdd, onCrmDealUpdate, and onCrmDealDelete through:
- outgoing webhook
- application and the method event.bind
You can subscribe to the event onCrmDealMoveToCategory only through the application and the method event.bind.
An example of a handler code for the event is described in the article How to Test Your Handler for Processing Bitrix24 Events.
{% include notitle Server Availability for Sending and Receiving Events %}
Scope:
crmWho can subscribe: any user
#| || Event | Triggered By || || onCrmDealAdd | When a deal is created manually or via the method crm.deal.add || || onCrmDealUpdate | When a deal is modified manually or via the method crm.deal.update || || onCrmDealDelete | When a deal is deleted manually or via the method crm.deal.delete || || onCrmDealMoveToCategory | When the deal's funnel is changed manually or via the method crm.item.update || |#