Developers

Sharpen your Slack development skills through our new sample Tasks app

Go far beyond “hello world” by diving into our open-sourced, fully fleshed out sample app for Slack developers

Author: Colm DoyleSeptember 15th, 2021Illustration by Giacomo Bagnara

Whether you’re building a Slack App for the very first time, or you’re a seasoned pro at it, Bolt is one of the quickest ways to get up and running. Bolt is a server-side framework created by Slack that offers a standardized, high-level interface to simplify and speed up development of Slack apps using one of our officially supported languages: Javascript, Python and Java.

By design, Bolt is a flexible framework, built to fit into your way of coding. But if you’ve never used it before, you might ask yourself what’s the best way to structure your code so that you have a solid foundation to build your app upon?

Introducing Tasks App

Today we’re introducing a new code sample to answer that question. One that shows you what an entire joined up codebase can look like and not just a snippet that illustrates a particular feature. We call this new sample Tasks App.

Tasks App is very opinionated, with a specific folder structure and approach to separation of concerns. Our aim with this structure is to emphasize readability and help establish consistent patterns, with a particular focus on building a testable app. We’re starting with NodeJS, but plan to add both Python and Java versions that are just as opinionated.

And whilst we believe this opinion is well informed, we also want to hear from you. We encourage you to:

  • Contribute to the development of the Tasks app
  • Open issues and pull requests where you believe your approach makes more sense
  • Ask about anything we haven’t covered or highlight where we’ve missed the opportunity to include a useful library that makes Slack App development easier

Tasks App in Node already supports most of our major features, including Shortcuts, Modals, App Home and more. But it does so in a practical way that adds features that make sense in the context of a Slack first to-do list app. As we add new features to the Platform, we’ll also add them to Tasks App, so you’ll have access to a constantly evolving reference implementation to see what we consider best practice for that feature.

What’s to come for Tasks App

Whilst the Tasks App will never match the likes of Jira Cloud, Asana or Workstreams in terms of the depth and breadth of functionality, it will have features that make sense for a simple todo list app. The focus of adding features will be how useful they are in that context, not whether there’s a particular API feature to demonstrate, meaning it won’t leverage every part of the API. But that’s part of the journey and how we hope to demonstrate real world usage of our Platform.

In addition to the codebase being available on GitHub with a permissive open source license, every two weeks we’ll release video walkthroughs of parts of the codebase where we discuss the rationale behind our choices and explanations of how to incorporate features of the API into your App, all on our YouTube channel.

We hope this new type of sample makes your development process simpler, more pleasant and more productive – and we can’t wait to see what we’ll build together, so head over to the GitHub repository and check it out!

Was this post useful?

0/600

Awesome!

Thanks so much for your feedback!

Got it!

Thanks for your feedback.

Oops! We're having trouble. Please try again later!

Keep reading

Developers

Slack at TrailblazerDX 2024

Catching up with developers about generative AI, new tooling, and deepening the ties between Salesforce and Slack

Developers

Building on Slack Just Got a Lot Easier — New Tools for Developers and Admins Available Today

Self-serve sandboxes, custom functions for Bolt, and improved integration with your software stack make building for Slack better than ever

News

Level up your automation with 65 new connectors in Workflow Builder

Introducing new ways to connect partner apps to automate work across your tools with clicks not code

Collaboration

Salesforce marketing teams use automation to fuel productivity

Workflows help marketers get their campaigns to market faster