4 exciting features for developers from Slack Frontiers 2021

Slack frontiers announced many exciting features this year!

The center of Slack frontiers was workflows. If you haven't heard about Slack workflows yet, be sure to check out my how to use Slack workflows for a quick crash course. Slack mentioned they rewrote the entire platform from scratch to make it catered specifically for no-code, low-code, and developers.

I've been an avid user of Slack since 2014 and started making Slack bots in 2016. So much has changed since I first got started and it looks like 2022 is going to be an exciting time.

Here's the top 4 things I'm most excited about from Slack Frontiers.

1. Slack cli

The Slack CLI is a way to deploy custom code into Slack itself. You heard right. It's a serverless platform for Slack code. The interface is very similar to firebase, cloudflare, fly.io, aws lamba, etc.

slack app create [app-name] [flags]

slack deploy [flags]

slack run [flags]
slack app create [app-name] [flags]

slack deploy [flags]

slack run [flags]

The reason this is so exciting is because it eliminates 3 or 4 steps that used to be tedious. Setting up a server, making sure it doesn't go down, learning Slack APIs to a bunch of unrelated things just to get a simple thing running. You know, basically half of the work melts away.

2. Slack functions

Slack functions are how your code runs on their platform. It can be triggered a number of ways, but I think the most common use-case is going to be from Slack workflows. Similar to Zapier and IFTTT, you can build steps in workflows to connect pieces together.

The functions are defined by giving a name, description with input and output parameters. The parameters can be Slack channel or user ids, text, or even inputs from other steps or functions.

import { DefineFunction, Schema } from "slack-cloud-sdk/mod.ts";

// Function Definition
export const TimeOffSaveFunction = DefineFunction(
"time-off-save",
{
title: "Save a time-off request",
description: "Save a time-off request into a table",
input_parameters: {
...
},
output_parameters: {
...
},
},
import { DefineFunction, Schema } from "slack-cloud-sdk/mod.ts";

// Function Definition
export const TimeOffSaveFunction = DefineFunction(
"time-off-save",
{
title: "Save a time-off request",
description: "Save a time-off request into a table",
input_parameters: {
...
},
output_parameters: {
...
},
},

3. Reusable Slack building blocks

Once you've created a few Slack functions they become building blocks that can be used across your entire Slack workspace. They even work across companies via Slack connections.

Non-developers can now build processes across multiple SaaS products without having involve a developer. So for example, a sales deal could be triggered with a shortcut, send requests to the customer in their own Slack workspace, and finally send a DocuSign to finish up the deal. Other things are easily approving time-off.

Slack functions will be apart of the workflow building blocks.

4. Message metadata - cross app communication

Slack message metadata is a protocol for Slack apps to publish and consume messages from one another. It's the language future apps on Slack will learn in order to speak to one another. It's a structured JSON and seems pretty straight forward.

Really the possibilities seem endless. There are some many business flows that can be optimized by simply tying things together.

How to get beta access

Slack blocks and functions are currently in private beta, but you can apply to get access. You can request to participate in the platform beta on their website.

I hope you're as excited as me for Slack apps to be less complicated and easier to use.

Like this post? Share it

Dan Willoughby

Written by Dan Willoughby

Hey I'm Dan. I'm the solo-founder behind Tellspin which helps dev teams respond to support through Slack. Tellspin takes the guesswork out of who should pay attention to which messages making it easier to focus. You should try out Tellspin and follow me on Twitter