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

News

New Slack product innovations unveiled at Dreamforce

Building a digital headquarters that enables more flexible, inclusive and productive ways of working

Developers

Co-founders of Grow on redefining feedback in a new age of work

In this edition of our On the Platform interview series, we talk with the co-founders of a Slack app that helps teams cultivate meaningful feedback

Collaboration

How shared purpose drives collaboration

Dig deeper to rally your troops, especially during challenging times

Collaboration

How to reap the benefits of intuitive collaboration software

Easily keep tabs on projects, increase employee engagement, improve communication and create more efficient workflows