Legacy APIs and terms versus current equivalents
How to recognise legacy Slack platform language and replace it: Conversations API instead of channels/groups/im/mpim methods, Events API or Socket Mode instead of RTM, granular bot scopes and xoxb tokens instead of custom bots, the umbrella bot scope and workspace tokens, plus as_user, ID prefixes, files.upload, Steps from Apps and exam-era product names.
Differentiate between current Slack terms and legacy language in the APIs.
~7 min read · 5 practice questions ·
What the exam expects
- Replace
channels.*,groups.*,im.*andmpim.*methods with theirconversations.*equivalents. - Flag the RTM API, workspace apps and workspace tokens, legacy custom bots, the umbrella
botscope and legacy token-generator tokens as legacy, and name the current replacement. - Remove legacy arguments such as
as_userand stop inferring privacy from channel ID prefixes. - Replace retired features:
files.uploadwith the external upload methods, Steps from Apps with custom workflow steps. - Translate exam-era names (Enterprise Grid, Slack App Directory) into current ones (Enterprise org, Slack Marketplace).
Key terms: legacy (still documented, expected to be deprecated), deprecated (scheduled to stop), retired (no longer works), classic app (an app on the old, non-granular scope model), granular bot scopes (individual permissions such as chat:write on an xoxb- token), Conversations API (the unified conversations.* family).
Key facts
- Detail
- Deprecated and retired; tokens not for new apps
- Detail
conversations.history
- Detail
- Prefix can change, G to C
- Detail
- Not usable by granular permission apps
- Detail
- Stopped working March 31, 2025
- Detail
- No new ones since June 2024; stop working November 16, 2026
bot scope- Detail
- Legacy bot tokens only; use granular
xoxb-tokens
as_user- Detail
- Legacy, classic apps only
files.upload- Detail
- Sunset November 12, 2025
- Detail
- Retired September 26, 2024
Sources for this section (8)
- Legacy APIs, features, and frameworksdocs.slack.dev (opens in a new tab)
- Using the Conversations APIdocs.slack.dev (opens in a new tab)
- Legacy RTM APIdocs.slack.dev (opens in a new tab)
- Legacy custom bots and classic apps changelogdocs.slack.dev (opens in a new tab)
- Tokensdocs.slack.dev (opens in a new tab)
- chat.postMessage methoddocs.slack.dev (opens in a new tab)
- files.upload methoddocs.slack.dev (opens in a new tab)
- Workflow Steps from Apps step backdocs.slack.dev (opens in a new tab)
- Why is a legacy feature the wrong answer even when it still runs?
- When can an app use the RTM API?
- Which methods replace `files.upload`?
- Why should code read `is_private` instead of the channel ID prefix?
- What replaced Steps from Apps?
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 (5 questions for this lesson)
- An official source cited for every claim
- An AI tutor that answers from the guide
- Unlimited timed practice exams