Last week Slack released the long-awaited Threads feature, which helps teams organize and manage the variety of conversations that happen in channels every day. For bot builders, the update was supported by Slack’s API from day one. For anyone building Slack bots, threads unlock a new engagement model that enables new workflows and better ways to converse with users — giving bots a non-intrusive, contextual, and app-like experience. Here we’ll explore the possibilities and show a few examples.
Contextual bot engagement
Context is a key part of any successful conversation, and in many cases, the anchor of our understanding. Threads help put bot conversations in context so they aren’t dropping into the middle of conversations, confusing everyone.
[aditude-amp id="flyingcarpet" targeting='{"env":"staging","page_type":"article","post_id":2160590,"post_type":"guest","post_chan":"none","tags":null,"ai":false,"category":"none","all_categories":"bots,mobile,","session":"B"}']Imagine a HR bot that answers user questions in the #hr channel. Users post questions in the channel, and the bot answers these questions when it knows the answer.
AI Weekly
The must-read newsletter for AI and Big Data industry written by Khari Johnson, Kyle Wiggers, and Seth Colaner.
Included with VentureBeat Insider and VentureBeat VIP memberships.
Before threads, bots didn’t have an easy way to provide contextual interaction in this situation. The conversation would look something this.
As you can see, the flow of the interaction is disconnected and difficult to follow. The problem becomes much harder in real life when many people are asking multiple questions at the same time.
Now with threads, the bot can create a thread and reply to the question itself, connecting the answers to the context of the question:
Unobtrusive interactions
As you can see in the example above, threads created not only a contextual conversation, but also a non-intrusive interaction. Bots can go back to any previous messages and reply to them in a thread, skipping the main conversation.
[aditude-amp id="medium1" targeting='{"env":"staging","page_type":"article","post_id":2160590,"post_type":"guest","post_chan":"none","tags":null,"ai":false,"category":"none","all_categories":"bots,mobile,","session":"B"}']
Threads come in handy when it comes time to configure a bot, where everything can happen in a thread, instead of cluttering up a channel’s conversations.
Let’s look at another example. Imagine a bot that recognized clients’ names in the #sales channel and augmented the conversation with relevant information from your client relationship management (CRM) system to help salespeople take action when needed. This could be a very intrusive engagement without threads, but it’s a great tool when contained within a thread’s bounds.
This is how it might look before threads.
[aditude-amp id="medium2" targeting='{"env":"staging","page_type":"article","post_id":2160590,"post_type":"guest","post_chan":"none","tags":null,"ai":false,"category":"none","all_categories":"bots,mobile,","session":"B"}']
When the bot uses threads, augmented data becomes unobtrusive to the main conversation.
When users evaluate bots, sometimes unconsciously, they think of in terms of how much value bots create versus the amount of noise they generate. It’s easy to see how the same use-case implemented with threads provides the same value with reduced noise.
[aditude-amp id="medium3" targeting='{"env":"staging","page_type":"article","post_id":2160590,"post_type":"guest","post_chan":"none","tags":null,"ai":false,"category":"none","all_categories":"bots,mobile,","session":"B"}']
More context
Another challenge that bot builders face is understanding the context of a conversation. This becomes even harder in team environments, when multiple conversations can take place at one time. The use of threads in a conversation potentially makes it easier for bots to better understand context, by using the thread as the anchor for that interaction.
As this paradigm is really new, we will need wait for AI toolkits to implement thread-based context extraction — but I think they’ll take advantage of this to better train their natural language understanding algorithms, giving developers a service to figure out the context of each possible thread.
As you have see, without the use of threads, it is hard to distinguish between the two conversations happening here. Once this conversation becomes threaded, it is much easier to extract context and entities.
[aditude-amp id="medium4" targeting='{"env":"staging","page_type":"article","post_id":2160590,"post_type":"guest","post_chan":"none","tags":null,"ai":false,"category":"none","all_categories":"bots,mobile,","session":"B"}']
A new canvas
In an article published by Ben Brown, the founder of Botkit (a popular open source bot framework), he described threads as the new app canvas similar to native apps:
The new thread feature gives bots their own dedicated, blank canvas to build upon, outside of the constraints and the ever changing context of the shared public channel. Better yet, this canvas looks nearly identical in the desktop app as it does on a mobile screen.
Using threads, bots can create an app-like experience that lives in its own space in the thread. Because the thread experience is not affected by the main channel conversation, it offers a great way to encapsulate the app interface:
To conclude, threads are an awesome improvement to users, but they might be revolutionary to bot designers — enabling bots to serve a non-intrusive, contextual, and app-like experience in a dedicated canvas.
[aditude-amp id="medium5" targeting='{"env":"staging","page_type":"article","post_id":2160590,"post_type":"guest","post_chan":"none","tags":null,"ai":false,"category":"none","all_categories":"bots,mobile,","session":"B"}']
VentureBeat's mission is to be a digital town square for technical decision-makers to gain knowledge about transformative enterprise technology and transact. Learn More