---
url: /reference/telegram-bot-commands.md
description: Every command and button of the Hule Telegram bot.
---

# Telegram bot commands

This page lists every command the Hule Telegram bot answers, the rules its lists and refusals
follow, and the buttons it puts under a notification. To set the bot up, see
[Use the Telegram bot](/guides/use-the-telegram-bot).

The bot works with your account across all your [workspaces](/concepts/hule-model), once your
Telegram is connected to your Hule account.

::: warning Connect Telegram first
In Hule, open **User settings** → **Sign-in** and press **Connect** next to Telegram. The desktop
app shows **Connect from the web app** there: connect in a browser. Until then, `/start` replies
with these steps and every other command asks you to send `/start`; see
[Connect the bot](/guides/use-the-telegram-bot#connect-the-bot).
:::

## Commands

The commands appear in this order in the bot's menu.

| Command | What it does | Guide |
|---|---|---|
| `/start` | Lists the commands. If your account isn't connected yet, replies with how to connect it | [Use the Telegram bot](/guides/use-the-telegram-bot#connect-the-bot) |
| `/new` | Takes the first line of the text after the command as the title and asks which list to put it in. The task, assigned to you, is created when you press a list | [Add tasks from Telegram](/guides/add-tasks-from-telegram) |
| `/overdue` | Lists the unfinished tasks assigned to you that were due before today | [Due tasks](/guides/use-the-telegram-bot#due-tasks-today-overdue-week) |
| `/today` | Lists the unfinished tasks assigned to you that are due today | [Due tasks](/guides/use-the-telegram-bot#due-tasks-today-overdue-week) |
| `/week` | Lists the unfinished tasks assigned to you that are due from tomorrow through Sunday | [Due tasks](/guides/use-the-telegram-bot#due-tasks-today-overdue-week) |
| `/done` | Completes a task assigned to you, by its [Task ID](/reference/task-ids) | [Complete a task](/guides/use-the-telegram-bot#complete-a-task) |
| `/unlink` | Disconnects Telegram from your account | [Disconnect the bot](/guides/use-the-telegram-bot#disconnect-the-bot) |

## Due dates in /new

A day named in the text is removed from the title and becomes an all-day due date. English and
Russian words both work; the full list with examples is in
[Due days in the message](/guides/add-tasks-from-telegram#due-days-in-the-message).

| Form | Examples |
|---|---|
| Day word | `today`, `tomorrow`, `day after tomorrow` |
| Weekday | `friday`, `on fri`: always the next one, so `friday` sent on a Friday is a week later |
| Offset | `in 3 days`, `in 2 weeks` |
| Date | `12 March`, `Mar 12`, `12.03`, `12/03`, `12.03.2026`, day first |

Rules:

* **A day, never a time.** The bot reads the day only, and days count in the **Time zone** of
  the oldest workspace you own; with none, of the workspace you joined first
  ([Settings page](/guides/set-up-notifications#settings-page-one-per-workspace)).
* **The list comes second.** The bot replies with the title, the due date and a button per
  list; the task is created when you press one.

For example,

```text
/new Buy milk tomorrow
```

replies with **Buy milk** and tomorrow's date, and a button per list. Pressing **Errands** creates
the task there.

## Due-date lists: /overdue, /today, /week

| Rule | Detail | Guide |
|---|---|---|
| No overlap | A task shows in only one of the three lists. A task due at 09:00 today stays in `/today` all day and never shows in `/overdue`; `/week` starts tomorrow | [Due tasks](/guides/use-the-telegram-bot#due-tasks-today-overdue-week) |
| Time zone | "Today" and "Sunday" count in the **Time zone** of the oldest workspace you own; with none, of the workspace you joined first. Never the server's | [Settings page](/guides/set-up-notifications#settings-page-one-per-workspace) |
| Sunday | `/week` counts through Sunday, so on a Sunday it is empty | [Due tasks](/guides/use-the-telegram-bot#due-tasks-today-overdue-week) |
| Up to 20 tasks | A longer list shows the 20 with the earliest due date (for `/overdue`, the ones overdue longest) and says how many there are in total | [Due tasks](/guides/use-the-telegram-bot#due-tasks-today-overdue-week) |
| Task IDs | Each row shows the task's Task ID, which `/done` takes. A task in a list without Task IDs has none | [Task IDs](/reference/task-ids) |

A row of `/today` reads like this:

```text
1. Send the report — 14:00 BT-42
```

## Command limits and refusals

For example,

```text
/done BT-42
```

closes **BT-42** and replies with its title, the workspace and the list.

| Command | Rule | Guide |
|---|---|---|
| `/new` | The list buttons show only lists you can add tasks to: up to 24, grouped by workspace. With more, the bot shows the first 24 and says how many there are. With none, the bot says so and asks you to create a list in Hule | [Add tasks from Telegram](/guides/add-tasks-from-telegram) |
| `/new` | Each prompt creates one task, for the person who sent `/new`. A second press, or a press by someone else in a group chat, creates nothing | [Add tasks from Telegram](/guides/add-tasks-from-telegram) |
| `/new` | The list buttons stop working once Telegram no longer keeps the prompt, or if you delete your `/new` message. Send `/new` again | [Add tasks from Telegram](/guides/add-tasks-from-telegram) |
| `/new` | A title longer than 500 characters is cut to 500 | [Add tasks from Telegram](/guides/add-tasks-from-telegram) |
| `/done` | Closes only tasks assigned to you. The reply names the workspace and list of the task it closed | [Complete a task](/guides/use-the-telegram-bot#complete-a-task) |
| `/done` | The Task ID is read in any case: `/done bt-42` closes `BT-42` | [Task IDs](/reference/task-ids) |
| `/done` | If the same Task ID exists in two of your workspaces, `/done` closes the one updated most recently. If that one isn't assigned to you, the bot refuses: close the other in Hule. Check the workspace and list in the reply | [Complete a task](/guides/use-the-telegram-bot#complete-a-task) |
| `/done` | A task that has no Task ID can't be closed with `/done`: use **✅ Done** on a notification, or Hule | [Task IDs](/reference/task-ids) |
| `/done` | A task in a list with no status in the [**Done** stage](/concepts/statuses) can't be closed from the bot | [Set up a list](/guides/set-up-a-list#change-statuses) |
| `/done` | A task that is already done is left as it is, and the bot says so. `/done` with no Task ID replies with an example | [Complete a task](/guides/use-the-telegram-bot#complete-a-task) |
| `/unlink` | If Telegram is your only way to sign in, the bot refuses. Add an email and password first: **Set up email sign-in** on the **Sign-in** page | [Manage your account](/guides/manage-your-account#sign-in-methods-add-or-remove) |

## Notification buttons

[Notifications](/guides/set-up-notifications#events-what-notifies-you) the bot sends about a
task carry buttons under the message.

| Button | What it does | Shown on |
|---|---|---|
| **Open** | Gives you a link that opens the task in Hule | every task notification |
| **✅ Done** | Completes the task if it is assigned to you. The button changes to **✅ Completed** | every task notification |
| **💤 +1h** | Snoozes the notification for one hour: it leaves your [**Inbox**](/guides/set-up-notifications#inbox-where-notifications-wait) in Hule and comes back there an hour later. The bot doesn't send it again. The button changes to **💤 Snoozed** | **Due soon** and **Overdue** notifications |

All three are covered in [Notification buttons](/guides/use-the-telegram-bot#notification-buttons).
