{% note tip "" %}
If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect the MCP server so that the assistant can utilize the official REST documentation.
{% endnote %}
Scope:
bizprocWho can execute the method: administrator
The bizproc.activity.update method updates a business process action added by the application.
It works only in the context of the application.
{% include Note on required parameters %}
#|
|| Name
type | Description ||
|| CODE*
string | Internal identifier of the action ||
|| FIELDS*
object | Object with fields of the business process action ||
|#
Pass at least one field to update in FIELDS.
#|
|| Name
type | Description ||
|| HANDLER
string | URL to which the action will send data via the Bitrix24 queue server.
The link must have the same domain where the application is installed ||
|| AUTH_USER_ID
integer | Identifier of the user whose token will be passed to the application ||
|| USE_SUBSCRIPTION
boolean | Should the action wait for a response from the application. Possible values:
Y— yesN— no || || NAMEstring|object| Name of the action.
Can be a string or an associative array of localized strings like:
'NAME': {
'de': 'Aktionsname',
'en': 'action name',
...
},||
|| DESCRIPTION
string | object | Description of the action.
Can be a string or an associative array of localized strings like:
'DESCRIPTION': {
'de': 'Aktionsbeschreibung',
'en': 'action description',
...
},||
|| PROPERTIES
object | Object with parameters of the action. Contains objects, each describing a parameter of the action.
The system name of the parameter must start with a letter and can contain characters a-z, A-Z, 0-9, and underscore _ ||
|| RETURN_PROPERTIES
object | Object with additional results of the action. Contains objects, each describing a parameter of the action.
This parameter controls the ability of the action to wait for a response from the application and work with the data that will come in the response.
The system name of the parameter must start with a letter and can contain characters a-z, A-Z, 0-9, and underscore _
||
|| DOCUMENT_TYPE
array | Document type that will determine the data types for the PROPERTIES and RETURN_PROPERTIES parameters. Consists of three string-type elements:
- module identifier
- object identifier
- document type
Possible value options:
-
CRM Module
['crm', 'CCrmDocumentLead', 'LEAD']— leads['crm', 'CCrmDocumentContact', 'CONTACT']— contacts['crm', 'CCrmDocumentCompany', 'COMPANY']— companies['crm', 'CCrmDocumentDeal', 'DEAL']— deals['crm', 'Bitrix\Crm\Integration\BizProc\Document\Quote', 'QUOTE']— estimates['crm', 'Bitrix\Crm\Integration\BizProc\Document\SmartInvoice', 'SMART_INVOICE']— invoices['crm', 'Bitrix\Crm\Integration\BizProc\Document\Dynamic', 'DYNAMIC_XXX']— SPAs, where XXX is the identifier of the SPA -
Lists Module
['lists', 'BizprocDocument', 'iblock_XXX']— processes in the news feed, where XXX is the identifier of the information block['lists', 'Bitrix\Lists\BizprocDocumentLists', 'iblock_XXX']— lists in groups, where XXX is the identifier of the information block -
Drive Module
['disk', 'Bitrix\Disk\BizProcDocument', 'STORAGE_XXX'], where XXX is the storage identifier
||
|| FILTER
object | Object with rules for limiting the action by document type and edition.
May contain keys:
INCLUDE— array of rules where the action will be displayedEXCLUDE— array of rules where the action will be hidden
Each rule in the array can be a string or an array of document types in full or partial form.
To limit the action by Bitrix24 edition, specify:
b24— for cloudbox— for on-premise
Examples:
- Exclude action for on-premise Bitrix24
FILTER: { EXCLUDE: [ 'box' ] }
- Display action only for the Lists module
FILTER: { INCLUDE: [ ['lists'] ] }
- Display action only for the Lists module and deals from CRM
FILTER: { INCLUDE: [ ['lists'], ['crm', 'CCrmDocumentDeal'] ] }
||
|| USE_PLACEMENT
boolean | Allows opening additional settings for the action in the application slider. Possible values:
Y— yesN— no || || PLACEMENT_HANDLERstring| URL of the placement handler on the application side || |#
#|
|| Name
type | Description ||
|| Name
string | object | Name of the parameter ||
|| Description
string | object | Description of the parameter ||
|| Type
string | Type of the parameter. Basic values:
bool— yes or nodate— datedatetime— date and timedouble— numberfile— fileint— integerselect— liststring— stringtext— textuser— user || || Optionsarray| Array of values for the parameter of type list'TYPE': select'like:
[
'value1': 'title1',
'value2': 'title2',
'value3': 'title3',
'value4': 'title4'
]||
|| Required
boolean | Parameter requirement. Possible values:
Y— yesN— no || || Multipleboolean| Parameter multiplicity. Possible values:Y— yesN— no || || Defaultany| Default value of the parameter || |#
Below are examples of PROPERTY objects for different parameter types.
-
select'docType': { 'Name': { 'de': 'Dokumenttyp', 'en': 'Document type' }, 'Required': 'Y', 'Multiple': 'N', 'Default': 'PDF', 'Type': 'select', 'Options': { 'pdf': 'PDF', 'docx': 'DOCX' } }
-
bool'saveDoc': { 'Name': { 'de': 'Dokument speichern', 'en': 'Save document' }, 'Description': { 'de': 'Einen fortlaufenden Nummer zuweisen', 'en': 'Assign a sequential number' }, 'Type': 'bool', 'Required': 'Y', 'Multiple': 'N', 'Default': 'Y' }
-
file'attachment': { 'Name': { 'de': 'Datei', 'en': 'File' }, 'Description': { 'de': 'Datei zum Senden', 'en': 'File to send' }, 'Type': 'file', 'Required': 'N', 'Multiple': 'Y' }
-
string'Parameters': { 'Name': { 'de': 'Vorlagenparameter', 'en': 'Template\'s parameters' }, 'Description': { 'de': 'ParamID={=ParamValue}', 'en': 'ParamID={=ParamValue}' }, 'Type': 'string', 'Required': 'N', 'Multiple': 'Y' }
{% include Note on Examples %}
{% list tabs %}
-
cURL (OAuth)
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"CODE":"action_test_code","FIELDS":{"AUTH_USER_ID":1,"USE_SUBSCRIPTION":"N","FILTER":{"INCLUDE":[["lists"],["crm","CCrmDocumentDeal"]]}}, "auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/bizproc.activity.update
-
JS
try { const response = await $b24.callMethod( 'bizproc.activity.update', { 'CODE': 'action_test_code', 'FIELDS': { 'AUTH_USER_ID': 1, 'USE_SUBSCRIPTION': 'N', 'FILTER': { 'INCLUDE': [ ['lists'], ['crm', 'CCrmDocumentDeal'] ] } }, } ); const result = response.getData().result; alert("Success: " + result); } catch( error ) { alert("Error: " + error); }
-
Python
from b24pysdk.errors import BitrixAPIError, BitrixSDKException try: bitrix_response = client.bizproc.activity.update( code="action_test_code", fields={ "AUTH_USER_ID": 1, "USE_SUBSCRIPTION": "N", "FILTER": { "INCLUDE": [ [ "lists", ], [ "crm", "CCrmDocumentDeal", ], ], }, }, ).response result = bitrix_response.result print(result) except BitrixAPIError as error: print( "Bitrix API error", f"error: {error.error}", f"error_description: {error.error_description}", sep="\n", ) except BitrixSDKException as error: print(f"Bitrix SDK error: {error.message}") except Exception as error: print(f"Unexpected error: {error}")
-
PHP
try { $result = $serviceBuilder ->getBizProcScope() ->activity() ->update( 'activity_code', 'https://example.com/handler', 1, ['en' => 'Activity Name', 'de' => 'Aktivitätsname'], ['en' => 'Activity Description', 'de' => 'Aktivitätsbeschreibung'], true, ['param1' => 'value1'], false, ['returnParam1' => 'value1'], null, null ); if ($result->isSuccess()) { print($result->getCoreResponse()->getResponseData()->getResult()[0]); } else { print('Update failed.'); } } catch (Throwable $e) { print('Error: ' . $e->getMessage()); }
-
BX24.js
BX24.callMethod( 'bizproc.activity.update', { 'CODE': 'action_test_code', 'FIELDS': { 'AUTH_USER_ID': 1, 'USE_SUBSCRIPTION': 'N', 'FILTER': { 'INCLUDE': [ ['lists'], ['crm', 'CCrmDocumentDeal'] ] } }, }, function(result) { if(result.error()) alert("Error: " + result.error()); else alert("Success: " + result.data()); } );
-
PHP CRest
require_once('crest.php'); $result = CRest::call( 'bizproc.activity.update', [ 'CODE' => 'action_test_code', 'FIELDS' => [ 'AUTH_USER_ID' => 1, 'USE_SUBSCRIPTION' => 'N', 'FILTER' => [ 'INCLUDE' => [ ['lists'], ['crm', 'CCrmDocumentDeal'] ] ] ] ] ); echo '<PRE>'; print_r($result); echo '</PRE>';
-
Go
// client and ctx are already created — see the Go SDK section res, err := client.Core().Call(ctx, "bizproc.activity.update", b24.Params{ "CODE": "action_test_code", "FIELDS": b24.Params{ "AUTH_USER_ID": 1, "USE_SUBSCRIPTION": "N", "FILTER": b24.Params{ "INCLUDE": []any{ []string{"lists"}, []string{"crm", "CCrmDocumentDeal"}, }, }, }, }) if err != nil { return fmt.Errorf("bizproc.activity.update: %w", err) } var ok bool if err := json.Unmarshal(res.Result, &ok); err != nil { return fmt.Errorf("parse response: %w", err) } fmt.Println("done:", ok)
{% endlist %}
HTTP Status: 200
{
"result": true,
"time": {
"start": 1738149954.2918739,
"finish": 1738149954.4590819,
"duration": 0.16720795631408691,
"processing": 0.017282962799072266,
"date_start": "2025-01-29T14:25:54+01:00",
"date_finish": "2025-01-29T14:25:54+01:00",
"operating_reset_at": 1738150554,
"operating": 0
}
}#|
|| Name
type | Description ||
|| result
boolean | Returns true if the action is successfully updated ||
|| time
time | Information about the execution time of the request ||
|#
HTTP Status: 400
{
"error": "ERROR_ACTIVITY_VALIDATION_FAILURE",
"error_description": "Wrong properties array!"
}{% include notitle error handling %}
#|
|| Code | Error Message | Description ||
|| ACCESS_DENIED | Application context required | Application context is required ||
|| ACCESS_DENIED | Access denied! | Method executed by a non-administrator ||
|| ERROR_ACTIVITY_VALIDATION_FAILURE | Empty activity code! | Activity code not specified ||
|| ERROR_ACTIVITY_VALIDATION_FAILURE | Wrong activity code! | Invalid activity code ||
|| ERROR_ACTIVITY_NOT_FOUND | Activity or Automation rule not found! | Action or Automation rule not found ||
|| ERROR_UNSUPPORTED_PROTOCOL | Unsupported handler protocol | Invalid handler protocol http, https ||
|| ERROR_WRONG_HANDLER_URL | Wrong handler URL | Invalid handler URL ||
|| ERROR_ACTIVITY_VALIDATION_FAILURE | Wrong properties array! | Incorrectly filled parameters PROPERTIES or RETURN_PROPERTIES ||
|| ERROR_ACTIVITY_VALIDATION_FAILURE | Wrong property key ! | Invalid property identifier ||
|| ERROR_ACTIVITY_VALIDATION_FAILURE | Empty property NAME ! | Property name not specified ||
|| ERROR_ACTIVITY_VALIDATION_FAILURE | Wrong activity FILTER! | Invalid filter ||
|| ERROR_ACTIVITY_VALIDATION_FAILURE | Wrong activity DOCUMENT_TYPE! | Invalid DOCUMENT_TYPE ||
|| ERROR_ACTIVITY_VALIDATION_FAILURE | No fields to update | No fields to update ||
|#
{% include system errors %}