Design the Interactive Flow of Your App20% of the exam

Business workflows: approvals, alerts and custom step logic

How to turn a business process into a Slack app: spotting use cases, actionable approval and alert messages, onboarding on team_join, the shortcut-to-modal helpdesk pattern, and the custom workflow step lifecycle with complete(), fail() and declared outputs.

Official exam objective
Build common workflows (business processes) and use cases for Slack apps.

~8 min read · 11 practice questions ·

What the exam expects

  • Find good app use cases in how a team already works, and reject ideas that only add noise or duplicate Slack.
  • Design approval and alert flows as actionable messages: post with buttons, handle the block_actions payload, update the message to show who acted.
  • Pick the event that starts a process, such as team_join for onboarding a new member.
  • Apply the shortcut-to-modal-to-confirmation pattern for actions that create or change data.
  • Build a custom workflow step that waits for a person, returns declared outputs, and knows where it can and cannot run.

Key terms: actionable message (a notification with buttons or menus that lets the reader act in place); block_actions (the payload sent when a Block Kit interactive component is used); custom workflow step (a function in your app that Workflow Builder offers as a step); complete() / fail() (Bolt helpers that end a step successfully or unsuccessfully); home_team_only (the warning external Slack Connect members see on your org's steps).

Key facts

Interactive component click
Detail
Sends a block_actions payload with the interacting user
Updating the posted alert
Detail
chat.update with channel and ts; bots can update their own messages
New member joins the workspace
Detail
team_join event, users:read scope
Shortcut that changes data
Detail
Must follow up with a confirmation modal
Ephemeral to in-channel
Detail
Not possible: visibility is fixed for life; delete and publish new
Ending a custom step
Detail
complete() with outputs or fail() with an error string
Bolt step setup
Detail
function_executed bot event plus a function definition on the Workflow Steps page
Deno Slack SDK step apps
Detail
Managed with the Slack CLI only, not the app settings
Distribution
Detail
Step apps cannot be distributed publicly or listed in the Marketplace
Sources for this section (7)
  • Why should an approval notification carry buttons rather than a link?
  • When may a Bolt custom step skip `complete()` in its `function()` handler?
  • Which event lets an onboarding app greet a new employee as soon as the account joins?
  • Why must a data-changing shortcut open a modal first?

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