---
title: "Create a bot"
locale: en
url: https://tlg.builera.app/en/docs/reference/rest/bots.create
verified: 2026-10-24
app_version: "2.0"
generated: true
---

# Create a bot

Make one bot on each listed account through its own @BotFather chat (/newbot). `name` is the display name, `username` must end in 'bot'; with several accounts `{n}` (or an automatic _n) keeps them distinct. Counted in 'Create bot'; Telegram allows 20 bots per account. Follow the jobs for the result.

Make one bot on each listed account through its own @BotFather chat (/newbot). `name` is the display name, `username` must end in 'bot'; with several accounts `{n}` (or an automatic _n) keeps them distinct. Counted in 'Create bot'; Telegram allows 20 bots per account. Follow the jobs for the result.

## Overview

| Name | Value |
| --- | --- |
| Code | `bots.create` |
| Scope needed | `bots.manage` |
| Risk | Write |
| May need confirmation | Yes |
| Runs as | Answers right away |
| Needs `Idempotency-Key` | Yes |
| Member roles allowed | `owner`, `manager`, `agent` |
| Needs a worker from version | `1.0.37` |
| In the app | Bots → Create bot |

## Input fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `accountIds` | `uuid[]` | Yes |   |
| `name` | `text` | Yes |   |
| `username` | `text` | Yes |   |

## Example request

```bash
curl -X POST https://tlg.builera.app/api/public/v2/ops/bots.create \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: <unique key per operation>" \
  -d '{"accountIds":[],"name":"…","username":"…"}'
```

## Output fields (`data`)

| Field | Type | Required |
| --- | --- | --- |
| `ok` | `true` | Yes |
| `jobs` | `object[]` | Yes |
| `skipped` | `number` | Yes |
| `errors` | `text[]` | Yes |

## Example answer

```json
{
  "data": {
    "ok": true,
    "jobs": [
      {
        "accountId": "00000000-0000-4000-8000-000000000000",
        "jobId": "00000000-0000-4000-8000-000000000000",
        "username": "text"
      }
    ],
    "skipped": 1,
    "errors": [
      "text"
    ]
  }
}
```

## Using it over MCP

Not listed on any profile: call `tools_describe` then `tools_run` with `code: "bots.create"`. Tool name when listed: `bots_create`.
