Configurable Activity Content Block
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
Content blocks ContentBlockDto are the foundation of the content area of a timeline entry. The application builds the entry content from these blocks: text, links, name-value pairs, and a deadline.
The blocks are passed as an associative array in the blocks field: the key is the block identifier that the application sets itself, the value is the block object. The blocks array belongs to two objects:
BodyDto— the content area of a configurable activity; the structure is passed in thelayoutparameter of the crm.activity.configurable.add and crm.activity.configurable.update methodsRestAppLayoutDto— a set of additional blocks with which an application enriches someone else's timeline entry using the crm.activity.layout.blocks.set and crm.timeline.layout.blocks.set methods
Block types and their properties are the same in both cases. The blocks are displayed in the order they are listed in blocks.
General Block Structure
Each block has two fields: type — the block type, properties — its properties. Each type has its own set of properties, described below.
{
"type": "text",
"properties": {
"value": "The customer confirmed the meeting"
}
}
How to Choose a Block Type
|
Type |
What It Outputs |
When to Use |
|
A line of text with formatting |
A short value, a label, a comment |
|
|
Long text collapsed into a preview |
An email, a call transcript, a description |
|
|
A link with an action on click |
Navigation to a CRM object, an external service, or an app |
|
|
A name-value pair |
An entry with a set of fields |
|
|
Several blocks in one line |
A name and a phone number side by side, text mixed with links |
|
|
The current activity deadline with the option to change it |
An activity with a deadline the user should see and edit |
Restrictions and Errors
Only text, link, and deadline blocks can be nested inside withTitle and lineOfBlocks.
The remaining restrictions depend on where the blocks end up, and so do the calling permissions:
- as part of a configurable activity — the Structure Restrictions section
- as part of a set of additional blocks — the Restrictions section
Content Block Types
Text
The type = text block outputs a formatted line of text in full, without collapsing. This is the basic block you start building an entry with.
Parameters
Required parameters are marked with *
|
Field |
Description |
|
value* |
Text the user sees |
|
multiline |
Line break handling. With |
|
title |
Tooltip text shown on hovering over the block |
|
bold |
Bold text. Default is |
|
size |
Text size. Can take values |
|
color |
Text color. Can take values |
|
scope |
Visibility scope, for example |
Example
Two lines of text, in bold, with a tooltip on hover:
{
"type": "text",
"properties": {
"value": "The customer confirmed the meeting.\nThe meeting is at the office on Tiergartenstraße.",
"multiline": true,
"bold": true,
"size": "md",
"color": "base_90",
"title": "Manager's comment"
}
}
This is how the text block looks in a timeline entry:

Long Multiline Text
The type = largeText block outputs long multiline text and collapses it into a preview.
Parameters
Required parameters are marked with *
|
Field |
Description |
|
value* |
Text the user sees |
|
scope |
Visibility scope, for example |
Example
{
"type": "largeText",
"properties": {
"value": "Hello! My name is Klaus, I am calling about the request from the website. I checked the stock: both items are available, shipping is possible on Thursday. The customer asks for an invoice to a legal entity and delivery to the door. We agreed to call back once the budget is approved."
}
}
The user can expand the text with the "Show more" button:

Link
The type = link block outputs a link.
Parameters
Required parameters are marked with *
|
Field |
Description |
|
text* |
Link text. HTML tags are not supported |
|
action* |
Action upon clicking the link |
|
bold |
Bold text. Default is |
|
scope |
Visibility scope, for example |
Example
{
"type": "link",
"properties": {
"text": "Open deal",
"action": {
"type": "redirect",
"uri": "/crm/deal/details/123/"
},
"bold": true
}
}

Block with Heading
The type = withTitle block outputs a name-value pair. The value can be another content block.
Parameters
Required parameters are marked with *
|
Field |
Description |
|
title* |
Title text |
|
block* |
The content block displayed as the value. Blocks of types |
|
inline |
Display title and value in one line. Default is |
|
scope |
Visibility scope, for example |
Examples
{
"type": "withTitle",
"properties": {
"title": "Heading",
"block": {
"type": "text",
"properties": {
"value": "Some value"
}
}
}
}

{
"type": "withTitle",
"properties": {
"title": "Heading 2",
"block": {
"type": "link",
"properties": {
"text": "Open deal",
"action": {
"type": "redirect",
"uri": "/crm/deal/details/123/"
}
}
},
"inline": true
}
}

Multiple Content Blocks in One Line
The type = lineOfBlocks block outputs several content blocks in a single line. This is how text with different formatting is combined with links in one line.
Parameters
Required parameters are marked with *
|
Field |
Description |
|
blocks* |
Nested blocks: the key is the block identifier, the value is a |
|
scope |
Visibility scope, for example |
Examples
{
"type": "lineOfBlocks",
"properties": {
"blocks": {
"text": {
"type": "text",
"properties": {
"value": "Some text"
}
},
"link": {
"type": "link",
"properties": {
"text": "link",
"action": {
"type": "redirect",
"uri": "/crm/deal/details/123/"
}
}
},
"boldText": {
"type": "text",
"properties": {
"value": "bold text",
"bold": true
}
}
}
}
}

Deadline Selection
The type = deadline block shows the activity deadline and allows changing it right in the entry. The block is not displayed in an incoming activity or in an activity without a deadline.
Parameters
Required parameters are marked with *
|
Field |
Description |
|
readonly |
Ban on changing the deadline. Default is |
|
scope |
Visibility scope, for example |
Examples
{
"type": "deadline",
"properties": {
"readonly": false
}
}

Continue Learning
- Additional Content Blocks for an Activity: Overview of Methods
- Additional Content Blocks for the Timeline: Overview of Methods
- Structure of Configurable Activity
- Icon
- Record Header
- Main Content Area of Configurable Activity
- Bottom Part of a Configurable Activity Record
- Bottom Dropdown Menu
- Click Reaction
- Field Types
- Set of Additional Content Blocks
- Activity Configuration Examples