Why we migrated to a Slack Workspace App, before its release

Slack workspace tokens were released last year, however they still remain in “developer preview”. The new features that come with this token type are a welcome upgrade from the traditional way of building Slack apps, working with them feels right. For us, some key features of the new token type were:

  • Being able to invite your app to Direct Message conversations
  • Subscribing to events only from a specific channel
  • Installing the app Workspace wide, not only to the user that installed it
  • Progressive permissions
  • And many more

These features, combined with the recent Message Actions, enable developers to build more robust and engaging applications.

However, the downside is that you cannot submit your app to the Slack app store yet. This is where most developers would shy away, but in building Daily Fire we decided to migrate to the new token type anyway. As Wayne Gretzky might say: “skate to where the puck is going to be, not where it has been”.

🔥 Why we migrated

We first found out about the cool features enabled by the workspace token when playing around with the Asana Slack app and inviting it to a Direct Message conversation. This was an ‘ah-ha’ moment for us, as being able to share music in a private conversation is core to what Daily Fire stands for: music shared and celebrated by friends and colleagues.

Another reason we migrated to the new workspace token was a technical reason. Previously, Slack only allowed you to subscribe to a message.channels event, and in doing so you received all messages from every public channel on that Slack team 😱. We setup an extra system to filter incoming messages from Slack teams, filtering out the messages that were not posted in a Daily Fire enabled channel. Now with the new workspace token, apps can request permissions on a per channel basis, meaning that you can now subscribe to messages only posted in channels that the app has been invited to. This is much simpler and more secure! We were able to simplify our UX and our backend by retiring the filtering system, cutting down on technical overhead and $$$!

Message Actions are not Workspace App specific, but they are a recent addition available to Slack developers that is augmented by the use of Workspace tokens. These actions enable quick access to some of the core features of your app. For DF, we were able to retire an automatic bot reply in favor of Message Actions. This cut down on the noise created by the bot while still enabling quick access to frequent actions such as ‘Like Track’. We were even able to retain the work we did on the bot reply and added a ‘More Info’ message action to trigger the reply instead. This lead to a much quieter, and therefore less annoying Slack bot while still retaining all the features we had built in!

Some other nice features of using the new token type are:

  • Greater discoverability as apps are now featured in the sidebar
  • Nicer settings panel
  • Improved security with expiring tokens

🔥 Thoughts on Workspace apps

We found that the migration from a traditional Slack app to a workspace app was mostly removing code and simplifying things. We think that’s a telling sign that the new token type is much nicer to work with!

Although workspace apps don’t have a release date for the app store yet, we have heard that it will be relatively soon. They are still able to be installed, just not submitted and featured on Slack’s app store, which is a bit of a bummer as it significantly limits your app’s exposure.

We are eager for Slack’s full release of workspace apps and will be first in line to get onto the app store!

If you have any questions about Slack development or workspace tokens, please leave a reply as we would be happy to help 😊

If you share music in your Slack team, check out Daily Fire — a Slack app for every music lover

Peace, Love & 🔥