Alberto Antenangeli January 24, 2024
Every builder knows that one of the most important decisions for any project is choosing the right tools for the job. Let’s say you’re framing a wall in a new house. You could drive a nail using a screwdriver – but that doesn’t mean you should. The same principle is true for building software (like a customer interaction), with one stark difference: the complexity involved in making the choice.
When you need to drive a nail or turn a screw, it’s easy to tell which tool you need to use. The number of options are limited, there’s a consensus around which one is best, and of course, the mechanics (including visual/tactile clues) are pretty obvious. Building a customer interaction isn’t so simple. The overabundance of different technologies sometimes makes it hard to choose the right one. Not only that – at times we all feel enticed to use the latest shiny tech, even when it’s not the right fit for the problem you want to solve. For example, it’s very tempting to use LLMs for a new project that requires customer interaction, but letting the technology be the decision driver often translates to bad outcomes. It is the problem that should drive the technology selection, not the other way around.
Here at Nuvalence, we work closely with leaders and technologists to help our clients make the right technology decisions. In this post, I’ll share some of that guidance so you can make great decisions for your organization, too. You might just be surprised to learn that sometimes, there’s a better tool for the job than the slick new product you’ve been excited to try.
So, What’s the Problem?
Before you ever write a line of code, you should have a deep understanding of the problem you’re trying to solve or the experience you’re trying to create. Unfortunately, you don’t always have this level of detail early on in your project, which is when you need to make your technology decisions. But the good news is that simply gathering basic, high-level information about the customer interaction can be enough to help you make the right choice. Try asking questions like:
- What channels must be supported?
- How complex will the interaction(s) be?
- Should the interaction(s) be controlled by the user or the system?
- How much control should the system have?
- Will data need to be gathered and saved during an interaction?
Once you understand what you want out of a customer interaction, the fun part begins: actually choosing your tool.
Customer Interaction Tech: What’s Out There?
When it comes to customer interactions, there are three types of technology that you can choose from:
- Business Process Management (BPM)
- AI-Driven Contact Centers (AiDCC)
- Large Language Models (LLMs)
Let’s unpack the different categories.
Collect User Responses with BPM Tools
If your primary goal is to elicit (and collect) response data from a customer using a questionnaire-like experience, then business process management might be just the ticket. BPM tools like Camunda or Appian serve as centralized orchestrators for a company’s business processes, offering a way to visualize, mode, automate, measure, and improve a variety of process workflows.
As a mature technology, most BPM tools use a standard notation, BPMN, for diagramming and describing business processes. Typically, they offer a user-friendly GUI that enables non-technical business users to model their processes without developer resources. And that’s not all: the common language creates a great opportunity for your business users and developers to unlock continuous improvement.
BPM tools are great for:
- Creating user interactions with browser-based forms.
- Non-conversational interactions controlled by the system, not the user.
- Interactions that require tight integration with other systems (like database or backend services).
They’re especially well-suited for workflows that:
- Require well-defined, strictly-controlled steps, forks, and joins to collect/validate information.
- Include asynchronous steps, like an expense report that must be completed and submitted for approval.
- Involve multiple personas, like the supervisor who approves an expense report and sends it to accounts payable for reimbursement.
- Are infrequently updated and subject to testing and tight controls.
BPM tools are less adept at other types of interactions. For example:
- Fluid interactions, where the user can take control.
- Telephony interactions. While it’s possible to integrate voice recognition into a telephony system to accept user input, BPMs are generally too rigid to do this well.
BPMs In Action
Here at Nuvalence, we have successfully leveraged Camunda as the core engine for process management on an array of projects. One great example is the mobile-first, form-based online questionnaires offered with our solution accelerators for the public sector. Powered by our open-source Digital Suite for Government (DSGov), you can experiment with them yourself to see how they work for your use case.
Design Realistic Conversations with AiDCC Tools
AiDCC tools like Google Contact Center AI (CCAI) or AWS Contact Center Intelligence (CCI) automate the traditional call center experience. Users can interact with a system via a chat API or over the phone with the assistance of a “virtual agent,” only interacting with a human in specific scenarios (or bypassing them entirely). What sets an AiDCC tool apart from BPM tools is the two-way nature of the interaction. While a BPM tool only asks the user questions, a well-designed AiDCC can closely mimic the behavior of a real person, both asking questions and answering them.
At the heart of most AiDCC tools, there are three major capabilities:
- Intent identification, which matches user input to a well-known list of intents that may include domain information.
- The ability to extract that domain information from the user input.
- A finite state machine/automaton, where transitions are controlled by the user intents, domain information extracted from the intent, and other logic that may even come from backend systems.
AiDCC tools are great at:
- Delivering conversational experiences with workflows and guardrails enforced by the system behind the scenes.
- Integrating with other systems, like payment or scheduling solutions.
- Input process shortcuts, like responding to the question “What’s the status of my expense report?” with “Say the date of the report” instead of “Press 1 for reports from 2023, or press 2 for reports from 2024.”
They’re especially well-suited for:
- Replacing traditional IVRs with convenient phone- or chat-based conversational experiences.
- Multi-turn conversations and out-of-turn questions.
- Workflows that are infrequently updated and subject to testing and tight controls, and which may include asynchronous steps (ex. callbacks).
AiDCC tools are not a good fit for:
- Sequential, highly-visual, data entry-focused workflows (like an online form) where a GUI is important.
- Interactions that need to be saved and resumed in a separate or subsequent session.
- Collecting large amounts of structured data.
AiDCCs In Action
We work closely with our clients to design sophisticated virtual agents using tools like CCAI. In fact, we recently shared a series of articles on topics like conversational design, and have even created an open-source virtual agent accelerator that you can experiment with to see how it works.
Create Live Conversations with LLMs
Large language models (LLMs) like GPT-4 (ChatGPT), PaLM 2 (Bard), and Claude are AI systems designed to digest datasets and use that information to generate human-like text in interactive conversations. While the most common usage of LLMs is in chatbots, they offer a wide variety of applications that enable users to access knowledge. The best part? You can train LLMs with your own data, allowing them to generate contextually relevant responses to questions about the information they have been provided. What sets an LLM apart from an AiDCC is the level of control the system has over the interaction; LLM chatbots are typically far more creative than virtual agents when it comes to the questions they’ll accept and the responses they give. Users are almost always in the driver’s seat.
LLMs are great at:
- Natural, truly conversational interactions that are entirely led by the user.
- Personalized responses that seamlessly support followup questions, requests for clarification, or suggestions for additional questions/prompts.
LLMs are especially well-suited for:
- Wide-ranging interactions that draw on vast stores of data to generate responses.
- Systems that need to be grounded on expansive, mutable knowledge bases (corpus) that would be difficult to maintain without AI.
LLM tools are not a good choice if:
- Regulatory, liability, or user trust concerns demand precise control over every response.
- The system needs to collect large amounts of data that will be used for further processing outside the interaction.
- A GUI (like an online form) is an important part of the experience.
LLMs In Action
Our clients have been motivated to tap into their troves of data more effectively, and we’ve been using LLMs to help them do that in a variety of contexts. One great example is a chatbot we recently developed to support an organization whose users needed to elicit very specific information from a massive knowledge base. The scale of the solution they needed was far beyond what was reasonable for a virtual agent, so we turned to LLMs to solve the problem. Check out our recent articles about the work we did and how we built the chatbot.
Finding A Good Fit
Of the three technology types, LLMs are receiving substantial attention at the moment. As technologists, we often feel tempted to use the latest and greatest tools available, but sometimes more traditional tools – although not as charming as a full conversational LLM-based chatbot – are still the right solution for a given problem.
Complicating your decision is the fact that types of customer interactions – and the right tools to create them – can overlap. Think of a Venn diagram:
We cannot stress enough the importance of choosing the right tool for the task – remember, just because you can use a tool, doesn’t mean that you should. The next time you’re building a customer interaction, refer to this quick summary of the three tool categories, and when to use them:
- Use BPM if you have a well-defined process that collects information using a form-based user interface, and the system is the main driver.
- Use an AiDCC/virtual agent if you want to achieve similar goals, but with a conversational interface.
- Use an LLM if you want a conversational interface to browse information from a large, changing corpus.
Regardless of which tool you decide to use, there are a couple of important points to keep in mind:
- Continuous improvement: Gathering feedback to make incremental adjustments is always important. For example, your virtual agent may log the number of turns and the questions a user asked, or your LLM may record session information along with questions and answers, so you can correlate them. Having a real human being looking at those can provide good insights on what areas need improvement.
- Privacy & security: If you collect sensitive information like SSN or bank account numbers, make sure you mask the data before logging it.
Customer interactions are at the heart of virtually every consumer experience, and it’s important to get them right. The first step is making sure you’re building with the right tools from the very beginning. Taking the time to understand your problem and the tech available to solve it will put you on a path to discovering the tool (or tools) that will help your team create solutions efficiently, help your organization maximize the value of the data you collect, and – most importantly – deliver the best possible customer experience, every time.