Our new platform is all about:
You'll need to imagine a future for number three, a future where everything your app can do may be recontextualized by others users and developers alike.
Working on this new platform is different from traditional HTTP-based APIs. If you’ve developed for Slack before, you’ll find some things you remember but it’s different enough that we recommend you approach this platform as a beginner. Don’t forget everything you know; you’re going to need your wits about you. Things are just fundamentally different.
Slack is an event-oriented system and the new platform puts your integrations directly into the visible and unseen fabric of what happens every micro-moment on Slack. Now unique capabilities are brought to life at the right time and place. Whether you’re matching messages with certain criteria, monitoring state changes in an external system, executing business logic on a fixed schedule, or triggering on a unique combination of factors you carefully define...
Your app becomes part of the system.
|Functions represent the distinct useful things your integration can do, taking specific inputs and producing defined outputs.|
|Workflows are a sequenced set of steps, interactions, and functions chained together.|
|Triggers are how workflows begin, whether via automation or direct user interaction.|
|Datastores are optional, secure places to stash and retrieve data you need during runtime.|
|Run on Slack lets you optionally execute everything on Slack infrastructure, code and all.|
At this phase of the beta, you the developer are able to produce functions, workflow, and triggers programmatically. Eventually, users will be able to take each capability you offer and remix them with other functions, services, and software providers — making you a kind of platform provider yourself. Welcome to the club!
You might not read all the docs. You may come from the past of developing on Slack in other ways. Maybe you're new and just want someone to cut through the slack. Here's what you need to know.
For now, you need a Slack workspace on a paid plan you can work on. The free tier won't work with these features yet. While in development, you can keep your project mostly to yourself or share it with a close collaborator. If your Slack admin cabal requires approval of app installations, they’ll need to approve what you’re building before it’ll “run” or “deploy” in a managed workspace -- "run" means testing things out from your own computer and "deploy" means using Run on Slack to interpret and execute your instructions in real time.
If this all sounds like work and you just want to have some fun, start with a template and just look for the things you know and love from other languages. You can find your way through this even without knowing what you're doing.
We are heartily working on support for other languages and environments, including using our line of Slack Bolt SDKs to build "remote functions." Stay tuned.
From your first steps in getting started to deploying to production, you'll be interfacing with a command-line interface to build on the beta platform. Good news: modern operating systems like Microsoft Windows, GNU/Linux, and even MacOS offer terminal access, allowing you to use the tools we've crafted specifically for this developer experience.
api.slack.com/appsdoesn’t support configuring future generation apps at this time.
We write most of the documentation with an audience of someone who's never built on Slack before in mind. Of course, if you have developed on Slack before, you're going to arrive with notions about slash commands, bot users, and OAuth.
The features available today are for developers like you. The features of tomorrow expand the narrative to better include and empower everyday users. Keeping in mind how users may one day remix your functions should inform how you approach the new platform.
Take a tour around our 'Hello World' sample app
Use Typescript and Deno to build a time-off approval workflow using our future generation platform.
Learn how to code functions utilizing remote APIs, all neatly sequenced in a workflow. We'll use the GitHub API for this one.
The Welcome Bot helps create, store and send friendly welcome messages when a user joins a channel.
Learn the ropes of building a Slack app before you dive into development.