Basic Commands¶
After you've explored the native features of topic groups and tried communicating on behalf of connected bots or accounts, it's time to master Hotline's statuses and basic commands for effective dialog management.
/ Internal Comments¶
Any message starting with / symbol and a space after it is considered an internal comment and is not sent to the customer.
Examples of internal comments in topics
/ Talked to the client on the phone, they need a different model of our team's work
/ TODO: check with marketing department about the upcoming promotion and send to the client
/ @alex108 help me figure out this case, here #advanced
Comment capabilities:
- Discussing the response with the team right in the dialog context
- Using #hashtags for categorization
- @mentioning colleagues to draw attention
- Pinning comments with important additional information or tasks
Tip: Use comments actively
Internal comments with / are a great way to document dialogs, set tasks, and coordinate the team right in the context of the customer conversation.
Tip: Pin important comments
Pin comments with current tasks or important customer information at the top of the topic for quick access.
Inversion of sending logic
You can enable the REPLY_ONLY parameter — then all messages become comments, and only explicit replies to customer messages (reply) will be sent to the customer.
Topic Statuses¶
Each dialog topic has one of three statuses, displayed by a colored square in the topic name.
-
🟪 Requires attention/response¶
Status:
user_answeredWhen set:
- When receiving a new message from the user
- When creating a new topic
- When user contacts again after closing
Command:
/holdUse
/holdto explicitly keep the topic in active state if further attention is required (for example, additional information or task completion is expected). -
🟨 Awaiting response¶
Status:
support_answeredWhen set:
- Automatically on the first operator response in a purple topic (🟪 → 🟨)
- Automatically returns from yellow to purple when receiving a new message from the user (with 2-minute delay not to interfere with active dialog)
Command:
/waitUse
/waitto explicitly move the topic to waiting mode if the response has been given to the user and no further action is required. -
⬛️ Dialog closed¶
Status:
closedWhen set:
- When executing
/closecommand - Automatically by timeout from
AUTOCLOSEparameter (default 48 hours after the last operator response, can be disabled)
Command:
/closeClose the topic when the customer's issue is completely resolved. When closing:
- User will receive a new welcome from
WELCOMEparameter on next contact - Group members without topic management rights can no longer write in the closed topic
- Topic is automatically activated on new message from the user (⬛️ → 🟪)
- When executing
Monitor statuses
Proper use of statuses helps the team understand which dialogs require attention and which are awaiting customer response.
Topic name caching
Telegram applications sometimes have a caching feature — the status icon may not update immediately after sending a command. If synchronization is needed at the moment, send the /hold or /wait command again, or wait for the status to update.
Quick Reference /help¶
Get a quick reference of available commands and statuses at any time by sending the /help command in any topic of the working group.
Topic Information /info¶
Get basic information about the current topic with the /info command.
- Username and profile link (if available)
- User ID
- Username and chat link (if available)
- Phone number (if available)
- Language (if set)
- Frontend connection
- Chat name and public link (if available)
- Chat ID
- Frontend connection
Automatic information
You can enable the AUTO_INFO parameter — then information will be shown automatically when each new topic is created.
Hiding information
Through the HIDE_INFO parameter, you can hide customer information from regular operators and disable the /info command in the group.
Blocking /ban and /unban¶
Block users without tact with the /ban command and unblock if necessary through the /unban command.
The principle of the commands differs depending on the connection type.
Blocking adds the user_id of the corresponding private dialog to the IGNORE_CHATS parameter
Uses Telegram's native blocking function
Ignoring /ignore and /unignore¶
Ignore individual dialogs with the /ignore command so they don't clutter incoming messages, and bring them back with /unignore.
The /ignore command differs from /ban:
/banfor bots not only adds theuser_idtoIGNORE_CHATS, but also blocks the user on the Telegram side — they won't be able to write to the bot anymore./ignoresimply stops reacting to messages from the dialog without blocking the sender. The user can still write, but their messages won't create or activate a topic in the working group.
- Adds the current dialog to the runtime
ignore_chat_idslist. - Saves the list to the
@IGNORE_CHATS@parameter. - Closes the chat via TDLib
closeChat. - Works for any dialog type: private chats, groups, supergroups, channels, and topics.
- For topic dialogs, the
chat_idof the supergroup is added to the list, not the individual topic.
- Removes the current dialog from
ignore_chat_ids. - Updates the
@IGNORE_CHATS@parameter. - After execution, new messages from the dialog will again appear in the working group.
When to use /ignore
Use /ignore for chats that don't require an operator response: channel broadcasts, spam groups, service chats, or dialogs that are temporarily irrelevant.
Quick command reference
The /ignore and /unignore commands are listed in the /help output.
Hiding a Dialog /hide¶
Delete a backend dialog topic from the backend group while keeping messages on the frontend using the /hide command.
Normally, deleting a topic in the backend group deletes all messages on the frontend in the corresponding dialog. The /hide command lets you delete the topic on the backend without touching messages on the connected bot or account.
The command is useful for cleaning up the backend group from extra or stale topics when it's not necessary to block messages from the corresponding user or group chat. If in addition to deleting the topic you need to stop receiving messages from the corresponding dialog, you can run the /ignore command in the topic before calling /hide.
What happens when executed:
- The topic with the dialog is deleted only from the backend group.
- All messages in the corresponding frontend chat are preserved.
- If a message arrives in the dialog again (and the dialog wasn't blocked by
/ignoreor/ban), the topic is recreated and activated, and a welcome message is sent to the user or chat (if enabled on the connection). - A report about hiding the topic is sent to the
Generaltopic.
Operation is irreversible
Be careful with the /hide command: it's impossible to restore messages from a deleted topic because Hotline does not store message text on its servers.
Access rights
The command is only available to operators listed in the EXTENSIONS_ALLOWED parameter.
Creating Topics /new¶
Create new dialogs with users or join chats with the /new command.
The command capabilities differ depending on the connection type.
- Bots in Telegram cannot write to users first, the dialog with the bot must be initiated by the user. Learn more about user account capabilities used as frontend.
- The command can only be used to recreate a deleted topic if the user's
USER_IDorUSERNAMEis known.
Command format (the @ symbol in USERNAME is not needed):
/new USERNAME | *USER_ID | #PHONE
- Can write first to other users
- Can start bots, send them commands and receive response in topic
- Can join chats via public link or invite link
Creating a dialog with a user or bot (the @ symbol in USERNAME is not needed):
/new USERNAME | *USER_ID | #PHONE
/new BOT_USERNAME | *BOT_USER_ID
After creating a topic with a bot, you can send commands to it through the topic, starting them with double slashes //, for example:
//start
//help
Joining a group or channel:
/new PUBLIC_CHAT_LINK
/new PUBLIC_CHANNEL_LINK
/new https://t.me/PUBLIC_CHAT_LINK
/new https://t.me/PUBLIC_CHANNEL_LINK
/new https://t.me/+PRIVATE_INVITE_HASH
Creating chats (experimental feature)
If you specify a non-existent USERNAME, public link for a chat or bot, then a chat with the specified name will be created from the account.
Multiple connections
With multiple connections in one backend group, you can specify a particular instance from which to create the topic (by default the command is executed for each connection from the group).
Example command for creating a dialog by USERNAME with a specified connection (no curly braces needed):
/new USERNAME i{INSTANCE_ID}
Mass creation of topics for dialogs¶
Create up to 1000 topics in the backend group with a single command from a list or file — convenient for migrating an existing customer base, group chats, or contact lists from events.
Access rights
Mass creation of dialogs is only available to operators listed in EXTENSIONS_ALLOWED. The single /new <query> command remains available to all operators.
Commands in the General topic:
/newor/new help— show help on available modes./new file— create dialogs from an attached file (one value per line, no extra lines)./new list VALUE1,VALUE2,...— create dialogs from a comma-separated list in the message.
Supported values in file or list:
*USER_ID— Telegram user ID*-CHAT_ID— group or channel ID (with minus sign)#PHONE— phone numberUSERNAME— username (without@)t.me/...or invite link
How it works:
- 5-second delay between dialog creations.
- All created dialogs get the
closedstatus. - After the command finishes, a CSV report is sent to the
Generaltopic with the result for each recipient. - Only one bulk
/newcan run in a backend group at a time. - Maximum 1000 dialogs per command.
Quick base migration
If you already have a customer list in Excel or CSV, just copy the column with identifiers into a file, add the prefix for numeric values (* for user_id or chat_id; # for phone numbers) — and get ready-made topics for dialogs.
Topics are activated by any outgoing message; for incoming messages, a welcome message may also be sent depending on settings.
Additional Modules¶
In addition to the basic commands on the backend group side, Hotline has a number of modules that can be very useful for support operators.
Quick replies with /say command
Quick creation and sending of prepared messages in topics. Supports text, media, albums and message forwarding.
User broadcasts with /send command
Mass broadcasts to all or selected clients with scheduling capability.
Tags and sales funnels with /mark command
Assign visible tags to topics for segmentation, organizing sales funnels and automations.
Client base export with /export command
Export client data to CSV file for backup or analysis.
Team analytics
Detailed operator performance statistics, customer request analysis and reports for various time periods.
Custom Commands¶
In Hotline it is possible to add custom commands to extend functionality:
- Integration with external systems (CRM, ERP, task trackers)
- Automation of specific business processes
- Creating your own commands for your tasks
- Connecting external services via webhooks