Building a bot enables conversations between users and your app in Slack.
Because we strongly recommend you do not use legacy custom integrations anymore, you should instead use the similar feature in Slack apps. Our guide to Enabling Interactions with Bots will walk you through the process of enabling this functionality in a Slack app.
If you previously created a bot using legacy integrations, you should switch to using bots with a Slack app instead. To do this you need to follow the Enabling Interactions with Bots guide and create new bots to replicate your existing ones.
The majority of your legacy bot code should continue to work within a Slack app without much modification; check out the list of limitations to see if there's anything you'll need to adjust.
In our newer bot guide we do suggest that you use the Events API with bots in Slack apps; however you can also continue to use the Real Time Messaging API that was suggested for use with legacy bots.
Though we recommend that all legacy custom integrations should migrate to Slack apps, we also understand that some will still need to maintain older integrations. This section contains any information about building bots that is specific to the legacy implementation.
If you need to configure your legacy integrations, you can access the Integrations management pages here.
While you can use legacy bots to post messages, they do not have access to interactive messages features. To make your messages interactive, you'll need to build a Slack app bot instead.
Legacy Bot Users, and legacy bot tokens, can be used with a restricted set of Web API methods. These methods are shown below:
Method & Description | Description |
---|---|
api.test Checks API calling code. | Checks API calling code. |
auth.revoke Revokes a token. | Revokes a token. |
auth.test Checks authentication & identity. | Checks authentication & identity. |
bots.info Gets information about a bot user. | Gets information about a bot user. |
calls.add Registers a new Call. | Registers a new Call. |
calls.end Ends a Call. | Ends a Call. |
calls.info Returns information about a Call. | Returns information about a Call. |
calls.participants.add Registers new participants added to a Call. | Registers new participants added to a Call. |
calls.participants.remove Registers participants removed from a Call. | Registers participants removed from a Call. |
calls.update Updates information about a Call. | Updates information about a Call. |