Using legacy custom integrations is an outdated way for teams to integrate with Slack. Legacy custom integrations lack newer features and will be deprecated and possibly removed in the future. We do not recommend their use.

We recommend using their replacement: Slack apps. Slack apps can be built just for your own workspace or distributed through the Slack Marketplace, and they can use the latest and greatest APIs and UI features.

Legacy custom integration bot users

Building a bot enables conversations between users and your app in Slack.

Discontinuing legacy custom bot creation

You won't be able to create new legacy custom integration bot users or classic apps anymore after June 4, 2024. Learn how this may impact you and your team.

Because we strongly recommend you do not use legacy custom integrations anymore, we recommend reading our Handling user interaction in your Slack apps guide instead. It will help you recreate any existing legacy bot functionality.

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.

Legacy management

If you need to configure your legacy integrations, you can access the Integrations management pages here.

Additional limitations

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 instead.

API methods for legacy bots

Legacy custom integration bot users, and legacy bot tokens, can be used with a restricted set of Web API methods. These methods are shown below.

Method & DescriptionDescription
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.