The Slack platform lets you extend, expand and automate your workspaces.
🔹 What is the Slack Platform?
The Slack Platform is a powerful ecosystem that enables developers and teams to build custom tools and integrations that enhance collaboration, streamline workflows, and automate repetitive tasks within the Slack workspace. It provides APIs, SDKs, and UI components to create bots, apps, automations, and integrations that deeply embed into the Slack experience.
🔹 Two Ways to Automate or Enhance Operations on Slack
- Workflow Builder
Slack’s no-code Workflow Builder allows users to automate routine processes by creating custom workflows that can send messages, collect information, and integrate with external tools—without writing any code. - Custom Slack Apps and Bots
Developers can create custom apps using Slack APIs to handle tasks like responding to commands, posting updates, triggering actions based on events, or integrating with external services (e.g., CRMs, ticketing systems).
🔹 Five Possible Actions a Slack App Can Perform
- Send Messages: Post messages to channels, groups, or DMs using the
chat.postMessage
API. - Respond to Slash Commands: Execute logic or return information based on user-initiated commands.
- React to Events: Monitor activity such as message posts, reactions, or user status updates via the Events API.
- Use Modals and Forms: Collect user input or provide interactive workflows using modals and form views.
- Schedule Messages: Use the
chat.scheduleMessage
API to deliver updates or reminders at specific times.
🔹 Slack App Surfaces (User Interface Areas)
- Home Tab: A persistent, customizable tab in the Slack app sidebar for dashboards, overviews, and navigation.
- Modals: Pop-up windows used for forms, confirmations, or collecting structured data.
- Messages: The most common surface, allowing apps to send messages in channels or DMs, with interactive elements like buttons and menus.
- App Home Messages: Messages shown directly in the App Home view.
- Slash Commands: Typed commands (e.g.,
/task
) that trigger app actions. - Workflow Steps: Custom steps that can be added into Slack’s Workflow Builder for low-code automation.
🔹 Recommended Surfaces by Use Case
Use Case | Recommended Surface |
---|---|
Daily summary or dashboard | Home Tab |
User input or multi-step form | Modal |
Quick alerts and notifications | Messages |
Shortcuts and triggers | Slash Commands / Message Buttons |
Guided workflows with inputs | Workflow Steps + Modals |
🔹 Setting Up a Team to Collaborate on a Slack App
- Create a Slack App in the Slack API Dashboard.
- Assign Roles: Define who will handle development, design, content, and testing.
- Use App Manifests: Easily share app configuration and permissions with teammates.
- Use Version Control: Host your app code in a shared Git repository for collaboration.
- Enable Developer Mode: Allow team members to install and test the app in a development workspace.
- Use Slack’s App Management Tools: Add collaborators to the app and control access to tokens, logs, and settings.
âś… Verified: Setting Up a Team to Collaborate on a Slack App
- Create a Slack App
âś… Correct. You start by creating the app via the Slack API Dashboard. - Assign Roles
âś… Correct. It’s important to define clear responsibilities like:- Developer (writes code)
- Designer (handles UI/UX in modals or home tabs)
- Content Creator (writes copy or messages)
- Tester (ensures functionality across use cases)
- Use App Manifests
âś… Correct. Manifests are YAML or JSON files that describe your app’s configuration and can be versioned, shared, and reused across workspaces. - Use Version Control
âś… Correct. Tools like Git (GitHub, GitLab, Bitbucket) help maintain collaboration and history of changes. - Enable Developer Mode
âś… Correct. In Slack’s settings, enabling Developer Mode allows easier inspection of app interactions, message payloads, and testing workflows. - Use Slack’s App Management Tools
âś… Correct. You can invite collaborators in the app’s management dashboard under the Collaborators section, giving them controlled access to manage or view the app’s details, logs, scopes, and tokens.
đź§ Practice Your Skills
To test your understanding, try solving real-world sample exam questions or scenarios related to Slack development. This will help reinforce your learning and prepare you for interviews, certifications, or practical implementations.
The Home tab is the place for summaries and quick access to user specific content. Messages are the best way to keep a team of developers informed of notifications. Continue through this lesson to learn more about App surfaces.
Quiz Question:
You have been tasked with developing a Slack app that helps developers monitor internal services. The project manager has provided the following requirements:
- Each developer should have their own summarized view of the services.
- All developers should be able to review service notifications as they come in.
Which Slack app surfaces would be most appropriate for each requirement?
A. Use the Messages surface for both summarized views and service notifications.
B. Use the Home tab for summarized views, and Messages for service notifications.
C. Use the Messages surface for summarized views, and Home tab for service notifications.
D. Use the Home tab for both summarized views and service notifications.
Correct Answer: âś… B. Use the Home tab for summarized views, and Messages for service notifications.
Explanation:
- The Home tab is ideal for personalized and persistent UI elements, like a developer’s own service summary.
- Messages are better suited for real-time updates or alerts, making them perfect for service notifications sent to a channel or user.