0.0.4 • Published 3 years ago

botium-connector-einsteinbot v0.0.4

Weekly downloads
9
License
MIT
Repository
github
Last release
3 years ago

Botium Connector for Einstein Bots

NPM

Codeship Status for codeforequity-at/botium-connector-einsteinbot npm version license

This is a Botium connector for testing your Salesforce Einstein 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 your Einstein chatbot using the Salesforce Live Agent REST API.

It can be used as any other Botium connector with all Botium Stack components:

Requirements

  • Node.js and NPM
  • a Einstein bot
  • a project directory on your workstation to hold test cases and Botium configuration

Install Botium and Einstein Connector

When using Botium CLI:

> npm install -g botium-cli
> npm install -g botium-connector-einsteinbot
> botium-cli init
> botium-cli run

When using Botium Bindings:

> npm install -g botium-bindings
> npm install -g botium-connector-einsteinbot
> botium-bindings init mocha
> npm install && npm run mocha

When using Botium Box:

Already integrated into Botium Box, no setup required

Connecting Einstein chatbot to Botium

You have to collect some information from your Salesforce instance - see capabilities description below.

Create a botium.json in your project directory, filling in the required information:

{
  "botium": {
    "Capabilities": {
      "PROJECTNAME": "<whatever>",
      "CONTAINERMODE": "einsteinbot",
      "EINSTEINBOT_ENDPOINT": "xxx",
      "EINSTEINBOT_ORGANIZATION_ID": "xxx",
      "EINSTEINBOT_DEPLOYMENT_ID": "xxx",
      "EINSTEINBOT_CHATBUTTON_ID": "xxx"
    }
  }
}

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.

Cleanup Salesforce Live Chat Transcrips

The Live Chat Transcripts generated by the Botium Tests will count against your Salesforce data storage limits (check it in Service Setup | Settings | Data | Storage Usage). To delete it you can use the Salesforce Dataloader, or if you don't want to install it:

  • Open the Salesforce Workbench and login
  • Use the Queries / SOQL option to download the Salesforce ids of LiveChatTranscript (SELECT Id FROM LiveChatTranscript), LiveChatTranscriptEvent (SELECT Id FROM LiveChatTranscriptEvent) and LiveChatVisitor (SELECT Id FROM LiveChatVisitor) as Bulk CSV
  • Use the Queries / Delete option to upload the CSV files and delete ALL THE RECORDS FROM THE BEFORE MENTIONED TABLES (be very careful)
  • In Salesforce, use the Recycle Bin to finally delete those records

Supported Capabilities

Set the capability CONTAINERMODE to einsteinbot to activate this connector.

EINSTEINBOT_ENDPOINT

Chat API Endpoint

Find it in Salesforce: Service Setup | Channels | Chat | Chat-Settings

EINSTEINBOT_ORGANIZATION_ID

Organization Id

Find it in Salesforce: Setup | Company Settings | Company information

EINSTEINBOT_DEPLOYMENT_ID

Deployment Id

Find it in Salesforce: Service Setup | Channels | Chat | Deployments, click on deployment and get it from the page url (address=%2F)

EINSTEINBOT_CHATBUTTON_ID

Chatbot Button Id

Find it in Salesforce: Service Setup | Channels | Chat | Chat Buttons, click on button and get it from the page url (address=%2F)

EINSTEINBOT_VISITORNAME

Visitor name (optional)

Visitor name to be used for the Botium conversations