لوكلاء AI: ملف markdown لهذه الصفحة — /docs-content-en/entities/smart-processes.md فهرس التوثيق — /llms.txt

مقالات التوثيق متاحة حاليًا باللغة الإنجليزية فقط.

Smart process types

Manage smart process types: create, get, update, delete, search. A type is a template (entity definition), not a record inside it. To work with items inside a type, use /v1/items/:entityTypeId.

Bitrix24 API: crm.type.* Scope: crm

Create a smart process type

POST /v1/smart-processes

Creates a new smart process type with an automatically assigned entityTypeId. After creation, the type is available at /v1/items/:entityTypeId for CRUD operations on items.

Request fields (body)

Field Type Required Default Description
Fieldtitle Typestring Requiredyes Default— DescriptionSmart process name
FieldisCategoriesEnabled Typeboolean Required Defaultfalse DescriptionUse custom pipelines and sales tunnels in the smart process
FieldisStagesEnabled Typeboolean Required Defaultfalse DescriptionUse custom stages and kanban in the smart process
FieldisBeginCloseDatesEnabled Typeboolean Required Defaultfalse Description"Start date" and "End date" fields
FieldisClientEnabled Typeboolean Required Defaultfalse Description"Client" field linked to contacts and companies
FieldisLinkWithProductsEnabled Typeboolean Required Defaultfalse DescriptionLinking catalog products
FieldisMycompanyEnabled Typeboolean Required Defaultfalse Description"Your company details" field
FieldisObserversEnabled Typeboolean Required Defaultfalse Description"Observers" field
FieldisSourceEnabled Typeboolean Required Defaultfalse Description"Source" and "More about the source" fields
FieldisAutomationEnabled Typeboolean Required Defaultfalse DescriptionAutomation rules and triggers
FieldisBizProcEnabled Typeboolean Required Defaultfalse DescriptionBusiness process designer
FieldisDocumentsEnabled Typeboolean Required Defaultfalse DescriptionDocument printing
FieldisRecyclebinEnabled Typeboolean Required Defaultfalse DescriptionRecycle bin usage
FieldisSetOpenPermissions Typeboolean Required Defaulttrue DescriptionMake new pipelines available to everyone
FieldisUseInUserfieldEnabled Typeboolean Required Defaultfalse DescriptionUse the smart process in a user field
FieldisRecurringEnabled Typeboolean Required Defaultfalse Description"Recurrence" field
FieldisPaymentsEnabled Typeboolean Required Defaultfalse DescriptionOnline payment
FieldisCountersEnabled Typeboolean Required Defaultfalse DescriptionCounters (notifications and badges)
Fieldrelations Typeobject Required Default{} DescriptionRelations with other CRM entities — see "Relations and user fields" below
FieldlinkedUserFields Typeobject Required Default{} DescriptionSet of user fields in which the smart process will be displayed — see "Relations and user fields" below

Full list of fields: GET /v1/smart-processes/fields.

Examples

curl — personal key

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/smart-processes \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Supply contracts",
    "isStagesEnabled": true,
    "isCategoriesEnabled": true,
    "isAutomationEnabled": true,
    "isBizProcEnabled": true,
    "isLinkWithProductsEnabled": true
  }'

curl — OAuth application

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/smart-processes \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Supply contracts",
    "isStagesEnabled": true,
    "isCategoriesEnabled": true,
    "isAutomationEnabled": true,
    "isBizProcEnabled": true,
    "isLinkWithProductsEnabled": true
  }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/smart-processes', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Supply contracts',
    isStagesEnabled: true,
    isCategoriesEnabled: true,
    isAutomationEnabled: true,
    isBizProcEnabled: true,
    isLinkWithProductsEnabled: true,
  }),
})

const { success, data } = await res.json()
console.log('Type created, entityTypeId:', data.entityTypeId)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/smart-processes', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Supply contracts',
    isStagesEnabled: true,
    isCategoriesEnabled: true,
    isAutomationEnabled: true,
    isBizProcEnabled: true,
    isLinkWithProductsEnabled: true,
  }),
})

const { success, data } = await res.json()

Relations and user fields

The relations and linkedUserFields fields are not described in /fields, but they are accepted on creation and saved by Bitrix24.

`relations` — relations with CRM entities

An object with two arrays: parent (parent types) and child (child types).

JSON
{
  "title": "Supply contracts",
  "relations": {
    "parent": [
      { "entityTypeId": 2, "isChildrenListEnabled": "Y" }
    ],
    "child": [
      { "entityTypeId": 3, "isChildrenListEnabled": "Y" }
    ]
  }
}
Record field Type Description
Record fieldentityTypeId Typenumber DescriptionID of the related type (2 = deals, 3 = contacts, 4 = companies, 7 = quotes, 31 = invoices, 1030+ = smart processes)
Record fieldisChildrenListEnabled Typeboolean / string DescriptionWhether to show the list of this smart process's records in the related type's card

isChildrenListEnabled format. The field accepts a boolean true/false, the strings "Y"/"N", or "true"/"false" — the value is normalized automatically (true, "Y", "yes", 1 → enabled; false, "N", "no", 0 → disabled). In responses the flag is always returned as "Y"/"N".

Side effect of isClientEnabled: true: Bitrix24 automatically adds relations with contacts (entityTypeId: 3) and companies (entityTypeId: 4) to relations.parent with the isPredefined: "Y" flag — you do not need to pass them manually.

`linkedUserFields` — display in user fields

An object where the key is a field identifier from another entity in the {ENTITY_CODE}|{FIELD_NAME} format, and the value enables (true) or disables (false) the display.

Value format. The field accepts a boolean true/false, the strings "Y"/"N", or "true"/"false" — the value is normalized automatically (true, "Y", "yes", 1 → enabled; false, "N", "no", 0 → disabled). In responses the flag is always returned as "Y"/"N".

JSON
{
  "title": "Supply contracts",
  "linkedUserFields": {
    "TASKS_TASK|UF_CRM_TASK": "Y",
    "TASKS_TASK_TEMPLATE|UF_CRM_TASK": "Y",
    "CALENDAR_EVENT|UF_CRM_CAL_EVENT": "Y"
  }
}

Three fixed keys are supported:

Key Where the smart process is displayed
KeyTASKS_TASK|UF_CRM_TASK Where the smart process is displayed"CRM item" field in tasks
KeyTASKS_TASK_TEMPLATE|UF_CRM_TASK Where the smart process is displayed"CRM item" field in task templates
KeyCALENDAR_EVENT|UF_CRM_CAL_EVENT Where the smart process is displayed"CRM item" field in calendar events

Response fields

Field Type Description
Fieldid Typenumber DescriptionInternal record ID of the type
FieldentityTypeId Typenumber DescriptionAssigned entityTypeId — used in /v1/items/:entityTypeId
Fieldtitle Typestring DescriptionName
FieldcreatedBy Typenumber DescriptionCreator
FieldupdatedBy Typenumber DescriptionLast editor
FieldcreatedTime Typedatetime DescriptionCreation date
FieldupdatedTime Typedatetime DescriptionModification date
FieldcustomSectionId Typenumber | null DescriptionDeprecated. ID of the digital workspace the type is attached to. null if not attached. Attach and detach the type from the workspace side: PATCH /v1/automated-solutions/:id with the full typeIds set

Plus all isXxxEnabled flags with the values that were passed (false by default). Full list — Type fields.

In Bitrix24, the item list of the created type opens at a URL built from its entityTypeId:

https://<portal>.bitrix24.com/crm/type/<entityTypeId>/list/category/0/

0 — the main pipeline. <portal> — the Bitrix24 portal domain. Access is restricted by the employee's permissions in Bitrix24.

Response example

JSON
{
  "success": true,
  "data": {
    "id": 31,
    "entityTypeId": 1050,
    "title": "Supply contracts",
    "createdBy": 1,
    "createdTime": "2026-04-21T13:46:45+00:00",
    "updatedTime": "2026-04-21T13:46:45+00:00",
    "updatedBy": 1,
    "customSectionId": null,
    "isCategoriesEnabled": true,
    "isStagesEnabled": true,
    "isBeginCloseDatesEnabled": false,
    "isClientEnabled": false,
    "isLinkWithProductsEnabled": true,
    "isMycompanyEnabled": false,
    "isObserversEnabled": false,
    "isSourceEnabled": false,
    "isAutomationEnabled": true,
    "isBizProcEnabled": true,
    "isDocumentsEnabled": false,
    "isRecyclebinEnabled": false,
    "isSetOpenPermissions": true,
    "isUseInUserfieldEnabled": false,
    "isRecurringEnabled": false,
    "isPaymentsEnabled": false,
    "isCountersEnabled": false,
    "isInitialized": false
  }
}

Error response example

422 — a required field was not passed:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Required field \"Title\" is not filled in"
  }
}

Errors

HTTP Code Description
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header was not passed
HTTP401 CodeINVALID_API_KEY DescriptionThe key is not recognized — no such key exists on the platform
HTTP403 CodeSCOPE_DENIED DescriptionThe API key does not have the crm scope
HTTP401 CodeTOKEN_MISSING DescriptionThe API key has no configured tokens
HTTP400 CodeREADONLY_FIELD DescriptionA read-only field was passed in the body (id, isInitialized, createdTime, and others)
HTTP422 CodeBITRIX_ERROR DescriptionAny error from Bitrix24: title not passed, entityTypeId out of range, the account's smart process limit exceeded, etc. The specific reason is in the message field

Typical message values for BITRIX_ERROR:

  • Required field "Title" is not filled in — title was omitted
  • EntityTypeId should be more or equal than 128 and less than 192 — an out-of-range entityTypeId was passed
  • Maximum number of smart processes exceeded — the account limit was reached

Full list of general API errors — Errors.

Known specifics

Auto-generation of entityTypeId. Bitrix24 assigns a free identifier automatically. If you want to pass your own, the value must be unique and fall into one of the ranges: from 128 to 191 (≥ 128 and < 192), or an even number ≥ 1030. The value is returned in the entityTypeId field of the response — save it and use it in all requests to the type and its items.

isInitialized: false after creation. Bitrix24 has not yet generated the standard stages and pipelines. They are created the first time the type is accessed in the interface, or programmatically — via /v1/statuses and /v1/categories/:entityTypeId.

relations are bidirectional. If you specify parent: [{entityTypeId: 2, ...}], a link to your new type automatically appears in the relations.child field of deals (type 2), with the isPredefined: "N" flag (a user-defined relation).

isSetOpenPermissions defaults to true — this is the only flag with a positive default. If you need private pipelines, pass false explicitly.

See also