Примеры конфигураций дела
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Готовые примеры объекта LayoutDto — структуры, которая описывает внешний вид записи таймлайна. Такой объект передают в поле layout методов crm.activity.configurable.add и crm.activity.configurable.update.
Каждый пример показывает готовую конфигурацию целиком и результат, который увидит пользователь в таймлайне:
- Запись с набором полей — пары название-значение и крайний срок
- Запись с разными типами действий — переходы по ссылкам, открытие приложения и событие по нажатию кнопки
- Запись на нескольких языках — тексты с переводами
Примеры отдельных контентных блоков собраны на странице их описания. Все конфигурации ниже составлены с учетом ограничений структуры.
Оба метода работают только в контексте приложения: через входящий вебхук такой вызов вернет ошибку ERROR_WRONG_CONTEXT. Права и условия вызова описаны на странице структуры.
Коды иконок и логотипов в примерах — из общих списков таймлайна. Получить полные списки можно методами crm.timeline.icon.list и crm.timeline.logo.list.
Запись с набором полей
Запись «Информационное сообщение» с четырьмя парами название-значение: крайний срок, клиент, менеджер и дополнительная информация. Каждая пара — блок withTitle, который выводит подпись и вложенный блок со значением. Вложенным может быть блок типа text, link или deadline.
Параметр inline управляет расположением: при true подпись и значение стоят в одной строке, при false значение переносится под подпись.
Блок deadline подставляет крайний срок самого дела — условия, при которых он не показывается и не редактируется, перечислены в описании блока.
Ключи в массиве blocks приложение придумывает само — они не связаны с типами блоков. В примере ключ deadline совпадает с именем типа, но это случайность, а не требование.
{
"icon": {
"code": "info"
},
"header": {
"title": "Информационное сообщение"
},
"body": {
"logo": {
"code": "document"
},
"blocks": {
"deadline": {
"type": "withTitle",
"properties": {
"title": "Крайний срок",
"inline": true,
"block": {
"type": "deadline"
}
}
},
"client": {
"type": "withTitle",
"properties": {
"title": "Клиент",
"inline": true,
"block": {
"type": "text",
"properties": {
"value": "ООО Рога и Копыта"
}
}
}
},
"manager": {
"type": "withTitle",
"properties": {
"title": "Менеджер",
"inline": true,
"block": {
"type": "link",
"properties": {
"text": "Сергей Востриков",
"bold": true,
"action": {
"type": "redirect",
"uri": "/company/personal/user/1/"
}
}
}
}
},
"description": {
"type": "withTitle",
"properties": {
"title": "Дополнительная информация в большом количестве",
"inline": false,
"block": {
"type": "text",
"properties": {
"multiline": true,
"value": "Подъехать не раньше обеда. Вход со двора, пароль от калитки 555. Подняться на 5 этаж, спросить Ивана Николаевича. Расчет наличными, сдача с 5000 руб."
}
}
}
}
}
}
}

Запись с разными типами действий
Конфигурация, в которой собраны все типы действий: переход по внутренней и внешней ссылке, открытие приложения из тега и отправка события приложению по нажатию кнопки.
Оба блока link используют действие redirect, но ведут себя по-разному. Относительная ссылка на сделку открывает ее в слайдере. Внешняя ссылка с доменом открывается в новой вкладке браузера.
Оба тега открывают приложение и различаются оформлением: warning дает желтый фон, primary — голубой. Наборы actionParams у них тоже разные.
Обе кнопки отправляют приложению событие onCrmTimelineItemAction с id = confirm и различаются только значением animationType, поэтому в таймлайне выглядят одинаково — разница видна при нажатии.
Ключ blockId в actionParams придуман приложением и ни на что в самой конфигурации не ссылается: приложение само решит, как его использовать.
{
"icon": {
"code": "document"
},
"header": {
"title": "Пример разных типов действий",
"tags": {
"tag1": {
"type": "warning",
"title": "открыть приложение",
"action": {
"type": "openRestApp",
"actionParams": {
"myId": 123
}
}
},
"tag2": {
"type": "primary",
"title": "открыть приложение",
"action": {
"type": "openRestApp",
"actionParams": {
"someImportant": "qwerty"
}
}
}
}
},
"body": {
"logo": {
"code": "document"
},
"blocks": {
"link1": {
"type": "link",
"properties": {
"text": "Открыть внутреннюю ссылку",
"action": {
"type": "redirect",
"uri": "/crm/deal/details/1/"
}
}
},
"link2": {
"type": "link",
"properties": {
"text": "Открыть внешнюю ссылку",
"action": {
"type": "redirect",
"uri": "https://bitrix24.ru"
}
}
}
}
},
"footer": {
"buttons": {
"button1": {
"title": "rest событие",
"action": {
"type": "restEvent",
"id": "confirm",
"animationType": "loader",
"actionParams": {
"blockId": "time"
}
},
"type": "primary"
},
"button2": {
"title": "rest событие",
"action": {
"type": "restEvent",
"id": "confirm",
"animationType": "disable",
"actionParams": {
"blockId": "time"
}
},
"type": "primary"
}
}
}
}

Запись на нескольких языках
Конфигурация для приложения, которым пользуются на разных языках. В заголовок записи, текст тега, содержимое блоков и подписи кнопок передают не строку, а объект с переводами: эти поля имеют тип textWithTranslation. Там же описаны правила для такого объекта и порядок, в котором Битрикс24 выбирает язык.
{
"icon": {
"code": "info"
},
"header": {
"title": {"ru": "Информация", "en": "Information"},
"tags": {
"tag": {
"type": "warning",
"title": {
"ru": "Внимание",
"en": "Warning"
}
}
}
},
"body": {
"logo": {
"code": "notification"
},
"blocks": {
"text": {
"type": "text",
"properties": {
"value": {"ru": "Этот текст будет по разному показан на разных языках", "en": "A text"}
}
}
}
},
"footer": {
"buttons": {
"button1": {
"title": {"ru": "Нажми меня", "en": "Push me"},
"type": "primary",
"action": {
"type": "redirect",
"uri": "https://bitrix24.ru"
}
}
}
}
}
Результат на русском:

Результат на английском:

Продолжите изучение
- Структура конфигурируемого дела
- Иконка
- Заголовок записи
- Основная контентная область конфигурируемого дела
- Контентный блок конфигурируемого дела
- Нижняя часть записи
- Выпадающее меню нижней части
- Реакция на нажатие
- Типы полей
- Набор дополнительных контентных блоков
- Добавить конфигурируемое дело crm.activity.configurable.add
- Обновить конфигурируемое дело crm.activity.configurable.update
- Конфигурируемые дела CRM: обзор методов и событий