Skills and events
Conversations that your chatbot is supposed to handle can be quite complex. Even the most simple chatbot should have some key features – like a welcome message and default reply, the ability to answer specific questions, and maybe a live chat escalation. Then come lead generation, appointment scheduling, e-commerce orders, lead nurturing, and so on.
These conversations can easily become difficult to manage, and this is where skills come in handy. They make it easy to build, handle and update even the most complex conversations without losing focus.
You can think of skills as pages on your website. While it’s easy to build a single-page website for a single task, the majority of websites contain dozens (or even thousands!) of different pages, each serving a specific purpose. The main idea is to split the conversation into smaller parts, each serving a specific user need.
Imagine a restaurant chatbot, for example. Here are some chatbot skills that it can contain:
  • Welcome message and onboarding (explaining what this bot can do)
  • Making reservations
  • Arranging deliveries
  • Getting directions
  • Answering questions etc
Building a single conversation that will address all these possible options is difficult even for a simple bot like this. So, in Activechat you will build a skill for each of these tasks, and then connect these chatbot skills together with events.
A simple example of a skills framework for restaurant chatbot
Skills in Activechat are triggered by events, and when you add a new skill to your conversation by clicking the “plus” button in the top right corner of the visual chatbot builder, Activechat will automatically add a CATCH block that will listen to the event with the same name. You can edit the event name in the CATCH block editor later, although we advise against it.

What is an event?

Skills are triggered by chatbot events, another core concept of our Visual Bot Builder, and almost anything can be an event in Activechat. Here are some examples of events:
  • a user interacts with the bot for the first time (start system event)
  • a user sends a message to the bot (default system event)
  • a deep messenger link is clicked by the user
  • your chatbot logic decides that it’s time to trigger a specific skill with the SEND block
  • an order is updated in the online shop (order_updated system event)
  • natural language intent is triggered in NLP engine like DialogFlow
  • a user scans a QR code leading into your chatbot
This mimics the natural conversation flow – when talking, people tend to react to various real-time events and update their conversation accordingly.
There are two blocks in Activechat to handle events – one is SEND (this one is triggering an event) and another is CATCH (this one is listening to specific chatbot events and launches other connected blocks in the flow when this event is triggered). This allows you to send events when you need them – for example, to start one skill in the middle of another.
Please note that every skill in your bot should start with the CATCH block – it is added automatically when you create a new skill and will be triggered by an event with the same name.
A simple example of events triggering specific chatbot skills

Events as commands

Any event in Activechat can be triggered right from the conversation by typing the "/" symbol followed by the event name. Most of the time your customers will not be doing this (the mechanics of the events are hidden behind the conversation), but it can be useful in debugging your virtual assistant or when using commands in Telegram.