---
title: "Create a bot"
method: POST
path: "/v3/bots"
tags: ["Bot"]
---

# Create a bot

`POST /v3/bots`

## Request

- Base URL: `https://api-APP_ID.sendbird.com`
- URL: `https://api-APP_ID.sendbird.com/v3/bots`
- Auth: none declared

## Create a bot

Creates a new bot within an application. Creating a bot is similar to creating a normal user, except a callback URL should be specified for a bot to receive events.

> **Note**: The bot must first [join a group channel](https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/join-channels) to interact with users. In group channels, you can also invite a bot through the [invite as members](https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/invite-as-members-channel) action. 
  

[https://sendbird.com/docs/chat/platform-api/v3/bot/creating-a-bot/create-a-bot#1-create-a-bot](https://sendbird.com/docs/chat/platform-api/v3/bot/creating-a-bot/create-a-bot#1-create-a-bot)

## Headers

- `api-token` string

## Request body

- CreateABotRequest
  - `bot_callback_url` string, required
  - `bot_nickname` string, required: Specifies the bot's nickname. The length is limited to 80 characters.
  - `bot_profile_url` string, required
  - `bot_type` string, required
  - `bot_userid` string, required: Specifies the unique ID of a bot. The length is limited to 80 characters.
  - `is_privacy_mode` boolean, required: Determines whether to forward all or specific messages to the bot in channels where the bot is a member. If set to true, only messages starting with a "/" or mentioning the bot_userid are forwarded to the bot. If set to false, all messages are forwarded. This property can help protect the privacy of users' chat logs by configuring the bot to only receive messages addressed to the bot.
  - `channel_invitation_preference` integer
  - `enable_mark_as_read` boolean
  - `show_member` boolean

## Response `200`

Successful response

- CreateABotResponse
  - `bot` CreateABotResponseBot, required
    - `ai_agent_type` string
    - `bot_metadata` object
    - `bot_nickname` string
    - `bot_profile_url` string
    - `bot_require_auth_for_profile_image` boolean
    - `bot_token` string
    - `bot_type` string
    - `bot_userid` string, required
    - `feedback` boolean
  - `bot_callback_url` string
  - `bot_style` ListBotsResponseBotsInnerBotStyle
    - `auto_open` boolean
    - `color` ListBotsResponseBotsInnerBotStyleColor
      - `accent_color` string
      - `bot_message_color` string
      - `theme` string
    - `toggle_button_type` string, nullable
    - `toggle_button_url` string, nullable
  - `channel_invitation_preference` integer
  - `created_at` integer
  - `enable_mark_as_read` boolean
  - `is_privacy_mode` boolean
  - `show_member` boolean

## Changes

- **2025-10-17** `b05d4e3c6329`: 1 breaking
  - the response property `bot_style/toggle_button_url` became nullable for the status `200`
- **2025-07-27** `7a85bad03e90`: 1 warning, 9 info
  - deleted the `header` request parameter `Api-Token`
  - api operation id `createBot` removed and replaced with `createABot`
  - added the new optional `header` request parameter `api-token`
  - added the optional property `bot/ai_agent_type` to the response with the `200` status
  - …6 more
- **2023-11-10** `135d8b0705d4`: 1 info
  - the `header` request parameter `Api-Token` became optional
- **2022-06-29** `4012275aa67d`: 2 info
  - api tag `Bot` added
  - api tag `Bot interface` removed
- **2022-02-16** `c42164095c7c`: 1 breaking
  - the `header` request parameter `Api-Token` became required

[Operation history](https://skmtc.dev/sendbird/apis/sendbird-platform-sdk/changes/v3/bots/post.md)

---

[API](https://skmtc.dev/sendbird/apis/sendbird-platform-sdk.md) - [All operations](https://skmtc.dev/sendbird/apis/sendbird-platform-sdk/llms.txt) - [OpenAPI document](https://skmtc.dev/sendbird/apis/sendbird-platform-sdk/revisions/9e53a5288df0?raw)
