Bottom Dropdown Menu
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
MenuItemDto represents an item in the dropdown menu at the bottom of the timeline entry. Click the three-dot button to open the menu. The application adds its own actions to it — for example, to confirm or decline a request.
Items are passed in the items field of the FooterMenuDto object: the key is an item identifier made of Latin letters, digits, hyphens, and underscores, and the value is a MenuItemDto object. The application can add no more than 10 items. In the activity structure, the path to an item is layout.footer.menu.items.<key>, and the structure is passed in the layout parameter of the methods crm.activity.configurable.add and crm.activity.configurable.update. The call conditions and validation error codes are on the method pages.
After the application items, Bitrix24 adds the system items "Pin", "Postpone", and "Delete" to the same menu. The showPinItem, showPostponeItem, and showDeleteItem flags of the FooterMenuDto object allow them to be shown, but whether Bitrix24 actually shows an item also depends on the activity state — the conditions are described on the FooterMenuDto page. Bitrix24 always adds the "About the application" item, and it cannot be disabled.
Parameters of the MenuItemDto Object
Required parameters are marked with *
|
Field |
Description |
|
title* |
Menu item text |
|
action* |
Action to be performed when the item is clicked |
|
subtitle |
Second line of the item, below the text |
|
scope |
Scope, for example |
|
hideIfReadonly |
If |
|
design |
Item style: |
|
isSelected |
Toggle item: with |
|
isLocked |
If |
|
badgeText |
Badge next to the item text, for example "New" |
|
sectionCode |
Code of the menu section the item belongs to. If sections are declared, the field is required for every item and must match the code of one of them |
BadgeTextDtoObject
A badge displayed next to a menu item.
Parameters of the BadgeTextDto Object
Required parameters are marked with *
|
Field |
Description |
|
title* |
Badge text |
|
color |
Badge color in CSS format, for example |
Menu Sections
Items can be grouped into sections with headings. Sections are declared in the sections field of the FooterMenuDto object as an array of MenuSectionDto objects, no more than 10 sections. When sections are declared, every item in items must have a sectionCode with the code of one of them; otherwise, Bitrix24 rejects the structure. Bitrix24 places the system items in its own system section and the "About the application" item in the about section; the codes system, about, base, and extensions cannot be used for your own sections.
Parameters of the MenuSectionDto Object
Required parameters are marked with *
|
Field |
Description |
|
code* |
Section code. It is specified in the |
|
title |
Section heading in the menu |
|
design |
Section style: |
Example Object
A menu item with a subtitle, accent style, and a badge. The item is hidden from users without permission to edit the item.
{
"title": "Confirm Request",
"subtitle": "Send the contract to the client",
"action": {
"type": "restEvent",
"id": "confirmRequest",
"animationType": "loader"
},
"design": "accent-1",
"badgeText": {
"title": "New",
"color": "#2fc6f6"
},
"hideIfReadonly": true
}
Example Menu with Sections
The value of the menu field of the FooterDto object contains two application items in the "Request" section. The "Postpone" and "Delete" system items are disabled.
{
"showPostponeItem": false,
"showDeleteItem": false,
"sections": [
{
"code": "request",
"title": "Request"
}
],
"items": {
"confirm": {
"title": "Confirm",
"sectionCode": "request",
"action": {
"type": "restEvent",
"id": "confirmRequest",
"animationType": "loader"
}
},
"decline": {
"title": "Decline",
"sectionCode": "request",
"design": "alert",
"action": {
"type": "restEvent",
"id": "declineRequest",
"animationType": "loader"
}
}
}
}