Bringing bot interaction to a new level

How we used Slack’s most recent updates to interactive messages to massively improve our bot’s interaction design

Workstreams.ai
Slack Platform Blog
4 min readMay 9, 2017

--

Assigning a team member to a task using the new message menus

The most recent big update to Slack’s interactive messages was the introduction of message menus — they are like the dropdown menus you know, but on steroids.

When we built the Workstreams Slack app, a task manager seamlessly integrated into your team’s chat, users had to go through a long series of buttons to assign a team member to a task they created. Now, message menus allow you to choose an assignee straight away.

Workflows for assigning a team member to a task

Buttons enable users to make precise actions, but to perform a more nuanced interaction they would need to navigate through a complex button tree. Message menus condense these buttons into a single UI element, and allow app builders to simplify complex workflows.

Besides valuable usability improvements, message menus also open up many possibilities for completely new interactions — for example, to search your team’s tasks for the next one to take on.

Here are a few ways we used message menus and other interactive platform features to make big improvements to our app’s capabilities.

Making it simple to create, assign, and triage tasks from Slack

When someone in Slack uses the slash command /plan, they can create a new task in a channel. The Workstreams Slack app then posts a message representing this task:

/plan creates a task, then everyone in the channel can modify it

This message, which is visible to all members of that Slack channel, contains message menus that can be used to assign a team member, change the status of the task, or add a new label.

With the old button-based workflow, Workstreams’ message had to be ephemeral, meaning only the creator of a task could see that message and modify the task. With message menus, the same message can stay unmodified when making changes to the task, so it can be posted in the channel for anyone to view and edit.

Searching for tasks in a Slack channel

For us, the most amazing possibility opened up by message menus is convenient search.

/tasks reveals a message menu to search for tasks

We used dynamic message menus (which load based on your server’s response) to build a look-ahead search feature that allows users an easy way to find their team’s tasks with a quick /tasks slash command.

Users can select from the most recently updated tasks for quick access, or search for tasks that haven’t been touched for a long time.

The dynamic nature of message menus will allow us to implement an even more sophisticated search in the future — for example, to find tasks that are associated with a certain label.

Updating a task from within Slack is now even easier

Once you find the task that you were looking for, you can update it directly from your conversation with just a couple of clicks.

We also introduced this new search functionality for attaching files to tasks. When you upload a file to the channel, Workstreams will suggest recent and related tasks to attach a related file; or, you can quickly search to pull them up.

Discussing tasks in threads

Did you notice the View Discussion link on the screenshot above? It points you to threaded messages relating to this task, without ever leaving the Slack channel.

Viewing a task in a thread

Whenever a task is created, Workstreams automatically opens a Slack thread for it, which functions as a place to collect activity and comments about that specific task.

The task’s details are always visible in the persistent top message of a particular thread, which is updated every time a task is changed. Now that we’ve implemented message menus, you can even update your task from within its discussion thread in Slack.

This is our favorite example of how independent Slack features can symbiotically work together to create a great user experience.

What’s coming next?

Slack is planning to release text inputs on interactive messages. This will allow for more improvements, such as directly editing a task’s title or description. We are looking forward to implementing these and other features as soon as Slack releases them.

If you haven’t yet, install Workstreams and let us know how you like our latest changes.

--

--