In the “Plugins” section advanced users can create their own plugins. To become a system plugin, i.e. for the plugin to be available to all the users in a system, each plugin should pass the Admin’s approval. Only in case the users’ plugins are successfully approved they become available to all the users in the system. Before passing the moderation and appearing in the “Add new plugin” list, the user’s plugin can’t be added to the bot.
When creating multi-language plugins you need Admin’s approval for each plugin in the group.
A plugin may contain all the interaction types which are available when you create a bot. But there’s a type of interaction which is used in plugins only and is meant to send requests to the third-party services - it is an Extended API interaction.
Plugins have TTS and STT functionality, as well as NLP connections. Though it is impossible to create a plugin with NLP connection (there’s a system restriction because we should have loaded an NLP model when adding a plugin to the bot).
NLP connections can be created after the plugin was added to the bot.
If a plugin requires authorization on a third-party service (Jira, Google), the time of working sessions is recorded and stored in the database.
In the “Inbox” section messages from plugins are marked with a special icon next to the message bubble. When you hover over the plugin icon the plugin name is displayed.
When going to the plugin while communicating with the bot the user always goes to the first interaction of the plugin. Herewith one can get out of the plugin from any of its interactions (in accordance with given connections).
Global Connection functionality also works in the user’s plugins. Global connection has higher priority both for all the connections of the bot and for all the connections of the plugin, thus getting out of the plugin through the Global Connection happens all the time.
The user has to make sure that the keywords from Global Connection don’t conflict with the answers needed for the plugin.
There are two types of plugins: user plugins and system plugins.
Plugins that are created and published by the system’s administrator are system ones and are available for all the users of the system.
For SnatchBot system seven plugins are available, they can be added to the users’ bots and edited if necessary:
Google Calendar plugin
Let’s look at how the plugins are displayed when added to the structure of the bot (using the “Weather” system plugin as an example).
After adding a new plugin the new cell with the plugin name appears in the list of interactions. When you click on the cell, you can observe the interactions which make the plugin structure.
“Weather” plugin consists of interactions of the Bot Statement and Extended API type.
You can re-order, copy, and delete all the interactions in a plugin.
To add a system plugin you need to go to the “Build” section of your bot, click on the “Add new interaction/plugin” button:
In the “Add new interaction” window go to the “Plugins” tab, find a plugin, hover over it and click on “Add”:
A plugin can be available in several languages. Click on the flag to select the required language. Plugins matching the bot language are always shown at the top of the list in alphabetical order. Other plugins are displayed down at the bottom of the list in alphabetical order, as well.
Once you have added a new plugin, it will appear in the list of interactions. It has to be connected with the rest of the bot logic with the help of Connections, Fallback, etc.
The process of creating a plugin is similar to that of creating a bot. Nevertheless, this functionality is recommended to advanced users only, because the skills of working with third-party API services are necessary.
Creating a plugin
On the “Plugins” page you should click on the “New Plugin” button, a modal window will appear for plugin data to be filled in.
All the fields including the picture in the “New Plugin” form are mandatory:
- Plugin Name *
- Plugin Description *
- Plugin Language *
- Image * - 5 MB max
Create - when clicked, a new plugin draft is created and the “Plugin Build” section opens, which is equivalent to the “Build” section for bots.
The users can’t use NLP models while creating a plugin but users who add plugins CAN set up NLP connections associated with their own NLP models.
This feature enables you to skip interactions (not to show them in the dialog), receiving the value inputted into the “Default value” as if it was inputted by the user (the user won’t see it in the chat). In a nutshell, if you check the box, the user won’t see that step, and the interaction will be displayed based on the default value.
E.g. for a bot with Weather plugin, if all the users are located in Russia, in order not to make them determine the measurement scale (Celsius or Fahrenheit), we can check “Skip” and input “Celsius” in Default value.
Updated over 2 years ago