Choosing among Slack APIs by use case
How to pick the right Slack API from the requirement: the Web API to read and act, the Events API to be told, the Status API for Slack's own health, and the Admin, SCIM and Audit Logs APIs for organization administration.
Recommend when to implement Slack's different APIs for different use cases.
~7 min read · 6 practice questions ·
What the exam expects
- Recommend the Web API when the app must read data from Slack or change something in it, including reading history that already exists.
- Recommend the Events API when the app must be told that something happened (a message, an App Home visit, an uninstall) instead of polling.
- Recommend the Slack Status API, or its Atom or RSS feed, to monitor Slack's own incidents, outages and maintenance.
- Tell the organization-management APIs apart: the Admin API automates administration, the SCIM API provisions users and groups, and the Audit Logs API feeds security tools with a read-only record of actions.
- Reject distractors that use a push API for history, a monitoring API to make changes, or a provisioning API for channels.
Key terms: Web API (HTTP methods at https://slack.com/api/<method> that query and change Slack), Events API (Slack pushes subscribed events to your app), app events (events about your app itself, such as app_uninstalled), Admin API (Web API methods for administering an Enterprise org), SCIM (the provisioning standard identity providers use), audit event (a logged user or admin action, never message content).
Key facts
- Detail
- Query information from and enact change in a workspace
- Detail
- Slack calls your app with subscribed events
- Detail
- Read with
conversations.historyand cursor pagination
- Detail
app_uninstalledandtokens_revokedneed no scopes
- Detail
app_home_opened, no scopes required
- Detail
- Status API
currentandhistoryendpoints, unauthenticated
- Detail
- Atom and RSS at slack-status.com
- Detail
- Subset of Web API methods for administering organizations
- Detail
- Provisions and manages user accounts and groups
- Detail
- Read only, no write methods, no message content
Sources for this section (9)
- Slack Web APIdocs.slack.dev (opens in a new tab)
- The Events APIdocs.slack.dev (opens in a new tab)
- conversations.history methoddocs.slack.dev (opens in a new tab)
- app_uninstalled event typedocs.slack.dev (opens in a new tab)
- app_home_opened eventdocs.slack.dev (opens in a new tab)
- Slack Status APIdocs.slack.dev (opens in a new tab)
- Slack APIsdocs.slack.dev (opens in a new tab)
- Using the Slack SCIM APIdocs.slack.dev (opens in a new tab)
- Using the Audit Logs APIdocs.slack.dev (opens in a new tab)
- Why can't an Events API subscription produce a 90-day export of a channel?
- When should a developer choose the SCIM API over the Admin API?
- Which API is tailored for feeding a SIEM tool?
- Why is the Slack Status API, not a Web API method, the right outage monitor?
- Which scopes does an app need to receive `app_uninstalled`?
The questions are free to read. Answers with their sources and self-grading are included with the pack.
Keep reading with the Slack Developer pack
- Core concepts
- Exam traps
- Worked scenario
The pack includes:
- All 38 lessons of the Slack Developer guide, with reading progress
- Interactive decision walks and step-by-step sequence steppers
- Inline practice questions and one-click topic practice (6 questions for this lesson)
- An official source cited for every claim
- An AI tutor that answers from the guide
- Unlimited timed practice exams