Event on Changing Recurrence Settings of a Recurring Deal onCrmDealRecurringUpdate

Choose a tool for developing with an AI agent:

  • use Alaio Vibecode to build an app for Bitrix24 from a task description without knowing any programming language. The agent writes the code and deploys the app to a server, with no manual hosting setup
  • use the MCP server to develop a REST API integration in your own project. The agent refers to the official REST documentation

Scope: crm

Who can subscribe: any user

The event ONCRMDEALRECURRINGUPDATE will trigger in three cases:

  • when the recurrence settings are modified manually or via the method crm.deal.recurring.update
  • when a deal is created from the template, right after onCrmDealRecurringExpose
  • when a scheduled deal could not be created — Bitrix24 disables the recurrence, and the event arrives without onCrmDealRecurringExpose

After a deal is created from the template, Bitrix24 writes the repeat counter and the last run date to the settings. On a scheduled run, it also recalculates the next run date.

The event is not triggered when fields of the template deal itself are modified, such as its title or amount. Such changes are tracked by the onCrmDealUpdate event.

The event does not contain a list of changed settings — request the current values by the ID from the FIELDS parameter.

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": "ONCRMDEALRECURRINGUPDATE",
            "event_handler_id": "679",
            "data": {
                "FIELDS": {
                    "ID": "9",
                    "RECURRING_DEAL_ID": "6791"
                }
            },
            "ts": "1741092489",
            "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",
                "application_token": "51856fefc120afa4b628cc82d3935cce"
            }
        }
        

parameter
type

Description

event
string

Symbolic code of the event.

In this case — ONCRMDEALRECURRINGUPDATE

event_handler_id
integer

Identifier of the event handler

data
object

Object containing information about the modified recurrence settings.

Contains a single key FIELDS

data.FIELDS
object

Object with the identifiers of the modified recurrence settings and the template deal.

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 recurrence settings. Pass it to the id parameter of crm.deal.recurring.get to retrieve the settings

RECURRING_DEAL_ID
integer

Identifier of the template deal whose field values are copied. Matches the DEAL_ID field in the crm.deal.recurring.get response. Fields of the template deal are returned by crm.deal.get

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:

  • L — local application
  • F — free 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