Botium Connector for Landbot
This is a Botium connector for testing your Landbot API chatbot.
Did you read the Botium in a Nutshell articles? Be warned, without prior knowledge of Botium you won't be able to properly use this library!
How it works
Botium connects to the API of your Landbot chatbot.
It can be used as any other Botium connector with all Botium Stack components:
Requirements
- Node.js and NPM
- a Landbot API bot
- a project directory on your workstation to hold test cases and Botium configuration
Install Botium and Landbot Connector
When using Botium CLI:
> npm install -g botium-cli
> npm install -g botium-connector-landbot
> botium-cli init
> botium-cli run
When using Botium Bindings:
> npm install -g botium-bindings
> npm install -g botium-connector-landbot
> botium-bindings init mocha
> npm install && npm run mocha
When using Botium Box:
Already integrated into Botium Box, no setup required
Connecting Landbot chatbot to Botium
Process is very simple, you have to know just the Auth token of your Landbot API channel.
Create a botium.json with this Auth token in your project directory:
{
"botium": {
"Capabilities": {
"PROJECTNAME": "<whatever>",
"CONTAINERMODE": "landbot",
"LANDBOT_TOKEN": "..."
}
}
}
To check the configuration, run the emulator (Botium CLI required) to bring up a chat interface in your terminal window:
> botium-cli emulator
Botium setup is ready, you can begin to write your BotiumScript files.
How to start samples
There is a small demo in samples with Botium Bindings. It uses real Landbot API chatbot.
Real Landbot API chatbot sample
- Setup your Landbot API chatbot in Landbot app. Create a new Landbot API chatbot. Modify the basic template according to this screen:
- Install the dependencies and botium-core as peerDependency:
> npm install && npm install --no-save botium-core
- Navigate into the samples/real directory
-
Install the dependencies
> cd ./samples/real > npm install
-
Adapt botium.json in the sample directory:
- Change Landbot token
-
Start
inbound-proxy
(it will listen onhttp://127.0.0.1:45100/
):> npm run inbound
-
In your Landbot channel you need to set
HOOK URL(S)
according to the previous step set up inbound-proxy url. (To make this localhost url public you can use e.g. ngrok) -
Finally run the test
> npm test
-
Supported Capabilities
Set the capability CONTAINERMODE to landbot to activate this connector.
LANDBOT_TOKEN
Landbot channel AUTH TOKEN
field
LANDBOT_API_TOKEN
This capability is need only if nlp data has to be processed as well e.g. for using it with botium-coach. In this case you can find your API token under you landbot app account.
Info: You need have a dialogflow integration in you Landbot API chatbot, and in dialogflow configuration the Query Response has to be set.
LANDBOT_QUERY_RESULT
The value of this capability is query_result
by default.
The same value has to be set here as in the Query Response field in your dialogflow integration.
If you don't set LANDBOT_API_TOKEN, this capability is ignored.