Free Salesforce Slack Developer Practice Test Questions
134 questionsUpdated 13-Nov-20269 topics
Preparing with this Salesforce Slack Developer practice test is essential to ensure success on the exam. It lets you get familiar with the Salesforce Slack Developer question format and identify your strengths and weaknesses, so you can maximise your chances of passing the Salesforce certification exam on your first attempt. Start with the free Salesforce Slack Developer - Slack-Dev-201 sample questions below, or use the timed simulator for full exam practice.
Surveys from different platforms and user-reported pass rates suggest Salesforce Slack Developer - Slack-Dev-201 practice exam users are ~30-40% more likely to pass.
TopicDesign the Interactive Flow of Your App
Question 1Choose 1
Which element type would you use inside a block to collect free-text input in a modal?
Correct answer:
B. plain_text_input
Explanation:
The question asks which Block Kit element type should be used inside a block to collect free-text input in a modal. In Slack's Block Kit framework, modals are built using input blocks, and the element placed inside an input block determines what kind of data the user can provide.
Correct Answer: B. plain_text_input – plain_text_input is the Block Kit element designed specifically for collecting free-form text from users. It is used inside an input block and supports features like multiline, min_length, max_length, placeholder, and dispatch_action. When the user submits the modal, the entered text is returned in the view_submission payload. This makes it the only element among the options capable of capturing unrestricted, user-typed text.
Why Other Options Are Incorrect:
A. button – A button is an interactive element that triggers an action when clicked. It does not collect any text input from the user. Buttons are valid only inside section or actions blocks, not as data-entry elements.
C. static_select – A static_select is a dropdown menu that lets users choose from a predefined list of options. It cannot accept arbitrary or free-text input, so it fails the requirement of collecting open-ended user text.
D. overflow – An overflow element is a compact menu (typically shown as a "⋮" icon) that presents a short list of actions or choices. Like static_select, it only allows selection from fixed options and provides no free-text entry capability.
Only plain_text_input satisfies the requirement of capturing unrestricted text typed by the user inside a modal.
B. A focused pop-up view layered over the Slack UI
Explanation
In Slack's Block Kit framework, surfaces represent the visual areas where apps interact with users. A modal is a focused pop-up window that overlays the Slack client interface. Modals are primarily designed to collect structured inputs, display detailed context, or guide users through interactive workflows without requiring users to leave their current channel or conversation. They are UI surfaces, not background processes or authentication mechanisms.
Why the other options are incorrect
A. Background scheduled job – A background scheduled job refers to asynchronous server-side processing or scheduled tasks. It is unrelated to Block Kit's front-end UI surfaces and does not represent a visual interface for users.
C. A type of OAuth token – OAuth tokens, such as bot or user tokens, are used for authentication and API authorization. They control access to Slack APIs and resources rather than defining visual user interface elements.
D. Workspace-wide announcement banners – Announcement banners are administrative or messaging features used to communicate information across a workspace. They are different from Block Kit modals, which are interactive UI surfaces that apps can invoke dynamically.
Official References
Slack API Surfaces - Modals – Official Slack documentation describing modals as focused views for interactive forms and structured content above the main Slack interface.
Block Kit Overview – Official Slack documentation describing Block Kit as a UI framework for building Slack app surfaces such as Messages, Home Tabs, and Modals.
Question 3Choose 1
You are building an app that allows users to request changes to the Slack workspace through a modal. A user can launch the modal by selecting "Request Changes" from the global shortcuts.
After a user clicks the shortcut, what important piece of data should your app use from the shortcut invocation or interactive action payload to open the modal?
Correct answer:
D. trigger_id
Explanation
When a user interacts with a Slack shortcut, slash command, or interactive UI component such as a button or menu, Slack sends a payload to the app containing a temporary trigger ID called trigger_id. To open a modal, the app calls the views.open API method and provides this trigger_id. The trigger_id authorizes the modal-opening action and is short-lived, so it must be used within 3 seconds of receipt. Therefore, trigger_id is the required value for opening a modal.
Why the other options are incorrect
A. token – The token parameter is associated with request verification and older Slack authentication mechanisms. It is not the value required by views.open to open a modal. Slack's current request verification approach uses signing secrets and signature headers.
B. response_url – The response_url is a temporary webhook URL used to send responses or follow-up messages associated with an interaction. It does not provide the authorization context required to open a modal with views.open.
C. callback_id – The callback_id is a developer-defined identifier used to associate an interaction or view with application logic. It identifies context but does not authorize or initiate the opening of a modal.
Official References
Slack API - views.open Method – Official Slack documentation explaining that views.open requires a trigger_id generated by a user interaction.
Slack API Surfaces - Modals – Official documentation describing how applications open interactive modal views using a trigger ID.
Question 4Choose 1
What are 'slash commands' used for?
Correct answer:
B. Letting users trigger app functionality by typing a command starting with '/'
Explanation:
The question asks about the purpose of slash commands in Slack. Slash commands are an interactivity feature that lets users invoke an app's functionality directly from the message input box by typing `/` followed by a command name, such as `/remind`, `/poll`, or `/ticket`. When a user sends a slash command, Slack sends an HTTP POST request to the URL configured by the app developer. The request includes information such as the command name, arguments, user, team, channel, and response URL. The app can then process the request and respond with a message, initiate a workflow, or use the interaction context to perform another supported action. Therefore, slash commands are a standard way for users to trigger app functionality on demand.
Why Other Options Are Incorrect:
A. Encrypting messages – Slash commands are not an encryption mechanism. Encryption protects the confidentiality of data, while slash commands provide a way for users to invoke application functionality.
C. Changing a workspace's theme – Workspace themes are managed through Slack's user interface and preferences. Slash commands are designed to trigger application functionality, not manage workspace appearance.
D. Deleting channels – Slash commands do not inherently delete channels. Channel administration and deletion are controlled through Slack's administrative features and appropriate API permissions.
Reference:
Slack API Documentation – Slash Commands – Official Slack documentation explains that slash commands allow users to invoke app functionality by typing a command beginning with `/` and describes the request payload and response mechanisms.
TopicTools
Question 5Choose 1
Your growing HR team wants to send newsletters regularly to specific regional Slack channels. They are
unable to automate the process themselves.
How can Block Kit Builder help your HR team?
Correct answer:
B. It makes it easier to design and prepare a message before sending it to a channel.
Explanation:
The question describes an HR team that wants to send newsletters regularly to specific regional Slack channels but cannot automate the process themselves. The question asks how Block Kit Builder can help them. Block Kit Builder is a visual prototyping tool provided by Slack that lets users drag and drop Block Kit elements (sections, dividers, images, buttons, inputs, and more) into a layout and see a live preview of how the message will look in Slack. As users build the message, the tool generates the corresponding JSON payload in real time, which can then be copied and used in an app or pasted into a message-sending tool. This makes it significantly easier for non-developers, like an HR team, to design and prepare a message before it is actually sent to a channel, without needing to write code or hand-craft JSON from scratch.
❌ Why Other Options Are Incorrect:
A. It lets you save and organize the message templates you use most often. – This is false. Block Kit Builder does not provide a template library or save/organize feature; users typically copy the generated JSON and store it elsewhere.
C. It helps you test your message interactivity flows from end-to-end. – This is false. Block Kit Builder previews the visual layout of blocks, but it does not execute or test end-to-end interactivity flows such as button clicks triggering app logic.
D. It can automatically convert a word processor document into Block Kit without knowledge of JSON. – This is false. Block Kit Builder requires users to assemble blocks manually (or paste existing JSON); it does not import or convert word processor documents automatically.
📚 References:
Slack API Block Kit Builder documentation – Describes the tool as a visual prototyping environment for designing and previewing Block Kit messages while generating JSON.
Question 6Choose 1
What is the purpose of the Slack MCP plugin mentioned in the developer docs?
Correct answer:
A. To aid agent-assisted development workflows
Explanation:
The question asks about the purpose of the Slack MCP plugin mentioned in the developer docs. MCP stands for Model Context Protocol, an open standard that allows AI agents and LLM-powered tools to connect to external services and data sources in a structured way. The Slack MCP plugin exists to expose Slack's developer capabilities to these agentic tools, enabling agent-assisted development workflows. In practice, this means an AI coding assistant or agent can interact with Slack's platform — for example, to help scaffold apps, look up API methods, manage app configuration, or assist with building and deploying Slack apps — through the standardized MCP interface rather than through manual, ad-hoc integrations.
.
❌ Why Other Options Are Incorrect:
B. To manage billing – This is false. Billing and workspace administration are handled through Slack's admin and billing interfaces, not through an MCP developer plugin.
C. To replace the Slack CLI – This is false. The Slack CLI remains the official tool for app development, and the MCP plugin complements rather than replaces it.
D. To handle OAuth exclusively – This is false. While OAuth and authentication may be involved when an agent connects, the plugin's broader purpose is enabling agent-assisted development, not handling OAuth exclusively.
📚 References:
Slack Developer documentation on the Slack MCP plugin – Describes the Model Context Protocol integration as a way to enable AI agents and assistants to work with Slack's developer platform.
Question 7Choose 1
Where would a developer look first to start building an AI agent for Slack?
Correct answer:
A. docs.slack.dev/ai/agent-quickstart
Explanation:
The question asks where a developer should look first to start building an AI agent for Slack. Among the four options, docs.slack.dev/ai/agent-quickstart is the only one that is a developer documentation resource specifically dedicated to building AI agents for Slack. The page is titled "Quickstart: Creating a Slack agent" and walks a developer through the entire process: installing the Slack CLI, authenticating with a workspace, scaffolding a project from the Support Agent sample app (Casey), choosing an agent framework (Claude Agent SDK, OpenAI Agents SDK, or Pydantic AI), configuring environment credentials, and running the app with slack run. This is exactly the "look first" destination for someone beginning agent development — it combines setup instructions, framework guidance, and next-step resources like the Slack MCP Server integration in one place.
Why Other Options Are Incorrect:
B. slack.com/pricing – This is Slack's pricing and plan-comparison page. It covers subscription tiers, feature limits, billing, and FAQs, not how to build an AI agent.
C. api.slack.com/legal – This is Slack's terms and policies page. It contains legal notices and cookie preferences, offering no developer or agent-building guidance.
D. app.slack.com/marketplace – This is the Slack App Marketplace for finding and installing existing apps. It is aimed at end users, not developers starting an agent project.
📚 References:
Slack Developer Docs, "Quickstart: Creating a Slack agent" – Provides step-by-step instructions for building an AI-powered Slack agent using the Slack CLI, Bolt, and supported agent frameworks (Claude Agent SDK, OpenAI Agents SDK, Pydantic AI).
Question 8Choose 1
What is the relationship between Bolt and the Node/Python/Java Slack SDKs?
Correct answer:
B. Bolt sits on top of the lower-level SDKs, providing higher-level abstractions
Explanation:
The question asks about the relationship between Bolt and the Node/Python/Java Slack SDKs. Bolt is a framework that is built on top of the underlying Slack SDKs for each language, providing higher-level abstractions that make it faster and simpler to build Slack apps. In other words, the SDKs handle the low-level details of communicating with Slack's APIs — constructing HTTP requests, managing tokens, handling WebSocket connections for Socket Mode, parsing responses, and so on — while Bolt wraps those SDKs with an ergonomic, event-driven programming model. This layered design means a Bolt developer writes listeners like app.command(), app.action(), app.view(), and app.event() instead of manually handling raw HTTP requests and payload parsing.
❌ Why Other Options Are Incorrect:
A. They are unrelated products – This is false. Bolt is explicitly built on top of the Slack SDKs and depends on them at runtime; they are tightly related, not independent.
C. The SDKs replace Bolt entirely – This is false. The SDKs and Bolt serve different layers. The SDKs are the foundation; Bolt is the higher-level framework layered above them. Neither replaces the other.
D. Bolt only works without any SDK installed – This is false. Bolt requires the underlying SDK to function — for example, Bolt for Python installs and uses slack_sdk, and Bolt for JavaScript uses the Node Slack SDK packages. Bolt cannot operate without its SDK dependency.
📚 References:
Bolt for JavaScript documentation – States that Bolt is built on top of the Slack SDK for Node, using packages such as @slack/web-api and @slack/socket-mode.
Question 9Choose 1
Which three languages have official Bolt framework implementations?
Correct answer:
A. Python, JavaScript, Java
Question 10Choose 1
Which statement is true about using Socket Mode for a Slack application?
Correct answer:
B. Socket Mode listens to a non-static WebSocket URL that is created dynamically as the app is running.
Explanation
Socket Mode allows a Slack app to receive events and interactive payloads over a WebSocket connection instead of a public HTTP endpoint. When the app starts and calls apps.connections.open, Slack returns a WebSocket URL that is unique to that session — it is not a fixed or permanent address. Because the URL is generated fresh each time the app connects (and can change on reconnect), it is non-static and is created dynamically as the app is running. This makes option B the correct answer.
Why the other options are incorrect:
A. Socket Mode listens to a static WebSocket URL that is created dynamically as the app is running – The phrase "static WebSocket URL" is contradictory and incorrect. A static URL implies a fixed, unchanging endpoint, but Socket Mode URLs are unique per session and are not reused as a permanent address.
C. Socket Mode listens to a non-static WebSocket URL that is created at runtime – While "non-static" and "created at runtime" are both accurate descriptions, this option is incomplete compared to option B. The official Slack documentation emphasizes that the WebSocket URL is created dynamically while the app is running, and the wording in option B aligns more precisely with the documented behavior of the apps.connections.open flow.
D. Socket Mode listens to a static WebSocket URL that is created at runtime – This is incorrect because it combines two contradictory ideas. A URL cannot be both "static" (fixed and unchanging) and "created at runtime" in the way Socket Mode operates. Socket Mode URLs are non-static and session-specific.
Reference:
Slack Developer Documentation— Socket Mode overview, describing how apps call apps.connections.open to obtain a WebSocket URL and how that URL is dynamically generated per session.
Experience the real exam before you take it
Our timed 2026 Salesforce Slack Developer practice test mirrors the format, number of questions and time limit of the official exam.
The #1 challenge isn't just knowing the material, it's managing the clock. The simulation builds your speed and stamina, so you walk in knowing exactly what to expect.
Build exam stamina: stay focused and accurate for the entire duration.
Master time management: learn to pace yourself so you never have to rush.
A new test every time: a randomised set from the Salesforce Slack Developer - Slack-Dev-201 question pool on every attempt.
Unlimited attempts: practice until you're 100% confident, not just once.
Exam Domains Covered in This Practice Test
This free Salesforce Certified Slack Developer practice test is mapped to
the official Salesforce exam blueprint (Slack-Dev-201).
Every question in this practice bank is tagged to one of the nine weighted
domains below, so you can identify which areas need more study time before
exam day.
Slack-Dev-201 Exam Blueprint Coverage
Exam Domain
Official Weight
Approx. Our Questions
What It Tests
Design the Interactive Flow of Your App
20%
~17 questions
Building common workflows (business processes) for Slack apps,
recommending app architecture that interacts effectively with Slack,
handling user entry points (webhooks, slash commands, shortcuts,
interactive components, bots), and building UIs with Block Kit.
Design for Security
19%
~13 questions
Security design principles, OAuth installation flow, requesting
appropriate scopes and tokens, securing app communication (request
signature verification), and safe storage of data and tokens.
Design Your Workflows: Spotlight on Slacks APIs
13%
~19 questions
Selecting the right API for use cases, implementing Web API and
Events API, distinguishing Socket Mode vs. HTTP-based event delivery,
handling rate limits, and differentiating current vs. legacy API
terminology.
APIs for Managing Your Slack
12%
~14 questions
Admin API for workspace/org administration, SCIM API for user and
group management, Audit Logs API for monitoring, Discovery API for
compliance and eDiscovery, and required user roles for token generation.
Design for Scale
9%
~6 questions
Enterprise Grid architecture, Enterprise Grid Sandbox characteristics,
Slack Connect shared channels, and designing apps that match Enterprise
Grid features and roles.
Design a Great User Experience
8%
~14 questions
Building user experiences aligned with Slacks design principles,
Block Kit UI patterns, and making work life simpler, more pleasant, and
more productive.
Apps in the Slack Platform
7%
~11 questions
Automation strategies for workspace operations, when to use App Home
vs. modals vs. messages, and identifying when to set up a team for
collaborative app development.
Distribute Your App
7%
~15 questions
Single-workspace vs. distributed vs. Marketplace apps, sharing apps
across workspaces, Slack Marketplace submission process, and distribution
best practices.
Tools
5%
~25 questions
Bolt development framework, Block Kit Builder, Slack Developer Tools
(SDT), and recommending when to use sample code and external resources.
What You Will Learn by Practicing Here
Design complete interactive flows : the largest domain
at 20%, covering entry points, Block Kit UI construction, and workflow
patterns that match Slack architecture.
Implement OAuth 2.0 installation : requesting the right
scopes, managing bot vs. user tokens, and verifying request signatures with
HMAC-SHA256.
Choose between Socket Mode and HTTP event delivery :
and explain why one fits a given use case better than the other.
Implement rate limit handling with retry logic :
processing rate limits across the Slack platform without breaking your app.
Configure Enterprise Grid Sandbox testing : validating
features in an environment that mirrors Enterprise Grid production.
Use Admin, SCIM, Audit Logs, and Discovery APIs :
automating workspace administration and compliance workflows.
Submit an app to the Slack Marketplace : understanding
the submission process, best practices, and expectations.
How to Use This Practice Test
Start with Interactive Flow and Security (39% combined).
Take the untimed questions tagged to "Design the Interactive Flow of Your App"
and "Design for Security" first. These two domains alone account for nearly
two-fifths of the exam.
Audit your API selection logic. For every question in
"Design Your Workflows: Spotlight on Slack APIs," ask yourself: could I
explain why Web API fits here but Events API fits there? If not, revisit the
Slack API documentation before moving on.
Distinguish Admin API, SCIM, Audit Logs, and Discovery.
The "APIs for Managing Your Slack" domain tests whether you know which
management API solves which administrative problem. Practice identifying
the exact API method name for each scenario.
Test your scale knowledge. For "Design for Scale"
questions, verify you can describe Enterprise Grid Sandbox characteristics
and when Slack Connect support is required, not just what they are, but
when to recommend them.
Run the timed simulator. Switch to the timed simulator to build stamina for 60 questions in 90 minutes.