Design the Interactive Flow of Your App20% of the exam

Message delivery options and the modal view stack

When to post to a channel, a DM, an ephemeral message or a scheduled message, how to deep-link to App Home tabs, and how a modal's three-view stack works: views.open, push and update, private_metadata, view_closed, external_id and the response_action replies to a submission.

Official exam objective
Recommend when to use different Slack components and features.

~7 min read · 12 practice questions ·

What the exam expects

  • Choose among a channel post, a DM, an ephemeral message, a scheduled message and a modal for a given need.
  • Plan for ephemeral delivery limits and the 120-day scheduling window; list, delete and reschedule pending messages.
  • Open a one-to-one DM with conversations.open and deep-link to a specific App Home tab.
  • Work the three-view modal stack: views.open, views.push, views.update, private_metadata, external_id, notify_on_close and initial_value.
  • Pick the right reply to a view_submission (empty 200, response_action update, push, clear) versus a block_actions click in a modal.

Key terms: ephemeral message (visible to one user, not persisted); scheduled message (posted later by Slack at post_at); view stack (up to three views in one modal); private_metadata (hidden string carried between views); response_action (the acknowledgement field that changes the modal after a submission).

Key facts

Ephemeral delivery
Detail
Not guaranteed; user must be active and a channel member
Ephemeral persistence
Detail
Gone after reload or session; not across desktop and mobile
One-to-one DM
Detail
conversations.open with one user, scope im:write
Scheduling window
Detail
Up to 120 days in advance
Editing a scheduled message
Detail
Delete it, then schedule a new one
Home tab deep link
Detail
slack://app?team={TEAM_ID}&id={APP_ID}&tab=home
View stack size
Detail
Up to 3 views
trigger_id lifetime
Detail
Expires 3 seconds after it is sent
private_metadata
Detail
Up to 3000 characters, hidden, returned on submit and actions
Sources for this section (6)
  • Why is an ephemeral message a poor place for a delivery receipt the manager must find later?
  • When should an app use `external_id` instead of the payload's `view.id`?
  • How does an app remove pending scheduled messages whose IDs it didn't save?
  • Why can't a fourth step be pushed onto a modal that already shows two pushed views?

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

Practice for the Slack Developer exam