Downloads and release notes
This document provides comprehensive information about the introduction and concepts around Nexthink Chatbot SDK, its API and use cases. The information contained herein is subject to change without notice and is not guaranteed to be error-free. If you find any errors, please report them to us via Nexthink Support Portal. This document is intended for readers with a detailed understanding of Nexthink technology.
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.
Last Release
Version: 3.0.0
Downloads
Release notes
Version 3.0.0
September 15, 2024
Fix CVE-2024-41110 vulnerability in Docker.
Remove compatibility with CentOS 7.
Version 2.1.3
November 15, 2023
Better support for installations in Nexthink Appliances based on Oracle Linux 8.
Version 2.1.2
November 7, 2023
Fixed security vulnerabilities in third-party dependencies.
Version 2.1.1
November 6, 2023
Fixed security vulnerabilities in third-party dependencies.
Version 2.1.0
October 16, 2023
Support for installations in Nexthink Appliances based on Oracle Linux 8
Version 2.0.0
February 8, 2022
TLS 1 and TLS 1.1 are not supported anymore and restricted the list of cyphers to those that are secure.
Version: 1.2.0
April 17, 2021
Proxy support (with None or Basic authentication). New configuration variables on the .env file:
PROXY_URL=
PROXY_USER=
PROXY_PASSWORD=
Changes in topics
Updated topics l1_device_checklist, app_outlook_issues, pc_slow and device_bad_health
Other changes
Added a restart script that provides a cleaner way to restart the Chatbot Adapter while storing relevant logs.
Support script also gathers the historical logs stored by the previous script.
Some other minor bug fixes and code improvements
Version 1.1.0
April 30, 2020
Improvements in remote actions handling
Chatbot adapter now uses the newest version (v2) of the Portal API to trigger remote actions targeting specific Engines.
Nexthink version 6.26 is required to use this functionality (API v2 is available from that release).
In versions 6.25 and earlier legacy API v1 is used.
Better response codes with a more granular description of errors
Nexthink version 6.26 is required to use this functionality (API v2 is available from that release).
Bugfix for a race condition that prevented proper retrieval of the status of a remote action
Some other minor bug fixes and code improvements
Changes in the install/update process
During the update, new interactive option to keep existing remote actions and topics YAML configuration files
New interactive option to automatically discover Engines during the installation/update, with the information provided by the Engine list API in the Portal
Nexthink version 6.24 or later is required to use this functionality.
Improvements in troubleshooting
Added support script that gathers relevant information for better debugging and analysis
Console output of the install/update/uninstall processes is stored in log files.
Changes in topics
Removed diagnoses from topics pc_slow, app_outlook_issues and device_bad_health
Version 1.0.2
December 19, 2019
Changes related to user activity
All devices are included in the cache and therefore available on the SDK if the last_seen NXQL field is newer than the period configured for USER_ACTIVITY_PERIOD.
The new configuration file, discovery.yaml. The discovery query can be configured to filter users by user_activity or execution.
All the times returned by the chatbot adapter contain the timezone information (ISO8601 format):
1.0.1 - 2019-12-18T21:28:43
1.0.2 - 2019-12-18T21:28:43-01:00
Fields can be compared with other fields in the topic condition. Before it was only possible to compare them with values.
Contains operator allowed wildcards ("*" and "?")
Version 1.0.1
October 10, 2019
Performance improvements in the Discovery process
Added new configuration variables for USER_ACTIVITY_PERIOD (30 days by default) and for POSTGRES_PASSWORD (a default value was provided, but now a new value is randomly generated upon installation).
Some minor code improvements and better error handling
Added scripts for update and for uninstallation. Additionally, installation and update processes now roll back to the previous state if something goes wrong.
Bugfix on script parsing the cached fields during installation. Cached fields file syntax has also changed.
Topics now moved into their own directory /topics: /config/outlook_issues.yaml -> /config/topics/outlook_issues.yaml
Version 1.0.0
July 24, 2019
Lowered throttling limits for Engines and Portal
Optimized deletion in the Discovery process
Added distinct (!=) operator for numeric values
Timeouts for topic and discovery requests are now customizable
Cleaning of topics to reduce the number of cached fields
Bugfixes properly showing/handling some error messages
Version 0.8.0
July 9, 2019
Improvements in configuration
Updated topics app_outlook_issues.yaml, device_bad_health.yaml, l1_device_checklist.yaml and pc_slow.yaml
Changes in API
Changed API key generation endpoint, now use POST instead of GET
New endpoint to retrieve the current API key using GET and the username and password
Bug fixes
Long dynamic field names were truncated and broke the cache for some NXQL queries.
Incorrect permission on config directory
The cache was not working properly for RA response values.
Other changes
Added the option to customize CHATBOT_ADAPTER_PORT during the installation and upgrade process
Improved concurrency management and protection
Improved security for API key validation using constant time response
Version 0.7.1
June 25, 2019
Bugfix, the cache was not working properly for dynamic cache fields.
The cached data will expire after the third failed attempt (3 hours of no response from the engine by default).
Version 0.7.0
June 19, 2019
Chatbot authentication with an API key on custom HTTP header (X-API-Key) instead of login and password. Use endpoint api_key described on the API to generate a token. Only one token is valid at a time.
New topic, print Issues
Topics versioning
Script to automate cached fields configuration
Throttling configuration to avoid Engine and Portal overload
Now, the topics OneDrive Installation, OneDrive Issues, Outlook Issues and PC slow don't execute the remote actions for diagnosis. The remote actions Get OneDrive Status, Get Outlook Online, Get Startup Impact, Get Battery Status, Get Gpo Startup Impact and Get Hardware And BIOS Information should be configured to be executed periodically.
Version 0.6.0
May 29, 2019
Case insensitive user and device search
Content pack with the needed remote actions
Device fields are cached on the local database to minimize Engine queries. This is configurable by editing the file cached_fields.yaml.
When retrieving RA information, queries are grouped to minimize the impact on the Engines.
New scripts (all scripts are now under scripts directory):
Requirements installer nexthink-chatbot-adapter-req-install.sh
Install and update nexthink-chatbot-adapter-install.sh
Log retriever nexthink-chatbot-adapter-log.sh
Version 0.5.0
May 7, 2019
Multiengine support, more than one engine can be configured now. Engines configuration is done on the engines.yaml file. Queries are redirected to the appropriate engine without further necessary changes on the API.
Improved topic error information. Check OpenAPI for more information regarding the JSON structure. Example:
Basic data from devices cached on a local database to minimize queries to engines. Refresh frequency default is one hour and it can be configured.
Container logs are stored with the local machine time instead of UTC.
New time-related fields for devices and users:
last_seen indicates the last time that activity on the device was reported.
user_last_activity_time is the time of user logon or interaction.
New configuration variables on .env file:
PORTAL_HOST=192.168.5.5
NEXTHINK_USER=user
NEXTHINK_PASS=pass
CHATBOT_USER=user
CHATBOT_PASS=pass
CHATBOT_ADAPTER_PORT=8090
CHATBOT_CACHE_REFRESH=1h
Version 0.4.0
April 4, 2019
New topic: OneDrive Issues
New endpoints to retrieve list of topics (name) and remote actions (id, uid and name):
/topics
/remote_actions
New endpoint to retrieve the status of a remote action:
/remote_action/{ra_id}/{device_uid} (GET)
Endpoint to execute a remote action updated from /remote_action/run/{ra_uid}/{device_uid} to:
/remote_action/{ra_id}/{device_uid} (POST) Note that the parameter is no longer the UID but the id configured on the YAML file.
Now the output of the topic diagnosis returns the id and the endpoint of the remote action, for example:
Version 0.3.0
March 28, 2019
Outlook topic updated with Get Outlook Online remote action
More information about errors when processing a topic
New topic: Skype for Business issues
New Endpoint to get the status of a RA: /remote_action/result/{device_uid}?name={remote_action_name}
Default port for ingress changed from 8080 to 8090
Version 0.2.0
March 13, 2019
Installation video
Config files syntax is now YAML
Multiple config files allowed
Configuration for remote actions on a different file (remote_actions.yaml)
New topics:
PC health check
PC slow
Device bad health (called device slow before)
Improved logging information
New endpoint /device to retrieve information from a device
Endpoint /user/{user_id}/devices now allows to specify the type of id to use to identify the user.
Topics now provide more detail about the diagnosis (detail_level).
Version 0.1.0
March 1, 2019
Initial version with first topic examples
Last updated