Skip to main content

Slackbot skills

You can create and manage Slackbot skills with the Web API. For example, you can keep a skill's instructions in source control and deploy them from CI, or roll out a set of skills across your organization.

Slackbot skills are different from coding agent skills

Slackbot skills run in Slackbot. They're different from the skills you install in coding agents, like those found in the Slack MCP and Skills Plugin.

Getting a new Slackbot skill to your whole organization can be done in four steps. The skill's author creates and updates the skill, and an org admin publishes it and can turn it on for others.

1. Create the Slackbot skill​

Create a Slackbot skill by calling the slackbot.skills.create API method with markdown instructions, or with a canvas you own.

Skills created from markdown start invite-only. Converting an existing canvas preserves its sharing. Slack attempts to add the skill to your library. Save the returned skill ID and use the slackbot.skills.update method for subsequent changes.

2. Update the Slackbot skill​

After creating the skill, you can change its instructions or metadata with the slackbot.skills.update API method. To read back the current instructions, use the slackbot.skills.info API method.

If you deploy skills from CI, this is the step your pipeline repeats on each change.

3. Publish the Slackbot skill to the catalog​

An org admin of an Enterprise organization can publish the Slackbot skill by calling the admin.slackbot.skills.publish API method. Publishing adds the skill to the organization's catalog and, if the canvas isn't already shared org-wide, shares it with the whole organization.

To find skills to publish, admins can use the admin.slackbot.skills.list API method. The admin.slackbot.skills.* API methods require a user token from an org-level installation of your app; workspace-level installations can't be granted the admin skills scopes.

4. Add the Slackbot skill to people's libraries​

A published Slackbot skill isn't enabled for anyone else yet; it needs to be added to their libraries. There are two ways this can happen:

  • People find the skill in the catalog and add it to their library, in Slackbot or with the slackbot.skills.library.add API method.
  • An org admin adds it to everyone's libraries, or to the libraries of specific user groups, with the admin.slackbot.skills.setAutoEnabled API method. They can stop adding the skill automatically by setting the permission_type to no_one.

The skill canvas must already be shared with those people, for example by publishing it in step 3.

Managing Slackbot skills​

You can check what's in your library, what you own, or what's in the catalog with the slackbot.skills.list API method. Remove a Slackbot skill from your library with the slackbot.skills.library.remove API method.

Admins can remove skills from the org catalog with the admin.slackbot.skills.unpublish API method.

To remove a skill entirely, use the slackbot.skills.delete API method, which deletes its canvas too.