Help center support eXpress
We have collected answers to all the most popular questions to make it easy and convenient for you to use eXpress. If you do not find the answer to your question, please contact our support team.
- Welcome to eXpress
- eXpress Support
- Introducing eXpress & Glossary
- Installation & Updates & Requirements
- Registering & Logging In
- User Profile
- Chats, Channels & Threads
- Contacts
- Tags & Tabs
- Files
- Calls & Conferences
- Push Notifications & Counters
- Fixing Background Work on Mobile
- Bots & SmartApps
- Diagnostics & Logs
- App Cache
- Аdmin Panel
- Jira Support Portal
- Technical Support for Admins
- Database Modifications Policy
- eXpress Documentation
- Privacy Policy
Bots & SmartApps
- Chat Bots & SmartApps
- Ready-to-Delpoy Bots & SmartApps
- Custom Bots & Smart Apps | BotX API
- Bots & SmartApps Troubleshooting
Chat Bots & SmartApps
General Info 
| Feature | Description | Functionality |
|---|---|---|
| Bot |
Lite
CTS
eCTS
eXpress
Lite users can use internal service bots only. |
|
| SmartApp |
CTS
eCTS
ETS -app. |
|
Who Can Manage Bots and SmartApps?
Who Has Access to Bots and SmartApps?
How Are SmartApps Protected on the User Side?
All SmartApps operate within the encrypted container of the client app, ensuring corporate data protection from third parties.
Can't Find SmartApps in the Aurora App. Why?
⚠️ The Aurora app temporarily does not support SmartApps.
Internal Bots 
eXpress has bundled internal bots, which are necessary for particular app features to work. Some of them include:
| Internal Bots | Description |
|---|---|
| Conference Notifier bot | Notifies users about upcoming conferences. It can also be used to set up regular reminders for indefinite conferences. |
| Notifications bot | A bot for sending messages to the global chat. |
| Poll bot | A bot for sending results of polls. |
| Recordings bot | A bot for notifications about ready call recordings. |
Standard SmartApps 
Ready-to-Delpoy Bots & SmartApps
Bots and SmartApps Collection 
Ready-to-deploy bots and SmartApps are available:
Each bot and SmartApp in the catalog includes an .env file with variables, containing a detailed description of all configuration parameters (in Russian).
Description of some bots and SmartApps:
| Bot/SmartApp | Description and User Instructions (in Russian) |
|---|---|
| Webhook Bot | Subscriptions to third-party service notifications — . A ready-made is available. |
| TgMigrate Bot | Bot for migrating chats from Telegram — . The distribution package with description and user instructions for the bot are available here. |
| Contacts Bot | Contact directory — . |
| Forwarder Bot | Automatic message forwarding based on rules — . |
| Sticker Bot | A bot for creating and editing sticker packs created through it. It also includes a feature to import static (non-animated) stickers from Telegram.
⚠️ For sticker import from Telegram to work, the bot server hosting Sticker Bot must have access to Telegram servers.
|
| Jira Monitoring Bot | Integration of discussions in eXpress with comments in Jira — |
| Calendar SmartApp | Calendar integration — |
| Email SmartApp | Email client — |
| Homescreen SmartApp | Home page with information about your company — |
| Proxy SmartApp | It displays an organization's internal web resource directly in eXpress: a corporate portal, dashboard, ticket system, or wiki. The resource remains inside the secure network and is not published to the internet. Inside, you work with the site just as you would in a browser. |
For more information about other bots and SmartApps, as well as administrator instructions (in Russian):
Email SmartApp FAQ 
Can I Connect Multiple Mailboxes?
Yes. Inside the Email SmartApp, click your avatar and add an account — you can switch between mailboxes without leaving the app.Why Do Notifications Only Come for Emails in the Inbox?
The app tracks new emails in the Inbox folder. If you have rules that sort emails into other folders, you won't receive notifications about them — this is expected behavior.How Do I Turn Off New Email Notifications?
In the Email app itself, click the three-dot button and turn off notifications. The setting applies to all your devices.Why Can't I Find the Recipient I Need?
Search works across your organization's corporate directory and the contacts accumulated in the mailbox. If the person is not in either, enter their full address (and press Enter) — the address will be filled in.Calendar SmartApp FAQ 
Do Meeting Reminders Come from Calendar?
Notifications about upcoming events in the Calendar app come from the Calendar bot.Can I Sync Calendar with My Phone Calendar?
No, these are different apps. But if the same account (for example, Gmail) is connected to both the phone calendar and the SmartApp, you will see the same events.How Do I Book a Meeting Room?
Meeting rooms are available if the Calendar is connected to Exchange — rooms are created by the administrator on the calendar server. For other services, the meeting location is entered manually.General FAQ About Bots and SmartApps 
How to Install a Bot or SmartApp?
Where Are Credentials of Email & Calendar SmartApps Stored? 
Passwords for mail and calendar accounts are stored on the corporate server side in encrypted form. Therefore, it is enough to sign in to SmartApps on just one of your devices.
What Are the Limitations of Proxy SmartApp? 
It works in the desktop app and mobile apps. In the web version of eXpress, proxied resources do not open due to a browser limitation.
The proxied resource must use the HTTPS protocol and allow embedding. Network folders (SMB, DFS, SharePoint libraries) cannot be published through Proxy SmartApp.
Why Don't I See the SmartApp I Need in the Catalog?
The set of available SmartApps is configured by your organization's administrator, including individually for employee groups. If the app disappeared after an update, clear the Catalog SmartApp cache using the three-dot button or sign in again.Bot Does Not Return a File or Replies With an Error in a Chat With Participants From Different Servers 
The bot is deployed on a specific corporate server and works with its users. The files it generates — reports and exports — are created in the storage of the same server and are not transferred to neighboring ones: only a user of that server can download them.
For the same reason, in a chat with participants from other corporate servers, the bot may reply with an error. It depends on the bot: some need only one instance for everyone, while others need their own instance on each server.
Why a Mention Disappeared in a Message Forwarded by Forwarder Bot 
Any bot processes only mentions made with @@ — these it places in a separate list in the forwarded message. A single @ is treated by a bot as plain text, and it will not appear in the list of mentioned users.
Why Does the SmartApp Open on Half the Screen?
The width of the SmartApp window in the web and desktop versions can be changed using the button in the upper-right corner. The available display options are set by the administrator.Can I Study the Code of Finished Bots and SmartApps?
We do not provide the source code.Custom Bots & Smart Apps | BotX API
The eXpress platform supports the creation of custom bots and SmartApps. You can create a bot or SmartApp on your own using the BotX API, or order one from the eXpress vendor.
Creating Bots & SmartApps 
Can Regular Users Add Bots and SmartApps to the Server?
A user without administrator console access cannot add a bot to the server independently — to deploy a bot, they must contact their organization's support team.Who Can Create Bots and SmartApps?
Bots and SmartApps can be created by:
- The eXpress development team. Requests for deployment and customization of such bots and SmartApps are submitted through the eXpress account manager or the sales department.
- The customer independently using the BotX API. API documentation is available via the links below.
- The customer's partners. Requests for customization of such bots and SmartApps are submitted through the partner organization's support team.
Is There a Bot Builder or an Analogue of Telegram's Bot Father?
No, bots must be created and connected to the corporate server on your own or through a custom development order.How a Chatbot Works and Where to Start Development 
A chatbot in eXpress is a separate user type backed by a web application on your organization's server. To an employee, the bot looks like a contact and a chat with it; to the platform, it is an HTTP service to which the corporate server forwards messages and from which it receives replies. There are three participants in this scheme.
| Participant | What It Does |
|---|---|
| eXpress app | Shows the bot as a contact. Everything the user writes to the bot or taps in its messages goes to the corporate server as a regular message. |
| BotX on the corporate server CTS |
The intermediary between the messenger and bots. Delivers messages to the bot via HTTP requests and receives requests from the bot to send messages, create chats, and search for users. |
| Bot backend | A web application on the organization's server, usually a Docker container. Receives commands from BotX, communicates with internal systems (Jira, 1C, email), and responds through BotX. Its address is specified by the administrator when creating the bot in the admin console. |
This gives two APIs that are important not to confuse:
- Bot API is implemented by the bot itself: the addresses to which BotX sends user commands and system events (
POST /command), message delivery results (POST /notification/callback), and a request for the list of commands for the chat menu (GET /status). The Bot API version is set in the bot card in the Protocol version field. Description — (in Russian). - BotX API is provided by the platform: the methods the bot calls to act on its own behalf — send a message with buttons, create a chat, find a user, download a file. Description — (in Russian); ready-made requests for typical cases — (in Russian).
What Happens When a User Writes to the Bot?
The message goes to the corporate server, and BotX delivers it to the bot with a POST /command request. The bot must respond within 5 seconds that it has accepted the command, otherwise the user sees “Failed to get a response from the bot.” After that, the bot works as long as needed and responds through the BotX API; the delivery result arrives to the bot as a separate request. The checkmarks on the user's message show these stages: one gray checkmark — sent, two gray checkmarks — BotX received it, two blue checkmarks — the bot confirmed receipt. Two blue checkmarks mean that the bot responded to the request, not that it completed the task. For details, see (in Russian).
Both directions are protected by the bot's secret key, which is created together with the bot in the admin console: BotX signs every request to the bot with it, and the bot uses it to obtain a token for the BotX API. Traffic between BotX and the bot goes without TLS inside the organization's network by default; encryption is enabled by uploading a certificate to the server and configuring it in the bot card — (in Russian).
Where to Start Bot Development?
- Understand the platform: what corporate and regional servers are, what the bot knows about users from other servers, and what the checkmarks mean — (in Russian).
- Decide whether the bot needs its own user interface. If yes, it is a SmartApp — see the next subsection.
- Prepare the server: Linux, Docker, PostgreSQL, Redis, and network access to the corporate server in both directions — (in Russian), “Prerequisites” and “System requirements” sections.
- Register the bot in the admin console: Bots > Create bot, specify the name,
APP_ID, backend URL, and protocol version, then save the ID and Secret key — (in Russian). Who the bot is available to and what it sees in group chats is configured in the same place — (in Russian). - Implement the Bot API and obtain a BotX API token — (in Russian), (in Russian).
- Do not write everything from scratch: for Python there is the pybotx library, the async-box bot template, and the next-feature-bot and todo-bot examples — (in Russian), “Libraries” and “Bot examples” sections; source code — . The language can be any: both APIs are plain HTTP with JSON.
- Deploy the bot in Docker according to the (in Russian) instructions and update it according to (in Russian).
What Else the Bot Can Do
- Buttons under a message and a keyboard, widgets made of several messages — (in Russian), (in Russian).
- A link or QR code that opens a chat with the bot and immediately sends it a command — (in Russian).
- Creating chats, managing participants and administrators, pinning messages, threads — (in Russian).
- Searching for users on its own server by email, login, or HUID — (in Russian).
- Receiving and sending files — (in Russian).
- BotX platform changelog by version — (in Russian).
How a SmartApp Works and Where to Start Development 
A SmartApp is a chatbot that has its own interface: a single-page web application that opens inside eXpress. Everything said about bots in the previous subsection also applies to a SmartApp: it has the same backend bot, the same BotX, and the same two APIs. What is added is a frontend and a way to deliver it to the user.
| SmartApp Part | What It Is |
|---|---|
| Frontend | A web application on any stack (React, Vue, Angular) that the eXpress app shows in an embedded window: on Web and Desktop this is an iframe, on mobile — a WebView. The frontend communicates with the messenger through the (in Russian) library: contacts, chats, files, secure storage, NFC, and Bluetooth. |
| Backend | A regular chatbot whose SmartApp block is filled in in the admin console. Stores the frontend static files, processes its requests, and communicates with the organization's internal systems — (in Russian). |
| BotX on the corporate server CTS |
The intermediary: the frontend never calls its backend directly. A request from the interface goes through the eXpress app to BotX, from there to the bot, and the response returns along the same path. |
What Types of SmartApps Are There?
The developer chooses one of three types based on where the frontend comes from, and this determines the app's behavior without a network — (in Russian).
- Cache-based. The frontend is built into an archive (bundle) that the eXpress app downloads from the bot and stores on the device in encrypted form. It opens instantly and works offline. The most common choice for apps written from scratch.
- Non-cache-based. The frontend is requested from the bot every time, like a regular website. It does not work offline, but it can proxy files from the corporate network.
- Proxy-based. An existing internal web resource of the organization opens in the embedded window, with access through the corporate server. This is how ready-made systems are published without rewriting them. For limitations, see the What are the limitations of a Proxy SmartApp? subsection.
How Does the Frontend Communicate with the Bot?
The frontend calls an SDK method, the eXpress app passes the event to BotX, BotX delivers it to the bot as a system event in POST /command, the bot responds through the BotX API, and the response arrives in the frontend. This exchange is called SmartApp RPC — (in Russian), “SmartApp frontend and backend interaction” section; frontend-side methods — (in Russian). The bot can also reach out to the user on its own: send a push notification or update the counter on the app icon — (in Russian).
How the eXpress app displays the SmartApp — window size, docking to the panel, preloading, full-screen mode on mobile — is communicated by the bot through a manifest that it sends to BotX — (in Russian), “Sending the SmartApp manifest” section. A cache-based SmartApp also has a second manifest, inside the bundle: it sets the build version and the update method — (in Russian).
Where to Start SmartApp Development?
- Choose the SmartApp type — (in Russian). If the goal is to show an existing system inside eXpress, a ready-made Proxy SmartApp from the collection is usually enough.
- Design according to the plan from the documentation: the method for authenticating the bot in the external system, the specification of frontend ↔ backend requests, backend and frontend projects, build and publication — (in Russian).
- Prepare the server and register the bot in the admin console in the same way as for a regular bot, additionally filling in the SmartApp block with the
App ID— (in Russian). - Write the backend: a regular bot that additionally serves the frontend static files and processes SmartApp events — (in Russian).
- Write the frontend: connect the SmartApp SDK, call
readyat startup, and follow the bundle build requirements — (in Russian), (in Russian). - Debug: the eXpress web app has a SmartApps debugging mode that opens a local frontend build instead of the published one; on iOS and Android, remote debugging is available through Safari and Chrome — (in Russian).
- Send the manifest to BotX and deploy the bot; for a proxy-based SmartApp, you additionally need a subdomain of the corporate server and a certificate — (in Russian).
What Else a SmartApp Can Do
- Open by a link from a chat or email and receive parameters — (in Russian).
- Appear in the contact card and in the “Send to” menu — (in Russian), (in Russian).
- Upload files from the device with media quality selection and open files — (in Russian), (in Russian).
- Store tokens and settings in secure storage on the device — (in Russian).
- Read NFC tags and work with Bluetooth and geolocation on mobile — (in Russian).
- Adapt to the app theme and language — (in Russian), (in Russian).
- Let the user into an external system without a password through SSO — (in Russian), “Authentication in integrated services” section.
BotX API 
About bots in the knowledge base:
- (in Russian)
- (in Russian)
BotX API documentation:
- (in Russian)
- (in Russian)
- (in Russian) — the protocol for sending data from BotX to the bot (BotX → Bot). The protocol version is specified on the bot editing page in the admin panel, in the Protocol version field.
- (in Russian) — the BotX service API. Allows the bot to interact with eXpress internal services.
SmartApps documentation:
- (in Russian)
GitHub repository with libraries and examples:
- (in Russian)
Bots & SmartApps Troubleshooting
Use the Latest Android System WebView 
For SmartApps to work correctly in the Android mobile app, the Android System WebView system component must be up to date. Clear the app cache after updating Android System WebView.
Chat Bot Doesn't Work or Works Incorrectly — General Recommendations 
- Identify which platform the issue occurs on: web/desktop or mobile app, and specify the app version.
- Check if the issue reproduces on another client platform.
- Document the reproduction steps, take screenshots, or record a video.
Does the Bot Issue Occur on Multiple Client Platforms?
If the issue occurs on two or more platforms (e.g., iOS and Android), possible causes:
- the bot uses outdated methods and requires updating,
- the bot contains an error in the code.
Contact your organization's support for diagnostics and data collection or directly contact eXpress support, providing the gathered information.
For Administrators: Collecting Data for Chat Bot Diagnostics
CTS
eCTS
For diagnostics, you can obtain from the corporate server:
- container logs with the bot,
- botx container logs,
- messaging container logs.
Provide to eXpress support:
- a description of the issue, screenshots, video,
- .env file with variable values,
- the collected logs.
Does the Bot Issue Occur on a Single Client Platform?
If the issue occurs only on one platform (web/desktop/iOS/Android), provide to eXpress support:
- a description of the issue,
- client app logs.
If necessary, the issue will be logged as a bug and fixed in the future.
Bot Authorization Error “401 Unauthorized” 
Open the bot properties in the corporate server administrator panel, enable the Enable legaсy token checkbox, and save the changes.
SmartApp Doesn't Work or Works Incorrectly — General Recommendations 
- Try clearing the SmartApp cache via the ellipsis button on the screen or the SmartApp panel.
- If the issue persists, identify which platform it occurs on (web/desktop/mobile app) and specify the app version.
- Check if the issue reproduces on another platform.
- Document the reproduction steps, take screenshots, or record a video.
- Collect SmartApp client logs.
- Through the corporate server administrator, request:
- Submit all data to eXpress support for further analysis.
If necessary, the issue will be logged as a bug and fixed in the future.
Proxy SmartApp Doesn't Open the Resource or Shows a Blank Screen 
Note that proxying does not work in the web version — open the app on a computer or phone.
Clear the Proxy SmartApp cache: click the three dots in the upper-right corner of the app and select cache clearing, then open it again.
Compare the behavior in different networks. Test separately from the corporate network and from a mobile network — this will immediately give the administrator a clue where to look for the cause.
If nothing helped, contact your organization's support or your administrator: Proxy SmartApp is configured on the corporate server side.