Conversational support chatbot

OpenTable uses an AI-powered chatbot to answer customer questions when they select the Contact Us button on both their diner and restaurant support websites. When it was launched, the chatbot could only provide basic answers that were copied and pasted from support articles. I was brought on to revamp the chatbot so that it could provide conversational answers and address more complicated questions.

Background / Goals

  • The purpose of the chatbot is to deflect customers from needing to speak with a support agent.

  • Before the project began, roughly 50% of users who asked the chatbot a question received a satisfactory answer and didn’t need to speak with a support agent.

  • The goal of this project was to increase the percentage of users who didn’t need to speak with a support agent.

Strategy / Execution

  • I began by reviewing customer queries to define intents:

    • Intents: Groupings of similar queries the chatbot should understand are related, and would require similar answers.

      • For example: “I can’t make my reservation” = “I need to cancel my reservation”

  • With Intents identified, I had a list of topics that the chatbot would need to address.

  • I compared the list of intents against the volume and behavior of current customer interactions with the chatbot. This allowed me to prioritize the most popular and lowest-performing topics.

  • I met with stakeholders to identify the best solutions for the intents I identified.

  • I sketched workflows using Lucidchart and shared them with stakeholders for feedback.

    • Workflows: Choose-your-adventure style pathways that customers would follow when using the chatbot.

      • For example: If a customer asked a question about an upcoming reservation, the chatbot would give them a list of related topics they could select from and learn about. As the customer makes selections, the chatbot provides relevant content.

      • All of the chatbot’s replies were written by hand. I wrote and circulated style guidelines to a define a new conversational voice for the chatbot.

  • Once the workflows were approved by stakeholders, they were published on both support websites. I attached the original intents to the new workflows so that customers would receive the correct answers to their questions.

  • I monitored the performance of the workflows and made iterative changes as customers interacted with them.

Challenges / Results

  • I encountered two primary challenges over the course of the project:

    • The intent management tool couldn’t identify questions specifically enough.

      • For example, it would conflate queries like “I need to cancel my reservation” and “I’m missing reward points from my reservation.” It could understand that a customer has a problem with their reservation, but not that these are two separate topics.

      • I solved this by rewriting workflows so that they were more broad, while adding buttons the user can select so they can precisely indicate their intent.

    • I had to balance goal of increasing deflection without sacrificing the user experience.

      • Part of designing the workflows was determining how many attempts the chatbot could make to answer a customer’s question before it connected them to a live agent.

      • I worked with stakeholders to determine the correct balance.

  • The project was successful. Now 65% (+15 pts) of users who ask the chatbot a question receive a satisfactory answer and don’t need to speak to an agent.

  • Lessons learned from this project are now informing and supporting new AI-driven projects at OpenTable.

Screenshots