Our Experience In Adding Some AI Smarts To Awesome Support – A Brief Report On Artificial Intelligence Integration

March 27, 2018 | General, Integrations

About 8 months ago we embarked on a project to create an add-on for Awesome Support that integrated the Awesome Support ticketing process flow with one or more hosted AI engines.  The vision was that the AI engine would evaluate the contents of new tickets or inquiries (regardless of source) and automatically send relevant responses.  The business driver was cost - its a lot cheaper if an agent does not have to be involved in a support ticket.  So if an AI engine can help get the user a more accurate automated response immediately then everyone wins.

But, the jury is still out on whether this project was a success.

Customers have been slow to embrace the idea - probably because setting up the actual connection to the AI host is not exactly a walk in the park.  One of the biggest issues with plugins is that everything has to be set up on the customer's servers.  Unless we create an SAAS service to host the configurations and act as a gateway to the AI engines, the customer is ultimately responsible for the actual connection between their server and the AI host.

Still, the entire process provided a ton of insights into how to use AI and some unexpected caveats that need to be avoided.

What We Built

We ultimately ended up building a number of disparate functions that were based on the same AI search engine infrastructure:

Automatic Replies To New Tickets ("Smart Replies")

Automatic replies takes new tickets, extracts keywords and then searches the WordPress site for relevant articles to send back as suggestions to the user who opened the ticket.  If this process works, chances are the user can close the ticket without a support agent ever getting involved - and that's an immediate cost savings to any business.

Chatbot for a WordPress Website

The Chatbot function places a chat box on designated pages of the WordPress site.  A user that arrives on the site can open the chat, enter a few keywords and get back instant responses to those keywords.  They can also get responses to conversational phrases such as "Hi" or "How are you" or "What's your name"?

Again, a successful interaction would mean one less ticket and one less expensive agent interaction.

Facebook Messenger Chat bot

The Facebook Messenger chat bot integration is the same as the Chatbot described above - except the user interaction is all inside Facebook Messenger.

How We Built It

Version 1 and 2

The initial version was actually just the Facebook chatbot.  And it included no AI smarts whatsoever.  Instead, it simply took the user's message and did a search of specified post types (FAQs, Documentation etc.) ultimately returning the document links to the end user.  Now, if you know WordPress's default search algorithm you'll realize that what you got back could end up being wildly irrelevant. But at least it did filter for things like "Hi" and "Hello" and returned appropriate responses when it encountered those items.

The second version is where we provided an optional integration with Google's DIALOGFLOW service which is Google's flagship conversational AI service.  It allowed us to send through the full text of the user inquiry and have the AI service make a good faith attempt at eliciting the user intent, ultimately returning one or more appropriate responses.  This worked better - as long as you took the time to set it up properly.  For small sites, its not a lot of work but smaller sites would not get much benefit from this.  For larger sites, it could take a decent amount of work to train the service to return the proper answers to user queries.

Version 3 and 4

Our next attempt to improve things revolved around reducing the amount of work that users would have to do to configure and train Dialogflow.  To achieve this we integrated Dialogflow with WordPress's custom post types - enabling it to search specified post types (such as FAQ, Documentation etc.) based on user intent in order to return relevant answers.

This worked well.  Well enough that we decided to finally add the "Smart Replies" feature and move away from just interactions with chat windows.  As mentioned above, SMART REPLIES takes any new ticket and automatically returns relevant links to the user as the first reply in the ticket thread.  If the links were relevant then the user could close the ticket without any additional interaction from an agent.

"Smart Replies"  - Not So Smart

The problem with "Smart Replies" is that new tickets tend to contain multiple sentences and paragraphs.  Sending this raw data through to Dialogflow or the WordPress search system generally resulted in very poor results because Dialogflow has a hard time eliciting intent from that many words.  It was obvious we needed to extract relevant words from the tickets and then implement the searches based on those keywords instead of using entire sentences and paragraphs.

And that's where Google's Natural Language Engine entered the picture.

Integrating The Natural Language Engine

The Google Natural Language engine can take any block of text and return a list of keywords, verbs, nouns and other relevant lists - with the values sorted by the probability of being relevant in the context of the text.  And it can do that with multiple languages.

The image below shows the high relevance keywords that are returned from Google Natural Language for a particular ticket:

While not all keywords are relevant, there are enough relevant keywords that the results returned from a search are good enough to send back to the user as an automated reply.

So, if all integrations are turned on, the process goes something like this:

  1. Extract ticket keywords using Google Natural Language
  2. Send the keywords through to Dialogflow (AI Engine)
  3. Dialog flow will elicit intent and execute a WordPress post search to get relevant articles
  4. Return links to articles to end user.

With this sequence, the end user ends up with an automatic reply that looks something like this:

Tweaking The Process

In running through the tests we ended up realizing that we needed to provide the administrator with the option of NOT using Dialogflow since that involved a lot of set up work.  As it turns out, allowing the admins to remove that layer in the processing sequence did not harm the reliability of the results as much as we thought it would - and it seemed that for most users simply using the Natural Language layer would be good enough.

So with this tweak the AI discovery process became this:

  1. Extract keywords using Google Natural Language
  2. Execute a regular WordPress post search to get relevant articles
  3. Return links to articles to end user.

In addition to results still being useful, we reduced the amount of time it takes to process a ticket.  So, it's not a bad tradeoff overall if the admin decides not to use the Dialogflow component.

Further Tweaks

When a customer started shaking down the Smart Replies function they discovered two things:

  • Even within a particular post type, they did not want certain articles returned because they were always irrelevant.
  • They did not want articles before a certain date returned because they were too old and, therefore, also irrelevant.

These two were quickly resolved with a few more configuration options.


But what was surprising was the that customer wanted control over the types of keywords used for searches as well as control over the relevance SCORE that Google returns.  So we quickly added in features where the admin can specify the minimum relevance threshold that a keyword has to score before being used in the search process as well as the types of keywords that can be used.

Once we added these additional options the admin had everything they needed to really customize AI integration to match their data patterns.


In the process of building out these functions we discovered three things:

  1. It turned out that the SMART REPLIES idea was a lot more powerful than the CHAT BOT integration.  Apparently humans don't really like talking to Chat Bots.  They don't mind playing with it but for serious issues they're really not that great for customer service.  If you're in a high-touch business or if you have a lot of customers that are purchasing high-ticket items, maybe its best to not use them at all right now!
  2. Using the same search process for Smart Replies, Facebook and Chatbots works well.  The difference is in how the replies are presented and communicated to the end user - i.e.: presentation and UI.
  3. AI integration has come a LONG way - it is almost trivially simple to get started.  But, it doesn't mean that customers are actually going to use whatever you build.  The jury is still out on ours!

Wrap Up

Despite the slow uptake by customers we do believe that AI integration into helpdesk systems is inevitable.  The potential cost savings are just too great to ignore.  Its just a matter of what kind of interactions will be useful to customers VS what will annoy them.

Going forward, we plan on integrating AI into the ticket submission process pages - before the ticket is even opened.  Many sites "force" users to perform a general search or to follow a faceted search before even showing a ticket form. If these kinds of 'forced' searches had some AI smarts behind them its possible the users wouldn't get so annoyed by them.  That is going to be the next area where we will invest some exploration time.

Do you have other ideas as to how AI can be infused into help-desk systems? If, drop us a line via our contact form.


Purchase A Bundle

Download Free Plugin

Install From WordPress.org