AI chatbot, swivl's customer success software

Note: This article was originally posted on


One of our customers, sells $2,299 lightweight electric mobility scooters online. Several years ago we added live chat using Purechat to their WordPress/Woocommerce website to provide better ‘real-time’ online support. Purechat has done fine, providing agent logins and nice integration with Google Analytics to show not only the number of chats but also the sentiment (positive or negative experience). The one thing with live chats is, of course, the need to have someone online who can actually answer! This can be a challenge for many smaller companies: how to ‘man’ your chat as many hours as possible when you don’t have employees in different time zones.

Recently, chatbots are making their way onto websites – offering 24/7 interactions. So we went ahead and implemented for SmartScoot, solving the challenge of not being able to solve live support at all times.


It took us a couple of days to get swivl up and running. Here are the steps it took:

  • What are the most asked questions? The good thing here is that we had a few years of history from both the email forms and chat records. So we knew the top questions. “Is it covered by insurance” “Is there a place I can try it out”, “Can I take the SmartScoot on a plane”.
  • What to do for questions it doesn’t know? In our case we opted to say “Sorry – I don’t know the answer to that one – but if you give me your e-mail address I’ll have a human answer you right away”

The swivl chatbot has two main components: the ‘brain’ – where the language processing part is handled and the ‘journeys’ – where the actual flow is dealt with.

So first we needed to train the ‘brain’ on the different questions we were planning to handle. Each question to be answered is an ‘intent’. And for each intent, you provide several example questions. This was easy for us because we had our own chat history. It’s still surprising to see how the same question can be asked in so many different ways, including ones that have typo or grammar errors :). Here are the samples we fed the system for the intent “Is this covered by insurance?”

The next step is creating a journey that acts upon the intent. In this case, telling them that, unfortunately, the SmartScoot is not covered by insurance.

The different journeys get connected in a ‘Main Journey’ where all intents get handled.

All in all, this is a pretty flexible mechanism – it just takes a bit of time to set up. In essence, you’re really putting down all knowledge about the product and the answers around it. A time investment every company should take.

Handling exceptions

When the bot doesn’t know the answer or when we need to know more about the user (when they want to try out the scooter somewhere, we need to know where they live) – we need to ask for name, email, phone number and possibly city/state. This is what that looks like:

(Notice that the bot remembers you if you revisit – so it won’t need to ask things it already knows).

Once we got all the info – we can send an email straight to the help desk:

We’re also using the (still rudimentary) slack integration. Every time a user starts using the bot we get notified – and any question asked is shared. The latest swivl update allows for you to click straight from the slack message to the chat – offering the option to ‘take over’ – essentially making it a live chat, not a bot chat.


One of the cool things about the swivl chat is that it knows what it doesn’t know – so questions that cannot be matched to an intent can be reviewed and added to an existing intent. This is what they call their “human in the loop” interface.

So once a week we go through the unhandled intents and map those to existing intents – or create a new intent to be able to handle new questions.

Different channels

swivl also handles Facebook messaging and it is as easy as just adding the channel. So far we’ve not seen a lot of traffic on that one – but it’s nice to ‘have it covered’.


Replacing Purechat with swivl has been pretty painless and now swivl is able to handle most chats by itself. To add to this, the swivl team is very responsive and development seems to go pretty fast, so we’re confident it will only get better from here.

We can clearly see that people are actually ‘talking’ to the bot and the bot is able to handle most questions from users – no matter when they are shopping.

Next steps that we’re considering adding:  ‘location-aware chat behavior’ – ie swivl has the ability to auto-initiate the chatbot in different states depending on what page it is. This is merely a matter of thinking about what type of content can be the most helpful in what places. For example, the check-out page might have a note about Stripe vs Paypal (we’ve seen people as ‘what is Stripe’) – or on the international shipping page we could do something like “Don’t see your country here – let me know and we can get you a shipping quote”.

Do you run an e-commerce or hybrid store? What are your biggest barriers leveraging digital channels? Please share your story in the comments below.

If you haven’t talked to Hoover yet, click on the floating orange owl and start chatting! There you can learn more about how our natural language processing tools can streamline your business!

Want to stay up to date with the latest in natural language processing? Join our mailing list today to receive a newsletter covering that and much more!