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 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.addAPI method. - An org admin adds it to everyone's libraries, or to the libraries of specific user groups, with the
admin.slackbot.skills.setAutoEnabledAPI method. They can stop adding the skill automatically by setting thepermission_typetono_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.