After Bhargava (Design team lead) had set up the foundation of the Custom Bot Builder and the basic bot steps, I was tasked with expanding the capabilities of Custom Bots so that they are able to have more nuanced conversation with the users and handle use-cases more complex than just collecting user's info.
During the time I worked on this project, I was the sole designer working on Bots. I teamed up with a PM and a team of 5 engineers to deliver this project.
We had already set the foundation of the lego blocks of Helpshift Custom bots. There were three types of Bot Steps that had a specific purpose in the conversation flow.
Send a message: Sends a message and proceeds to the next step.
Get information from user: Prompts the user to provide some information in order to proceed with the conversation.
End conversation flow: Makes the bot to stop interacting with the user, takes follow-up actions on the conversation, and then exits the conversation flow.
Bots would be able to have more nuanced conversations with users if they could decide the next step or the next question to ask based on the user's response to the current question. Basically we wanted to enable bots to alter the route of the conversation based on user reply.
Since the user reply is received at the "Get Information from User" step, it only made sense that the branching of the further conversation must start from this step.
We wanted to start with building branching on more deterministic user responses like number, date and an option selected from a list of options.
We phased out the project to keep a steady momentum and broke the releases down based on independent capabilities.
The simplest kind of decision making ability we introduced to Custom Bots was branching from a list of options. Basically, asking the user to select an option from a list and proceeding to the next step based on the user's selection.
The next progression of branching the conversation flow was to enable branching for user reply formats that had more absolute values, like number and date, instead of plain text.
Earlier, Admin could just add a new step to an already created bot step.
I designed a new capability specifically for number and date data-types: Branch Based on User Reply.
Here, the Admin can create rules on the user reply by comparing it again a set value. An example of this could be a Liquor Brand restricting users to use its services based on their age. The rules are executed in the order they are saved in.
I am a huge advocate of re-using existing components in the system. For branching rule creation, I used the existing "Logic Builder" component that was already being used on Helpshift dashboard for setting up automations. This helped us flatten the learning curve for the Support Admins as they were already familiar with these interactions.
Once the rules are set, a module is added to the "Get information from user" step that provides more starting points to branch out the conversation. Admin can now add different steps and send interact with the user differently based on their response.
Expanding on the branching capabilities I designed into Custom Bots, I went on to design two more types of Bot steps that do not interact with the end-user but can still branch out the conversation based on other factors-
Within 3 years since launch, Helpshift Custom Bots have helped automate ~60% of total customer support issues for Helpshift's customers. This has tremendously helped Helpshift customers to scale their support operations.
Introducing branching in the conversation flow and relaying 3rd party information to the users unlocked new use-cases that have allowed Helpshift customers to achieve a higher level of automation of support conversations.
This was one of the most information dense and one the biggest projects I worked at Helpshift. This gave me a great understanding of designing a system with multiple moving parts and designing modular solutions to complex problems.
This was just a part of the work I did on Helpshift Custom Bots. I wanted to give a glimpse of my work without overwhelming you with too much information. However, if you would like to know more about my work and the process, please don't hesitate to reach out. I'm always up for a chat.