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.

Bots & SmartApps

Chat Bots & SmartApps

General Info

Feature Description Functionality
Bot
Lite
CTS
eCTS
A bot is a special contact that represents a web application. It interacts with the user via chat. Chat bots have functionality familiar to many from other messengers.
eXpress
Lite
users can use internal service bots only.
  • sending text messages and files;
  • sending messages with buttons;
  • receiving system events (chat creation, user joining a chat, etc.);
  • enabling/disabling enhanced privacy mode;
  • assigning chat administrators;
  • creating a chat with a user (useful for corporate chat bots), etc.
  • data exchange with third-party corporate systems or applications.
SmartApp
CTS
eCTS
SmartApps are full-fledged web applications with UI for various business processes: email, calendar, HR services, electronic document management, portals, support, and others. They are embedded directly into eXpress or an
ETS
-app.
  • All corporate services are available anytime and on any device with eXpress in a single-window format;
  • SSO: sign in on one device, and you won't need to sign in on others — mobile and desktop devices are unified into a single corporate platform;
  • Integration with many systems: email clients, document management, 1C, CRM, employee training, and more.
  • Allows you to quickly solve work tasks on a smartphone or tablet — faster and cheaper than traditional mobile app development, saving time and increasing employee productivity.

Who Can Manage Bots and SmartApps?

CTS
eCTS
The corporate
CTS
/
eCTS
server administrator can manage bots and SmartApps or add internal bots to the global chat.

Who Has Access to Bots and SmartApps?

CTS
eCTS
SmartApps are available for the extended license owners (SmartApps plan). Bots require any corporate plan; an extended license is not required. For connection inquiries, please contact the sales department or your eXpress account manager.

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

Lite
CTS
eCTS

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.
To get help with internal bots, contact eXpress support.

Standard SmartApps

CTS
eCTS
If your organization purchased a license with SmartApp support, you have access to “Mail”, “Calendar”, and “Home Page” SmartApps and some others.
To get help with bundled SmartApps from the eXpress vendor, contact eXpress support team.

Ready-to-Delpoy Bots & SmartApps

Bots and SmartApps Collection

CTS
eCTS

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 — more details. A ready-made template for configuring Zabbix alerts is available.
TgMigrate Bot Bot for migrating chats from Telegram — more details. The distribution package with description and user instructions for the bot are available here.
Contacts Bot Contact directory — more details.
Forwarder Bot Automatic message forwarding based on rules — more details.
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 — more details
Calendar SmartApp Calendar integration — more details
Email SmartApp Email client — more details
Homescreen SmartApp Home page with information about your company — more details
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?

CTS
eCTS
If you are a corporate user (and your organization has an extended license with SmartApp support), contact your organization's support team to request installation. See the Bot & SmartApp Deployment Guide for Administrators.

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.

The role model rules do not apply inside the proxied resource: you cannot prohibit copying, screenshots, or file downloads within it — learn more.

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

CTS
eCTS

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.

If the bot is needed by participants from different servers, contact your organization's support team — they will clarify whether a separate deployment is required.

Why a Mention Disappeared in a Message Forwarded by Forwarder Bot

CTS
eCTS

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

CTS
eCTS

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

SmartApps operate on the basis of bots. Both bots and SmartApps are created using the BotX API.

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 — HTTP(s) Bot API v4 (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 — HTTP(s) BotX API (in Russian); ready-made requests for typical cases — BotX API usage examples (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 Development and debugging (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 — API overview (in Russian).

Where to Start Bot Development?

  1. Understand the platform: what corporate and regional servers are, what the bot knows about users from other servers, and what the checkmarks mean — What chatbots and SmartApps are (in Russian).
  2. Decide whether the bot needs its own user interface. If yes, it is a SmartApp — see the next subsection.
  3. Prepare the server: Linux, Docker, PostgreSQL, Redis, and network access to the corporate server in both directions — Chatbot deployment (in Russian), “Prerequisites” and “System requirements” sections.
  4. 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 keyConnecting a chatbot (in Russian). Who the bot is available to and what it sees in group chats is configured in the same place — Chatbot settings (in Russian).
  5. Implement the Bot API and obtain a BotX API token — Bot API (in Russian), Bots API (in Russian).
  6. 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 — API overview (in Russian), “Libraries” and “Bot examples” sections; source code — GitHub ExpressApp. The language can be any: both APIs are plain HTTP with JSON.
  7. Deploy the bot in Docker according to the Chatbot deployment (in Russian) instructions and update it according to Updating the application image (in Russian).
What Else the Bot Can Do
  • Buttons under a message and a keyboard, widgets made of several messages — Notifications API (in Russian), Creating widgets (in Russian).
  • A link or QR code that opens a chat with the bot and immediately sends it a command — Bot links with command sending (in Russian).
  • Creating chats, managing participants and administrators, pinning messages, threads — Chats API (in Russian).
  • Searching for users on its own server by email, login, or HUID — Users API (in Russian).
  • Receiving and sending files — Files API (in Russian).
  • BotX platform changelog by version — Changelog (in Russian).
A bot can be connected only on a corporate server, and it receives full information about a user only for employees of its own server. If an organization has several corporate servers, the bot is registered on each of them — “Chatbot accounts” section (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 SmartApp SDK (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 — Backend (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 — Types of SmartApps (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 — Backend (in Russian), “SmartApp frontend and backend interaction” section; frontend-side methods — Interacting with the bot (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 — Push notifications (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 — SmartApp API (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 — Cache-based SmartApp (in Russian).

Where to Start SmartApp Development?

  1. Choose the SmartApp type — Types of SmartApps (in Russian). If the goal is to show an existing system inside eXpress, a ready-made Proxy SmartApp from the collection is usually enough.
  2. 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 — Development and debugging (in Russian).
  3. 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 IDChatbot/SmartApp deployment (in Russian).
  4. Write the backend: a regular bot that additionally serves the frontend static files and processes SmartApp events — Backend (in Russian).
  5. Write the frontend: connect the SmartApp SDK, call ready at startup, and follow the bundle build requirements — SmartApp SDK (in Russian), Cache-based SmartApp (in Russian).
  6. 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 — Frontend (in Russian).
  7. 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 — Deployment and updating (in Russian).
What Else a SmartApp Can Do
  • Open by a link from a chat or email and receive parameters — Deep links (in Russian).
  • Appear in the contact card and in the “Send to” menu — Links in the contact card (in Russian), “Send to” menu (in Russian).
  • Upload files from the device with media quality selection and open files — Files (in Russian), Working with files (in Russian).
  • Store tokens and settings in secure storage on the device — Client-side data storage (in Russian).
  • Read NFC tags and work with Bluetooth and geolocation on mobile — Devices (in Russian).
  • Adapt to the app theme and language — Appearance (in Russian), Localization (in Russian).
  • Let the user into an external system without a password through SSO — Backend (in Russian), “Authentication in integrated services” section.
Reference examples: next-feature-smartapp and next-feature-smartapp-frontend call all SDK methods; smartapp-dashboard demonstrates offline operation, caching, and encryption. SmartApps require a license with their support — see the Overview.

BotX API

About bots in the knowledge base:

BotX API documentation:

SmartApps documentation:

GitHub repository with libraries and examples:

To get help with developing your own bots and SmartApps, contact your organization's support or your administrator.

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

  1. Identify which platform the issue occurs on: web/desktop or mobile app, and specify the app version.
  2. Check if the issue reproduces on another client platform.
  3. 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:

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:

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

  1. Try clearing the SmartApp cache via the ellipsis button on the screen or the SmartApp panel.
  2. If the issue persists, identify which platform it occurs on (web/desktop/mobile app) and specify the app version.
  3. Check if the issue reproduces on another platform.
  4. Document the reproduction steps, take screenshots, or record a video.
  5. Collect SmartApp client logs.
  6. Through the corporate server administrator, request:
  7. 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.

For Administrators: Collecting Proxy SmartApp Diagnostics Collect the .env file, server logs for the bot and SmartApp, client diagnostics, and HAR from the desktop.

“No Internet Connection” Error in SmartApp

Make sure that your device's network connection is working properly — learn more. If there are no connection issues, the problem may be on the corporate server with bots and SmartApps — contact your organization's support for assistance.