APIs for Managing Your Slack12% of the exam

Admin API methods for org automation

When an app built on the admin.* Web API methods should replace clicks in the admin dashboard: app approvals with app_requested, invite requests, session resets, workspace invites, channel placement, IdP group allowlists and defaults, and the analytics file.

Official exam objective
Recommend when an Admin API could be used to automate Slack workspace and/or org administration.

~8 min read · 9 practice questions ·

What the exam expects

  • Recommend an Admin API app when an Enterprise org's admins repeat a dashboard task (approving apps or invites, resetting sessions, inviting members, placing channels) across many workspaces.
  • Design an app-approval app: admin.apps:write, the app_requested event, admin.apps.approve and admin.apps.restrict, and what the install changes for admins.
  • Pick the right admin.* family for a requirement: admin.inviteRequests.*, admin.users.session.reset, admin.users.invite, admin.conversations.restrictAccess.*, admin.conversations.setTeams, admin.usergroups.addChannels, admin.analytics.getFile.
  • Spot the requirement that belongs to another API (SCIM, Audit Logs, Discovery) or to no API at all.

Key terms: Admin API (Web API methods prefixed admin. for managing an Enterprise org); org-level install (OAuth install on the whole Enterprise org, which is the only way to get admin.* scopes); app management app (an app with admin.apps:write subscribed to app_requested); IdP group (a group of users synced from the identity provider); allowlist (IdP groups whose members alone can access a private channel).

Key facts

Where admin scopes come from
Detail
OAuth install on the entire Enterprise org by an Org Admin or Org Owner, not a workspace
App management app
Detail
admin.apps:write plus an app_requested subscription
Effect of installing it
Detail
Approve apps on in every workspace; App Management UI replaced
Restore the UI
Detail
Revoke the app's token or uninstall it
Approve without scope lists
Detail
All requested scopes granted, optional ones included
admin.users.invite required arguments
Detail
team_id, email, channel_ids (at least one channel)
Session reset scope
Detail
mobile_only or web_only; default resets all sessions
Invite request automation
Detail
invite_requested event plus admin.inviteRequests.*; needs admin.invites:write to approve
Private channel allowlist
Detail
admin.conversations.restrictAccess.addGroup with an IdP group_id
IdP group default channels
Detail
admin.usergroups.addChannels, up to one hundred
Analytics file
Detail
Compressed JSON, member or public channel, rolling 13 months
Sources for this section (10)
  • Why must an Admin API app be installed on the Enterprise org rather than a workspace?
  • When an app with `admin.apps:write` subscribed to `app_requested` is installed, what changes for admins?
  • Why does an `admin.users.invite` call with only `team_id` and `email` fail?
  • When should a security tool call `admin.users.session.reset` with `mobile_only`?
  • Which method sets default channels for an IdP group?

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 (9 questions for this lesson)
  • An official source cited for every claim
  • An AI tutor that answers from the guide
  • Unlimited timed practice exams

Practice for the Slack Developer exam