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 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.