Design the Interactive Flow of Your App20% of the exam
Request URLs, 3-second acknowledgement and response_url
Where Slack sends interaction, slash command and event requests, how to acknowledge within 3 seconds and then respond, how response_url publishes, replaces and deletes messages, and how to design for payload IDs, Enterprise orgs and workspace differences.
Recommend an app design that interacts effectively with Slack's architecture.
~7 min read · 12 practice questions ·
What the exam expects
- Say which URL receives each kind of request: interactive components, shortcuts and modals; each slash command; events.
- Acknowledge every request within 3 seconds, then do slow work asynchronously and show the user visible progress.
- Use
response_urlto post ephemeral or in-channel replies, threaded replies, replacements and deletions, including where the bot is not a member. - Parse form-encoded payloads correctly and route on
command,api_app_idand stable IDs. - Handle
ssl_checkrequests, Enterprise org fields, disabled event subscriptions and bot presence. - Design for workspace differences such as short retention, mobile-only users and Home tab updates from outside Slack.
Key terms: Request URL (your HTTPS endpoint that Slack POSTs to); acknowledgement (an HTTP 200 within 3 seconds); response_url (a per-payload webhook for message responses); response_type (ephemeral by default, or in_channel); ssl_check (Slack's certificate probe on command URLs).
Key facts
Interaction acknowledgement
- Detail
- HTTP 200 OK within 3 seconds
Slash command timeout
- Detail
- 3000 ms, else
operation_timeout
Interaction body
- Detail
- Form-encoded with a JSON
payloadparameter
response_url limit- Detail
- Up to 5 responses within 30 minutes
response_url default visibility- Detail
- Ephemeral; set
response_type: in_channelto share
trigger_id- Detail
- Expires in three seconds; usable once
Routing several commands
- Detail
commandfield;api_app_idfor several apps
ssl_check=1- Detail
- Certificate check on command URLs of publicly distributed apps
Event subscriptions disabled
- Detail
- Over 95% failed deliveries within 60 minutes; owner emailed; re-enable after fixing
Events API-only bot presence
- Detail
- Toggle under App Home in the app settings
- Why should an app not return HTTP 500 when a command's input is invalid?
- When does Slack temporarily disable an app's event subscriptions?
- How should a handler read a `block_actions` payload from the raw request body?
- Why must an app store a user's ID to keep their Home tab current?
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 (12 questions for this lesson)
- An official source cited for every claim
- An AI tutor that answers from the guide
- Unlimited timed practice exams