Automated chatbot solution with a custom workflow builder

Autopilot sought to improve their platform by adding a real-time chatbot and integrating it with tools like Mailchimp and Intercom. They wanted a flexible, high-performance solution for seamless embedding into websites.

TIMELINE: 9 MONTHS
COUNTRY: AUSTRALIA

About

AutopilotHQ (currently Ortto) was an advanced and fully-featured platform for marketing automation. They asked for our help to make the platform even better so it could compete more effectively in the market and meet their clients’ needs.

To make things easier for clients, Autopilot had plans to integrate with Mailchimp and Intercom to provide its clients with a seamless data-sharing experience. They also wanted to create their own version of a chatbot, which could compete with the most recognisable solution, Intercom, and which they’d offer to clients using the AutopilotHQ platform.

An incon with an exclamation mark

Did you know?

The Autopilot chatbot manages real-time conversations across multiple sites without slowing down performance.

Our Role & Involvment

Stage 1: Integrations

In the case of integrating AutopilotHQ with Mailchimp and Intercom, we had to find a solution for managing a large amount of data, taking into account the potential limitations of the systems. Also, the AutopilotHQ application was built in CoffeeScript and SproutCore, so we needed to cope with legacy app development.

Stage 2: Chatbot

When we provided the client with flawlessly working integrations, we were entrusted to build a chatbot solution. The primary requirement of this project was to develop a chatbot widget that needed to look good, be lightweight and perform quickly (without burdening websites), seamlessly integrate into various websites regardless of technologies they are built with, and operate without causing any issues.

AutopilotHQ found us online and then used Clutch to verify our team.

Results

Currently known as Orrto, the AutopilotHQ app allows users to integrate various systems like Mailchimp and Intercom into one thanks to the integrations we built.

Additionally, we built a dedicated chatbot solution, which consists of a chatbot widget that is added to clients’ websites. This solution is lightweight, so it doesn’t slow down or burden the website.

To make the chatbot work, we built a web app for clients to manage their chatbots. The client dashboard was also needed for them to have access to:
- manage conversations
- adjust the chat design to their brand
- manage the app and change its settings
- build workflows (called playbooks)

We also built an administration panel for AutopilotHQ in the form of a web app so they can manage the clients who use their chatbot effectively.

The chatbot system is also connected to the Slack platform to make conversation management more straightforward. We built a custom app for Slack that enabled functionalities such as gathering information about available Slack users, managing how the chat is being displayed and handling messages through Slack. We also implemented specific Slack commands to enhance overall functionality.

The chat feature was launched for beta users and received highly positive feedback from numerous companies. It smoothly handled multiple conversations per second and operated flawlessly on various corporate clients’ websites. However, the project has been put on hold due to a strategic decision to rewrite the system in Go, aligning with current business priorities.

The Process

Discovery & Design

We were provided with wireframes and specifications by Autopilot; however, we found some extra opportunities to add additional features that would improve User Experience of the client’s platform. This collaboration involved constantly monitoring competitors like Intercom, Drift, and Chatlio to define the design and features of our chat system.

Project management was split between AutopilotHQ and TeaCode. The client has industry knowledge, but we had technical expertise, so together, we established beneficial and effective cooperation.

Development

During our cooperation, we worked on 1-week sprints when we planned work for the upcoming week hand in hand with the client. At the end of the week, we met to present the demo version.

Stage 1: Integrations

Initially, as a distinct project separate from the core Autopilot platform, we were tasked with conducting research to validate the feasibility of the client’s vision for the APIs. Following this research phase, we proceeded to implement the necessary components to ensure seamless functionality.

During the development of the integrations, we needed to address the OAuth and authorisation flows between external APIs. We also needed to handle a lot of data from those systems’ responses, cope with APIs limitations: manage duplications, rate limits, differences between documentation and implementation, and other.

Stage 2: Chatbot

After the integrations were ready, we built a custom Intercom-like chatbot application that allowed clients to run conversations automatically without anyone engaged. It operates independently from the website and loads asynchronously to not slow down the page.

As we knew that the app would be widely used (it needed to handle thousands of users at once), we decided to rely on AWS and JavaScript with unstructured (NoSQL) MongoDB and Redis databases. It was one of the reasons the application could smoothly integrate with 3rd party services, run background processes, and provide proper issues and communication management in a way that does not overload the API.

We had to ensure that the application was both lightweight and fast, while also enhancing the performance and animation of the chatbot. That’s why we decided to use many custom elements without using external libraries or any 3rd party solutions. For the same reasons, we chose React.js as a well-established and reliable framework.

We were responsible for building workflows from scratch that were called playbooks. Playbooks consist of predefined sets of rules or guidelines that dictate how the chatbot should handle conversations with users. They allowed us to manage the whole conversation logic, determining when to transition from automated responses to involving human operators to take the discussion over and manage agents’ availability. Playbooks were essential in managing the conversation flow and ensuring a seamless user experience.