Teneo Developers

Teneo Studio

Global Pre-logging script

The Teneo Platform introduces a new Pre-logging script in the Globals' section of Teneo Studio, allowing users to access the dialogue history to remove sensitive log data, for example PIIs, before these are written to logs or to encrypt data before it leaves the Teneo Engine.

The new Pre-logging script has session scope and allows for (partial) access to the dialogue history through engineAccess and is then executed after a session has completed (after endDialog), but before the data is written to the logs, allowing users to modify, for example, the properties of the below mentioned content, to remove personal data:

  • Input / Output text
  • Input / Output Parameter values
  • Variable values (Global, Flow, NLU, annotations, ...)
  • Input Processing data, i.e. sentence splitting and normalization.

The structure of data, e.g. the number of transactions or events, is not modifiable by the user, but the Pre-logging script does allow to modify the content of properties within the session, such as properties which can contain session specific user derived data but furthermore also allows to make calls to external endpoints, for example if the user wants to deploy an external PII finder service.

The nested class EngineAccess.DialogHistoryUtilities provides the utility methods available for modification of the dialogue data, being the main methods redact, remove and replace.

Redact allows to replace a specific range of the user input text with a given mask character, remove allows to discard, for example, selected variables or metadata from all maps and replace allows to change, for example, matches of a specified string in all answer/output texts or the values of selected request parameters.

For more specifics please see the DialogHistoryUtilities page in the Engine Scripting API Javadoc.

Improvements and fixes

Various User Driven Improvements and fixes are performed throughout Teneo Studio, see details in the below sections.


In a Quality Controlled solution, the publication process enforces that the solution is first published to Development (DEV), then Quality Assurance (QA) and lastly to Production (PROD); this last step has up till now been done from the QA environment forcing the user to choose republish to Production selecting the wanted environment, however now the same workflow is supported when the user chooses to publish directly in the Production environment allowing to select from which QA environment the publication should be done.

Publishing directly from QA environment


Image support is added to Publish Environments in Teneo Studio - together with Scripted Context and Integrations - allowing users to customize the images displayed next to the publishing environments by simply editing the Publish Environment, clicking Change image... and browse to the wanted image file.

Customize image of Publish Environments

Allow hot deploy

A bug discovered in Teneo 6.1.1, when disabling "Allow hot deploy" (i.e. the setting was unchecked) in a publication target, causing that the machine learning model file was not available after publish has been fixed to ensure correct behavior of published solutions.

Solution Properties, Log and Revisions

  • The settings for solution language and Quality Assurance can only be edited when the solution is closed by clicking the Edit button available above the Solutions list.
  • A solution which was created in Teneo Studio 6.0 or before and had gone through the upgrade to 6.1 whereafter the user sets a revision previous to the upgrade to stable would sometimes create an erroneous Stable list; this has been reviewed to ensure that the list of Stable elements is set correctly.
  • An issue with the active session's token causing the Solution Log to not update correctly has been fixed.
  • For versions of documents that were created before the introduction of Revisions, Teneo Studio will no longer display a spinning wheel, but rather an informative symbol indicating that the viewed version doesn't have a revision number.
  • When moving a folder with documents to a new location in the Solution Explorer, then hovering over a document within the moved folder, the location of the document is again displayed correctly.


  • Multi-selection of Listeners when creating a new Listener has been reviewed to ensure correct selection.
  • The Save All action, when saving a Global Listener and the Listener Ordering at the same time, has been reviewed to ensure correct save of the elements as well as proper display of relevant messages in Try Out.
  • Concurrent creation of Global Listeners causing an unexpected exception due to locking has been reviewed and improved.
  • A use case which caused the Teneo Studio frontend to crash when adding both a Boolean Metadata and a bundle Metadata with a Boolean sub-definition has been reviewed and fixed.


  • A use case where a renamed folder name wouldn't be displayed correctly when running Auto-test has been reviewed to ensure correct display of folder names.
  • Results in the Auto-test page are again displaying first the Positive Examples of a Flow followed by the Negative Examples.

Classes / Class Manager

  • Bulk deletion of Classes has been reviewed to ensure correct behavior when one or more of the Classes are locked by another user.

Try Out

  • To highlight when more messages (such as multiple println or warning messages) are available in the Messages view of the advanced Try Out, the simple Try Out now provides informative messages linking to the advanced Try Out for easy access to available messages.

Try Out, 17 more messages

  • Creating a Flow with an empty Flow link in earlier versions of Teneo Studio would - after save - cause the Try Out Engine startup to fail with an Unexpected error creating engine message as well as Publish would fail with an Export Exception error code. This use case and the provided error messages have been reviewed to ensure appropriate messages are provided to the user.


  • A use case, where the user force delete a metadata assignment, delete the Flow and later try to restore the same Flow causing display of a warning messages due to missing Metadata assignment, has been reviewed to ensure that the Flow restores properly.
  • The "Disabled" message in the top of the Flow window is now removed correctly when a Flow is enabled again.

Condition Editor

  • Disabled Language Objects and Entities are again displayed correctly in conditions where these are used and referenced.
  • The Auto-complete functionality again works when the user requests suggestions based on words containing special characters such as ^, $ and %.

Localization setup

  • Restoring a Language Object, Flow or Entity in a Master solution from Recycle Bin by dragging the object into a folder different from where the object was stored before deletion now generates the correct notification in Local solutions.
  • Improvements are performed to ensure correct behavior in the context of Localization setup (where some properties/fields are Master controlled) when a user of a Local solution restores an object (Flow, Language Object or Entity) to a previous version.
  • The Reset button is removed from Master controlled Language Objects, Flows and Entities in the Recycle Bin.
  • The Reset with comment button again works correctly.