Converse Platform Extensions open up the ability for you to extend the Converse AI platform to your own business requirements.
Currently Platform Extensions allows you to extend the platform in two main areas:
Converse already has several hundred Chatflow modules built in, but now you can also add your own, including full UI integration.
You can add your own custom endpoints to trigger actions in Converse based on your own requirements.
Before we jump into code lets go through the high level concepts that are used in extension development.
A Plugin is the container that you write your extension in, each plugin needs to be given a unique id within your account. The
converse-cli plugin init will request the necessary information on setting up a plugin.
A Module is a Chatflow module that can be used in the conversational templates. If you login to your converse account and check out the designer, on your left panel you will see such modules which have been already written by Converse AI developers, these may vary from simple logic checks to integration with other services e.g Stripe, Paypal, Hubspot etc..
converse-cli plugin module you can create and manage modules. This is one of the major features of the platform extensions.
This extension gives the ability to create an externally accessible endpoint for your plugin. This endpoint can then be supplied as web hook to a external system.
The platform extensions are added to Converse AI as plugins. Plugins are written using Node.JS, and can implement one or more type of extensions.
We have made this process very easy through a Command Line Interface which can help you create, manage and deploy extensions, by building the necessary framework, plugin configuration and skeleton functions for you, leaving you to just write the necessary logic required.
When you have finished writing your Extension Plugin, it's time to deploy it to the Converse Platform, this is done using the following command:
Doing this then triggers several steps to occur to ensure your Plugin is working correctly:
- We upload your code to the Converse Platform, and satisfy any dependencies required, as specified in the package.json file.
We do not upload dependencies directly so retrieving dependencies from private repositories is not supported!
We then start your module(s) and run a set of tests to ensure they respond correctly.
We then register your Plugin in the platform, and any extensions will appear in the web interface to be used as required.
Your code will always run in an isolated and restricted ephemeral execution environment, you will not have any direct inbound access to the environment and is limited to 256mb of RAM by default.
Your plugins execution environment is ephemeral, so using the disk store data at runtime is highly discouraged.
We do not support developing and deploying from Windows OS at this time.