Skip to content

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_answered

    When set:

    • When receiving a new message from the user
    • When creating a new topic
    • When user contacts again after closing

    Command: /hold

    Use /hold to 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_answered

    When 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: /wait

    Use /wait to 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: closed

    When set:

    • When executing /close command
    • Automatically by timeout from AUTOCLOSE parameter (default 48 hours after the last operator response, can be disabled)

    Command: /close

    Close the topic when the customer's issue is completely resolved. When closing:

    • User will receive a new welcome from WELCOME parameter 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 (⬛️ → 🟪)

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:

  • /ban for bots not only adds the user_id to IGNORE_CHATS, but also blocks the user on the Telegram side — they won't be able to write to the bot anymore.
  • /ignore simply 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_ids list.
  • 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_id of 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 /ignore or /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 General topic.

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_ID or USERNAME is 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:

  • /new or /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 number
  • USERNAME — username (without @)
  • t.me/... or invite link

How it works:

  • 5-second delay between dialog creations.
  • All created dialogs get the closed status.
  • After the command finishes, a CSV report is sent to the General topic with the result for each recipient.
  • Only one bulk /new can 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.

Learn more about module

User broadcasts with /send command

Mass broadcasts to all or selected clients with scheduling capability.

Learn more about module

Tags and sales funnels with /mark command

Assign visible tags to topics for segmentation, organizing sales funnels and automations.

Learn more about module

Client base export with /export command

Export client data to CSV file for backup or analysis.

Learn more about module

Team analytics

Detailed operator performance statistics, customer request analysis and reports for various time periods.

Learn more about module

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

Learn more about external integrations