> For the complete documentation index, see [llms.txt](https://help.bots.business/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.bots.business/start-here/first-bot.md).

# Create your first Telegram bot

Connect a Telegram bot to Bots.Business and make it reply to /start from the current mobile app, without writing code.

By the end of this guide, your bot will reply to `/start` in Telegram. You need a Telegram account and a signed-in Bots.Business account. If this is your first visit, [create an account and sign in](/start-here/sign-in.md) first.

{% stepper %}
{% step %}

### Create the bot in Telegram <a href="#id-1-create-the-bot-in-telegram" id="id-1-create-the-bot-in-telegram"></a>

1. Open the official [@BotFather](https://t.me/BotFather) in Telegram and tap **Start** if shown. Send the following messages to BotFather, not to your new bot.
2. Send `/newbot` to begin creating a bot.
3. When asked for a **name**, send a display name, such as `My first bot`. This is the name people see in Telegram.
4. When asked for a **username**, choose a unique one ending in `bot`, such as `alex_practice_2026_bot`. Use 5–32 characters: Latin letters, digits or underscores, with no spaces. If BotFather says it is taken, choose another and send it again.
5. After BotFather confirms creation, copy the complete **bot token** from its reply. The token has digits before a colon (`:`) and a long string after it. Copy only that value, without surrounding text or spaces. The bot's `@username` and `t.me/...` link are not its token.

<figure><img src="https://3310729168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVh0yg9olT-QWqi3AYt%2Fuploads%2Fgit-blob-b011c3e5984d9aeec04b9206dad0f5286894726b%2Ftelegram-botfather-create-en.png?alt=media" alt="English BotFather chat showing /newbot, a display name, a username ending in bot, and the token location with the token hidden" width="430"><figcaption><p>Creating a bot in Telegram (English). The token is hidden. Choose your own name and username. Screenshot: <a href="https://jozefcipa.com/blog/watching-github-repo-stars-via-telegram/">Jozef Cipa</a>.</p></figcaption></figure>

**Check:** you now have a bot username and its token. Keep the token ready for the **Token** field in the next step. The new bot will start replying after you connect it and add a command below.

These steps follow Telegram's [bot creation guide](https://core.telegram.org/bots/features#creating-a-new-bot).

{% hint style="info" %} <img src="https://3310729168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVh0yg9olT-QWqi3AYt%2Fuploads%2Fgit-blob-aace64ef628aade26ac74de7c77ca7270ee538cd%2Fmel-02-help-menu-mobile.webp?alt=media" alt="" data-size="original">

**Mel’s tip**

The token belongs to the bot. It is different from your Bots.Business password and account API key. Paste it only into the bot configuration; someone who has it can control the Telegram bot.
{% endhint %}

<details>

<summary>BotFather says the username is already taken</summary>

Choose another username and send it in the same BotFather conversation. For example, add a distinctive prefix or digits before the final `bot`. You do not need to start `/newbot` again.

<figure><img src="https://3310729168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVh0yg9olT-QWqi3AYt%2Fuploads%2Fgit-blob-895917fd1c089d14c171fc2218c76d81690410a3%2Ftelegram-botfather-username-taken-en.jpg?alt=media" alt="English BotFather chat rejecting an occupied username and accepting a different one" width="430"><figcaption><p>When a username is taken, send a different one that still ends in bot. The names shown are examples. Screenshot: <a href="https://www.turtle-techies.com/how-to-create-a-telegram-bot-with-python/">Turtle Techies</a>.</p></figcaption></figure>

</details>

<details>

<summary>Already have a bot, or cannot find its token?</summary>

If you already created the bot, use the token from its BotFather creation message and continue to the next step. You do not need to send `/newbot` again. A token that was later replaced will no longer work.

If you lost the token or need to replace an exposed one, Telegram documents the [`/token` command](https://core.telegram.org/bots/features#generating-an-authentication-token). Send it to BotFather and follow its prompts for your bot. Put the replacement token into Bots.Business too: **Dashboard → Edit bot → Token** for a bot you already added.

</details>
{% endstep %}

{% step %}

### Add it to Bots.Business <a href="#id-2-add-it-to-botsbusiness" id="id-2-add-it-to-botsbusiness"></a>

1. Open **My bots** and choose **Create bot**. If the list already has bots, tap **+**.
2. Enter a useful **Name**, such as `My first bot`.
3. Paste your token into **Token** and tap **CREATE** below the form.
4. Open the new bot to enter its workspace.

A bot can be saved before its token is supplied, but it needs a valid token to connect to Telegram. If you skipped the field, open **Dashboard → Edit bot** and add it.

<figure><img src="https://3310729168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVh0yg9olT-QWqi3AYt%2Fuploads%2Fgit-blob-bbaba157ce9ab5b5fc271bd190844338504792d6%2Fmobile-add-bot.png?alt=media" alt="The current New bot form with Name, Token, and the CREATE button"><figcaption><p>The current New bot form with Name, Token, and the CREATE button</p></figcaption></figure>
{% endstep %}

{% step %}

### Give `/start` an answer <a href="#id-3-give-start-an-answer" id="id-3-give-start-an-answer"></a>

1. Open **Commands**.
2. Tap **+** and choose **New command**.
3. Set **Command** to `/start`.
4. Set **Answer** to `Hello! My bot is working.`
5. Leave **Wait for answer** off and the BJS code empty for this first example.
6. Tap **Create** in the command form. For an existing command, open **⋮ → Options**, change its fields, and tap **Edit**. The code editor's **Save** button is used for code changes.

The Answer field is enough for a simple response. You do not need to install a library or write JavaScript for this step.

<figure><img src="https://3310729168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVh0yg9olT-QWqi3AYt%2Fuploads%2Fgit-blob-c84fdfce16c43186f60ca7b9019522d72991b49e%2Fmobile-command-answer.png?alt=media" alt="Example of the /start Command and Answer fields in Edit metadata"><figcaption><p>Example of the /start Command and Answer fields in Edit metadata</p></figcaption></figure>

The screenshot shows demonstration text. For this tutorial, keep the Answer you entered in step 4.
{% endstep %}

{% step %}

### Launch and test <a href="#id-4-launch-and-test" id="id-4-launch-and-test"></a>

Open **Dashboard**, tap **Launch bot**, and check its status. Use **Open** to go to the bot in Telegram. Tap Telegram's **Start** button or send `/start` yourself.

You should receive `Hello! My bot is working.` Saving a command alone does not send it to a Telegram chat; sending `/start` triggers it.

<figure><img src="https://3310729168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVh0yg9olT-QWqi3AYt%2Fuploads%2Fgit-blob-4d18b4eabb8f3ca565a777a7638bbc7641774959%2Fmobile-dashboard.png?alt=media" alt="Bot Dashboard with status, Open, Edit bot, and the launch control"><figcaption><p>Bot Dashboard with status, Open, Edit bot, and the launch control</p></figcaption></figure>
{% endstep %}
{% endstepper %}

## If the answer does not arrive

* Check that you opened the same bot username as the token you added.
* Check that the bot is running and the command was saved.
* Open **Errors** for the bot. Start with plain Answer text to avoid formatting errors.
* Check that **Wait for answer** is off for this example and that no group restriction is set.
* If another hosting service uses the same Telegram bot, check its connection before moving the bot between services.

Use [Bot does not reply](/troubleshooting/bot-not-responding.md) for the full checklist.

## Next: add a menu

Create a second command and [connect it to a reply keyboard](/build-bot-behavior/reply-keyboard.md). To start programming, follow [JavaScript basics for BJS beginners](/start-here/javascript-basics.md). If you already know JavaScript, continue with [BJS execution and APIs](/bjs-reference/bjs.md).
