Installation and configuration
Last updated
Was this helpful?
Last updated
Was this helpful?
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
A separated dedicated appliance with Oracle Linux 8 is required for the deployment.
Do not run any Engine or Portal on the same server.
For dimensioning details, please check .
The server must have access to the Internet to download required libraries during the installation.
The Oracle Linux 8 server must have Docker version 27.2.0 installed. Otherwise, these will be automatically downloaded from the Internet during the installation process.
There must be a dedicated nexthink
user with sudo
privileges with home /home/nexthink
in the appliance. If the nexthink
user doesn’t exist, create one.
Nexthink 6.30 or higher
Nexthink Engines with licenses for Integrate, Act and Engage modules
Local user in Nexthink Portal with a profile that allows for Web API access and remote action execution For more details on how to configure this in Finder, go to and configure the profile section.
We recommend creating a new user in Portal for Chatbot SDK integration. The information is required during the installation process.
The necessary remote actions are installed and configured in Engines.
If you want to use the out-of-the-box catalog, install the Chatbot Content Pack, available in.
Remote actions must be configured as explained in the remote actions settings section.
Installation and configuration of remote actions is necessary before Chatbot SDK is installed.
If you are using a regular Oracle Linux 8 instead of a Nexthink appliance, please ensure it is up to date by running:
$ sudo yum install -y yum-utils unzip
It may require sudo
permissions.
Download the file nexthink-chatbot-adapter-X.X.X.zip
, save it on the Linux appliance at the /home/nexthink
directory and decompress it.
$ cd /home/nexthink
$ unzip nexthink-chatbot-adapter-X.X.X.zip
$ cd nexthink-chatbot-adapter-X.X.X/
If needed, add the Nexthink user execution permission for the scripts.
$ chmod +x scripts/nexthink-chatbot-adapter-*.sh
Execute the installation script and pass the tgz path you want to install as a parameter.
If you do not have a separated file with the list of Engines:
$ ./scripts/nexthink-chatbot-adapter-install.sh ./nexthink-chatbot-adapter-X.X.X.tgz
$ ./scripts/nexthink-chatbot-adapter-install.sh -c ~/my_engines.yaml ./nexthinkchatbot-adapter-X.X.X.tgz
The installation script is going to check if your environment meets the installation requirements and check the tgz file. It creates the installation directory at /var/nexthink/nexthink-chatbotadapter
and decompresses the tgz file into the installation directory.
During the installation process, you will be asked to include certain configurations via a prompt.
Portal and chatbot ingress network configuration including users and passwords are required as described in the following steps.
The script will prompt for the following values:
PORTAL_HOST
: FQDN or IP of your Portal host
NEXTHINK_PASS
: Finder or Portal user password
CHATBOT_ADAPTER_PORT
: By default, the external TCP port for incoming connections to Chatbot SDK is 8090
PROXY_URL
(optional): FQDN or IP of the proxy, including the protocol http://
or https://
. Empty for no proxy configuration.
PROXY_USER
(optional): The proxy user if basic authentication is used. Empty if no proxy configuration or no authentication is required.
PROXY_PASSWORD
(optional): The proxy password if basic authentication is used. Empty if no proxy configuration or no authentication is required.
These values will be stored in a file located in the installation directory:
/var/nexthink/nexthink-chatbot-adapter/.env
The script asks for confirmation in case you want to automatically load the Engine configuration values from Portal, which was configured in the previous step.
Please note that the Portal API used to retrieve Engine information does not provide the Web API ports. They are set by the script with the following default values: 1671 for on-premise and 443 for Cloud deployments. If other ports differ from the default ones for the Web API, you need to manually modify the resulting engines.yaml
file to include the correct ports. In order to apply these manual changes, the Docker containers need to be restarted. To do so, navigate to the folder where the original zip was decompressed and execute the restart script:
$ ./scripts/nexthink-chatbot-adapter-restart.sh
If you choose not to load any configuration from Portal you may enter the Engine configuration manually. You can enter as many Engines as needed.
Engine Address
: FQDN or IP of Engine host
Engine Port
: Engine Web API port. The default value is 1671 for on-premise deployments and 443 for Cloud deployments. You may need to modify these values if you are not using the default ports.
In order to configure the local cache, the script will automatically extract all suitable fields from the NXQL queries found in the topics in the config
directory and create the /var/nexthink/nexthink-chatbot-adapter/config/cached_fields.yaml
file with a list of all the fields.
Once you have configured the installation, the script will load the Docker images and will start the Docker containers.
You must log out and log in to be able to run Docker commands successfully.
$ docker ps
If remote actions are different from those provided in the content pack, then you should customize the remote actions in:
/var/nexthink/nexthink-chatbotadapter/topics/remote_actions.yaml
Verify that the remote actions mentioned in the file exist in your Nexthink installation. You can find them by their name. Below is an example of what to replace:
$ vi /var/nexthink/nexthink-chatbot-adapter/config/topics/remote_actions.yaml
repair_outlook_ost_problem:
name: Repair Outlook OST Problem
UID: 130bb94e-3e0b-f87c-e2::/vb8-3a2d022394fe
set_outlook_online:
name: Set Outlook online
UID: 683c5c12-6160-913a-99df-6087dbefab6c
clear_outlook_autocomplete_cache:
name: Clear Outlook AutoComplete Cache
UID: 24c76f25-dcbe-26b9-0fec-b118cce4075d
disk_cleanup:
name: Disk Cleanup
UID: bf8fe752-03b8-4936-a51c-769705e1fd3d
It is necessary to update the UID value in the file if it differs from the UID in the installation.
After all the remote actions have been properly configured in Finder to be either launched manually or automatically, it is recommended to restart the containers. Navigate to the folder where the zip was decompressed and execute the restart script:
$ ./scripts/nexthink-chatbot-adapter-restart.sh
$ docker ps
To check the correct configuration of the deployment, call the API to assure it is working properly.
If the API Key was not previously generated, use curl to generate it:
<Nexthink_user>
is the local user in Nexthink Portal added during the installation.
If the API key was generated previously, use:
Ensure that only one API key is valid at a time. The key is not regenerated at restart, and it never expires. However, once you generate a new one, the previous one is automatically invalidated.
Validate that the endpoint is working by listing the topics:
$ curl -k -H "X-API-key:" https://localhost:8090/v1/topics
Validate access to Engines by finding the devices for an employee.
Find the employee in Finder.
Retrieve the employee devices by sending the API Key as a custom header.
$ curl -k -H "X-API-key:" https://localhost:8090/v1/user//devices
Example:
Check the logs to verify that the installation is going as expected. Each log can be read from the stdout
of each container. For instance, for an overview of incoming and outgoing requests, we can check the chatbotingress
logs.
You will have to write Docker commands during the installation process. For more information, refer to .
For the Engine list created in a separated Engine YAML configuration file, use the following command. Please refer to for more details:
NEXTHINK_USER
: Finder or Portal user described in the section
Optional: there are other advanced variables that have default values and are not required to be modified for the default configuration. If needed, they can be changed manually later by editing the /var/nexthink/nexthink-chatbot-adapter/.env
file. For more details, please check the page.
Engine Database UID
: This value can be taken from the Portal API or it can be left blank if it is unknown. Please refer to the section for more details.
Engine Timezone
: Engine timezone as it appears in , for example, Europe/Madrid.
This information will be stored in the file located in the directory /var/nexthink/nexthinkchatbot-adapter/config/engines.yaml
. The file will be populated automatically with the information included during the installation prompts. It can be changed manually at a later time as described on the page.
You can change the self-signed SSL certificate included in the installation by your own trusted SSL certificate. This can be done by following instructions on the page.
Follow an installation checklist in the guide if you have trouble with any of the steps listed above.