Building more intricate workflows in Slack with Dialogs

Using Dialogs, you can build forms in Slack that do all sorts of things

Let’s say you want to build a new feature that helps people complete a multi-step task using your app. Dialogs are now here to make that possible — all without relying on a bot or having to post multiple messages to a Slack channel.

Dialogs are new interactive modals that can capture multiple pieces of information and send them directly to your app. You can use them to build a robust form inside Slack, or simply collect a single line of text.

The anatomy of a dialog

Dialogs can contain one, or several, types of inputs. You can choose from three in this initial release: text inputs (for quick single-line text), text areas (for longer free-form text) and static dropdown menus (for predefined lists).

Whereas features like message buttons or menus let people make quick selections and approvals, dialogs open up the opportunity to extend your app’s workflows further, without introducing friction to your UX.

A single dialog can accomplish what used to mean directing someone into a separate browser window, or engaging them in back-and-forth interactions within a Slack channel. You could build an app that lets people file a help desk ticket, complete a survey, manage approvals, take attendance, assign project management tasks, and much more.

Dialogs are dynamically defined, so you can pre-populate fields for quicker editing and submission. For instance, a project management app could pre-fill a ticket description pulled from a company’s existing tracker.

Let’s look at how Slack apps are using dialogs today.

Create a project management task with Wrike

Wrike, an enterprise project management suite, uses dialogs to allow customers to create tasks directly from Slack.

Wrike users can add a title, choose a due date, and add a description, and assign owners to tasks, without ever leaving the Slack interface.

Create and run customized polls in Slack

Previously when people wanted to use the Slack app Polly to create a poll, they’d need to remember a bulky slash command: /polly “Option A" “Option B" “Option C”.

Now people can use dialogs with Polly to quickly build out custom polls in Slack. And when taking a poll, participants can use dialogs to answer open-ended questions, add their own fields for additional information, and comment on their team’s polls.

Getting started with dialogs

Review our UX guidelines for best practices about using dialogs in your own app. You can also use Walkie, a Slack app prototyping tool, to experiment with dialogs design for your next feature.

When you’re ready to build, you can use our SDKs for Node.js and Python, which work well with dialogs today, and read our documentation for full details on how to get started.

Learn more about dialogs on our API site, check out our Python tutorial on dialogs, or use our updated Node.js module for interactive Slack messages. If you have questions, our developer support team is all ears!