Design a Great User Experience8% of the exam

Onboarding, account linking and Home tab design

How a Slack app should welcome installers and first-time users, link a Slack account to an external account without manual mapping, lay out a Home tab that works for every viewer and every workspace size, and make the Messages tab answer back.

Official exam objective
Build a great user experience that aligns with Slack’s commitment; to make work life simpler, more pleasant and more productive.

~8 min read · 7 practice questions ·

What the exam expects

  • Design the first-run experience: let the installer set channel, notification types and message rate, and guide both the installer and first-time users to real value quickly.
  • Link a Slack user to an external-service account through that service's own sign-in, and reject any design where people type, pick or upload the mapping.
  • Lay out a Home tab that shows useful content to every viewer, puts personal items and core entry points first, hides settings and rare actions, and scales to very large workspaces.
  • Make the App Home Messages tab conversational with the right scope and event subscription.

Key terms: App Home (private one-to-one space between a user and an app, with Home, Messages and About tabs); Home tab (a per-user Block Kit view published with views.publish); account binding (securely tying a Slack user ID to a user in another system); association URL (a link carrying a one-time nonce to a page behind the other system's login); Messages tab (the user's direct-message conversation with the app).

Key facts

Install-time preferences
Detail
Rate of messages, destination channel and notification types
Joining channels
Detail
Apps should not join all public channels after installation
Account mapping
Detail
Never manual; use a connect-account step that asks people to authorize
Association URL
Detail
Carries a stored nonce to a page behind the internal system's login
User emails
Detail
Explicit consent before emailing addresses from the Slack API
Home tab view size
Detail
Up to 100 blocks
Home tab audience
Detail
Useful content for every viewer, authorized or not; only what they may see
Overflow menu
Detail
Up to five options, for less important actions
Messages tab replies
Detail
chat:write, im:history and the message.im bot event
Sources for this section (6)
  • Why does Slack forbid letting users type their external-service username to link accounts?
  • When should an app ask about channel, notification types and message rate?
  • What must a Home tab show to a member who has not connected an account?
  • Which event tells an app that a user sent it a message in the Messages tab?

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 (7 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