top of page
Writer's pictureSean Lazo

Triggering Variable Pathways In a Conversation Based On User Attributes

A UX case study on conditional logic mechanisms that allow designers to offer variable pathways to its users in a conversational journey, based on the user's state, status, characteristics, ID, and initiation points.



Preface

The examples below show the variations of run-time contextual greeting messages sent to the user based on their attributes. Conversation designers would like to apply this logic and build the appropriate contextual bot responses into their conversation flow.

  • If there is no logic, then the bot will send a generic greeting message.

  • If authentication logic is applied, then the bot will greet the user with their name.

  • If authentication logic and package identify logic is applied, then the bot will greet the user with their name and ask about their package.




Problem statements

I conducted user interviews and expert consultations first. We discussed current processes and mindsets for logic defining workflows. After synthesizing my research data and defining some insights, I was able to generalize and conclude the following problem statements.

Conversational designers don’t have an efficient way to define/create conditions for variable user journeys based on what the system knows about the users.
Currently, the only logic for nodes are user utterances. Designers need to apply logic triggers for other conditions besides user utterances.
Logic triggers can be, but not limited to: the web page the end user is visiting, if the end user is authenticated, the channel or modal the end user is using, the characteristic or status of the end user (age, location, gender, membership, etc).
Business rules will require the bot to send end-users custom bot responses for each of these conditions.

Hypothesis

To enable conversational designers to design complex logic journeys in a conversational flow, provide a logic building mechanism and workflow.


Logic building capabilities will increase bot performance and intent handling with robust, intelligent, and contextual responses.


Product goals

My hypothesis helped to define our product design goals and user objectives. I determined the capabilities that the product will support for both our user segments: conversational designers and bot developers. I also wrote Agile user stories to provide the what, how, and why statements.


Enable conversation designers to…

Set pre-processing logic conditions in a conversational flow, enabling them to flow and build custom bot responses and conversations for each condition.

“As a conversation designer, I want to set the various conditions in my conversational flow, so that I can build the appropriate contextual bot responses and conversations.”

Enable bot developers to…

Write code for sophisticated pre-processing logic conditions requested by the conversation designer.

“As a bot developer, I want to write the code for complex conditions, so that the bot can function properly to determine the appropriate bot responses.”

Terminologies

I defined the industry and technical terminologies pertaining to logic building. I researched other competitor products to see what terms they use, and also researched industry vernacular to get a sense of the common language, words/phrases, and meaning.

A logic is the user’s attributes, characteristics, status, state, or personal identifiable context that triggers a node, bot response, or conversational path. Each logic is made up of condition(s). Each logic is checked by the system in run-time by order of sequence.
A condition is a combination of 1 or more variables, operations, and values.
A variable is the condition type like URL, age, location, etc.
An operator is the measurement or equation of the value.
A value is the detail/info of the variable.

Atomic structure

I constructed a visual hierarchical tree of terminologies and data points to get a sense of organization, sequence, and structure. This translated into the content strategy, exact terminologies, interaction paradigms and mental models, and workflow for creating logic.




User mind map

In speaking with our users, it was evident that they all shared a common mindset on their approach for building variable logic conditions. Displayed is essentially the user's order of operations when it comes to logic workflows.




UI flow

The order of operations would translate into the user interface and task flows. In this map, I include possible micro-interactions and existing components that help the user fulfill logic building tasks, along with possible states and steps.




UI designs

After reviewing and getting approval on the foundational research, general product experience, and information architecture with stakeholders, I designed the optimal user interface: component, workflows, and micro-interactions. This required maintaining and respecting the appropriate mental model within our product interaction paradigm.


Add a logic node to the conversational flow

Logic would essentially be a type of node that can be applied to a conversational flow. This was necessary since the process of defining logic required extensive configurations and workflows. Logic made sense as a type of node to be applied in a conversational flow as a 'decision' node, that would follow a bot message and precede responsive pathways.


The logic node leads to alternative conversational pathways

In the screenshot below, you can see the logic node 'PackageTrack_Logic' denoted by a multi-directional arrows icon and purple tab, leading into other variable nodes. These nodes are indicative of the defined logic and trigger a contextual bot response. In this scenario, the bot responses are tailored based on the channel that the end-user is on: Facebook Messenger, Apple Business Chat, and a generic and fallback pathway.


Logic node details display all logic conditions

The logic node required an extensive configuration process that entailed defining, managing, and sequencing, as displayed in the screenshot below. The user can choose to apply a simple logic through a conditional rules-builder component, or request for a complex logic to be coded by a developer. The user can determine the sequence of system checks, and also map each logic to the appropriate bot responses node.


Configure and define conditions per logic

If a user adds a prebuilt logic, they can determine the conditions with a rule-building mechanism, allowing them to define the variables, operators, and values. They can add multiple conditions to a logic. In the example below, a user has defined this logic to determine that IF the user is on Apple Business Chat and is authorized, THEN the bot will display a contextual response based on those attributes.


Complex logic can be manually coded

There were complex logic that can be applied to a bot that still required manual coding by a developer. These complex logic couldn't be constructed through a simple UI by the conversational designer. A code window in the developer tab would best suit these needs. The designer can make a request through the UI, to a developer, and pinpoint where the logic is needed and exactly what the experience is.


Testing analysis

From concept testing, to usability studies, and beta testing, the interaction mental model and visual designs helped to ensure a straightforward and intuitive user experience workflow for declaring logic nodes and building conditional rules. There are still opportunities for improvement and efficiency, but for the most part the design was easily understood, given some learned behaviors and trialing.


Summary

A comprehensive user and desk research process, along with subject matter expert consultations, and constant user testing, helped me thoroughly understand conditional logic and the best UI and workflows to optimally help users apply it in our conversation design product. Logic ensures that the AI chatbot is reactive, predictive, and contextual to the end-user's needs and goals. It can proactively deliver the right information at the right time to the correct person that is engaging with the bot. It provides a more flexible way for conversational designers to create variants and necessary pathways in a robust, detailed, and visual way, rather than just user utterance triggers.



About the author

Sean Lazo is a Principal UX Designer at [24]7.ai who leads the inception, assembly, and design of [24]7.ai Conversations, an industry-leading omni-channel AI chatbot SAAS platform. His passions are DesignOps, detailed design, research, and human relations.

Comments


bottom of page