> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Introduces the bot types provided by DingTalk and their applicable scenarios, with an overview of open capabilities and entry points to tutorials.

DingTalk provides multiple types of bots for different scenarios. This article describes the use cases of each bot type.

## What is a bot

As a standalone app capability, bots play an important role in DingTalk. With simple configuration, a bot can send message notifications or provide interactive services to users in direct messages or group chats. Bots help integrate business information and tasks into DingTalk conversations, accelerating workflows and team collaboration.

### Bot types

| **Type**                       | **Group Chat supported**           | **Direct Message supported** | **Creation method**                                                            |
| ------------------------------ | ---------------------------------- | ---------------------------- | ------------------------------------------------------------------------------ |
| Enterprise bot                 | ✅ (Internal Group)                 | ✅                            | [Configure an enterprise bot](/open/dingstart/configure-the-robot-application) |
| Third-party enterprise app bot | ✅ (Internal Group)                 | ✅                            | Third-party enterprise bot                                                     |
| Custom bot                     | ✅ (External Chat & Internal Group) | ❌                            | [Create a custom bot](/open/dingstart/custom-bot-creation-and-installation)    |
| Group template bot             | ✅ (Internal Group)                 | ❌                            | Create a group template bot                                                    |

For more information, see [Develop a bot app — Overview](/open/dingstart/robot-application-overview).

### Bot ID

| **Bot type**                       | **Unique identifier field** | **View path** |
| ---------------------------------- | --------------------------- | ------------- |
| Internal app / third-party app bot | robotCode                   | image.png     |
| Group template bot                 | ID                          | image.png     |
| Custom bot                         | Not available               | Not available |

## Open capability overview

Bots provide a rich set of open APIs. Developers can use these APIs to send and receive messages through bots.

### List of open APIs

#### DING messages

| **API**                    | **Description**                                                                              | **Applicable type** | **API Version** |
| -------------------------- | -------------------------------------------------------------------------------------------- | ------------------- | --------------- |
| Send a DING message        | Use an internal bot to send a DING message, including in-app DING, SMS DING, and Phone DING. | Internal app bot    | New             |
| Recall a sent DING message |                                                                                              | Internal app bot    | New             |

#### Plain messages

| **API**                                                                                                                                      | Description                                                                                    | **Applicable type**            | **API Version** |
| -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------ | --------------- |
| [Send bot messages in batches in person-to-bot Chats](/open/development/chatbots-send-one-on-one-chat-messages-in-batches)                   | Send bot messages in batches in person-to-bot Chats (Direct Message between a user and a bot). | Third-party enterprise app bot | New             |
| [Bot sends plain messages in person-to-person Chats](/open/development/the-robot-sends-ordinary-messages-in-a-person-to-person-conversation) | A bot sends plain messages in a person-to-person Chat.                                         | Third-party enterprise app bot | New             |
| [Bot sends Group Chat messages](/open/development/the-robot-sends-a-group-message)                                                           | An app bot sends Group Chat messages.                                                          | Internal app bot               | New             |
| [Custom bot sends group messages](/open/development/custom-robots-send-group-messages)                                                       | Use a custom bot to send group messages.                                                       | Custom bot                     | New             |

#### Message reception

| **API**                                                                                                                               | Description                                              | **Applicable type**            | **API Version** |
| ------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------ | --------------- |
| [Download the file content of messages received by a bot](/open/development/download-the-file-content-of-the-robot-receiving-message) | Download the file content of messages received by a bot. | Third-party enterprise app bot | New             |

#### Message query

| **API**                                                                                                                                                    | Description                                                             | **Applicable type**            | **API Version** |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | ------------------------------ | --------------- |
| [Batch query the Read status of bot messages in person-to-bot Chats](/open/development/chatbot-batch-query-the-read-status-of-messages)                    | Batch query whether bot messages have been read in person-to-bot Chats. | Third-party enterprise app bot | New             |
| [Query the Read List of bot messages in person-to-person Chats](/open/development/query-the-read-list-of-robot-messages-in-person-to-person-conversations) | Query the Read List of bot messages in person-to-person Chats.          | Third-party enterprise app bot | New             |
| [Query user Read status of enterprise bot Group Chat messages](/open/development/chatbot-queries-the-read-status-of-a-message)                             | Query user Read status of enterprise bot Group Chat messages.           | Third-party enterprise app bot | New             |

#### Message Recall

| **API**                                                                                                                                                   | Description                                          | **Applicable type**            | **API Version** |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------ | --------------- |
| [Batch recall bot messages in person-to-bot Chats](/open/development/batch-message-recall-chat)                                                           | Batch recall bot messages in person-to-bot Chats.    | Third-party enterprise app bot | New             |
| [Batch recall bot messages in person-to-person Chats](/open/development/batch-withdrawal-of-single-chat-robot-messages-in-person-to-person-conversations) | Batch recall bot messages in person-to-person Chats. | Third-party enterprise app bot | New             |
| [Enterprise bot recalls Internal Group messages](/open/development/enterprise-chatbot-withdraws-internal-group-messages)                                  | An enterprise bot recalls Internal Group messages.   | Internal app bot               | New             |

#### Bot management

| **API**                                                                                     | Description                      | **Applicable type** | **API Version** |
| ------------------------------------------------------------------------------------------- | -------------------------------- | ------------------- | --------------- |
| [Get the list of Bots in a group](/open/development/obtain-the-list-of-robots-in-the-group) | Get the list of Bots in a group. | Internal app bot    | New             |

#### Quick entry management

| **API**                                                                                                     | Description                                 | **Applicable type** | **API Version** |
| ----------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ------------------- | --------------- |
| [Set the quick entry of a Single-chat bot](/open/development/set-robot-quick-entrance)                      | Set the quick entry of a Single-chat bot.   | Internal app bot    | New             |
| [Query the quick entry of a Single-chat bot](/open/development/quick-entrance-of-inquiry-single-chat-robot) | Query the quick entry of a Single-chat bot. | Internal app bot    | New             |
| [Clear the quick entry of a Single-chat bot](/open/development/clear-single-chat-robot-quick-entry)         | Clear the quick entry of a Single-chat bot. | Internal app bot    | New             |

### List of callback events

Bots support callback events for message recall and message read:

* Bot message Recall event
* Bot message Read event

## Tutorials

### Enterprise bot

* To create an enterprise bot, see [Configure an enterprise bot](/open/dingstart/configure-the-robot-application).
* DingTalk provides tutorials and sample code for sending Direct Messages and Group Chat messages with this bot. Click the links below for details.

  * Send Group Chat messages: [Enterprise bot sends Group Chat messages](/open/development/the-application-robot-in-the-enterprise-sends-group-chat-messages)
  * Send Direct Messages: [Enterprise bot sends Direct Messages](/open/development/the-application-robot-in-the-enterprise-sends-a-single-chat)

### Third-party enterprise bot

To create a third-party enterprise bot, see the third-party enterprise bot documentation.

### Custom bot

* To create a custom bot, see [Create a custom bot](/open/dingstart/custom-bot-creation-and-installation).
* DingTalk provides tutorials and sample code for sending Group Chat messages with this bot. See [Custom bot sends Group Chat messages](/open/development/custom-bot-to-send-group-chat-messages).

### Group template bot

To add a bot to a Group Chat at the time the Chat is created, see the group template bot documentation.

<Warning>
  DingTalk provides tutorials and sample code for sending Group Chat messages with this bot. See [Group template bot sends Group Chat messages](/open/development/group-template-robot-sends-group-chat-message).
</Warning>

### Third-party tool bot

If you only need to send messages and the source is limited to GitLab, GitHub, JIRA, Alibaba Cloud Codeup, or Travis pushing messages into DingTalk groups, see the Webhook bot documentation.
