Apps in the Slack Platform7% of the exam
Automation options: Workflow Builder, custom steps and webhooks
How to pick the lightest tool that meets an automation requirement: no-code Workflow Builder, a custom workflow step (Slack-hosted Deno Slack SDK or self-hosted Bolt), a one-way incoming webhook, or a full app built on the Events API and Web API.
Recommend how to automate and/or enhance operations on a Slack workspace.
~8 min read · 7 practice questions ·
What the exam expects
- Recommend Workflow Builder when built-in triggers and steps (forms, messages, buttons, connectors) meet the requirement and nobody needs to write code.
- Recommend a custom workflow step when a workflow needs logic or a system Slack's steps do not cover, and choose between the Deno Slack SDK (Slack-hosted) and Bolt (self-hosted).
- Know what custom steps cannot do: Free plan development, importing whole coded workflows, event-based runs, Admin/SCIM/Audit Logs APIs, public distribution and Slack Marketplace listing.
- Recommend an incoming webhook for one-way posts from an external system, and a full app (Events API plus Web API) when Slack activity must be heard and answered.
Key terms: Workflow Builder (no-code workflows from triggers and steps); custom workflow step (an app function offered as a Workflow Builder step); incoming webhook (a URL that posts JSON as a message to one channel); Events API (Slack pushes activity to your app); Web API (methods your app calls to read and act).
Key facts
Who builds workflows
- Detail
- Anyone on a paid plan except Frontline Members, unless admins restrict it
Step hosting
- Detail
- Deno Slack SDK steps are Slack-hosted; Bolt steps are self-hosted
Free plan
- Detail
- Custom workflow steps cannot be developed on a Free plan
Coded workflows
- Detail
- Only custom functions come into Workflow Builder as steps, never whole workflows
Finishing a step
- Detail
complete({ outputs })orfail({ error }); otherwise "In progress"
Step app distribution
- Detail
- No public distribution, no Marketplace; share code as a public repository
Steps from Apps
- Detail
- Retired September 26, 2024, with
workflow_step_execute
Incoming webhook scope
- Detail
- One channel; channel, username and icon cannot be overridden
Webhook trigger limits
- Detail
- Paid plans; up to 20 flat variables (no nested JSON); one request per second
Join greeting
- Detail
member_joined_channelneeds bot membership;groups:readfor private channels
Sources for this section (7)
- Create a workflowslack.com (opens in a new tab)
- Workflow stepsdocs.slack.dev (opens in a new tab)
- Bolt custom stepsdocs.slack.dev (opens in a new tab)
- Steps from Apps retirementdocs.slack.dev (opens in a new tab)
- Incoming webhooksdocs.slack.dev (opens in a new tab)
- Webhook-started workflowsslack.com (opens in a new tab)
- member_joined_channeldocs.slack.dev (opens in a new tab)
- When is an incoming webhook the right tool rather than an app?
- Why can't a webhook-triggered workflow read the fields of a nested JSON object?
- Which framework gives Slack-hosted custom steps with built-in datastores?
- Why can't a team list its workflow-step app in the Slack Marketplace?
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