Teneo Developers

Teneo Studio

Teneo Studio Web

The Teneo Platform 7.0 release introduces a completely new Studio Web User Interface (UI) bringing to the developers a Teneo Studio available through their browsers without the need to download and install the Teneo Studio Desktop application for a first glance of what the Teneo Platform has to offer.

The new Studio Web is an additional UI which allows for parallel development in Studio Web and the Teneo Studio Desktop application with locking of documents in edit mode and the possibility to create and edit Flows, Language Objects and Entities.

The Teneo Studio Web 7.0 includes a subset of the available features known from Teneo Studio Desktop, including the following:

  • Login page
  • Solutions "Home" page with Solutions list
  • Solution dashboard
  • Simplified Solution creation
  • Creation and editing of Language Objects, Entities, Flows
  • Tryout

Home - Solutions list

After successful login, the Teneo Studio Web user is taken to the Home page which includes the Solutions list.

Here the developer will find the Home button which allows to navigate back to this view from any place in the solution, a user menu in the top right side of the browser window which allows to see information about the currently logged in user and an option to log out as well as - of course - the Solutions list which can be filtered by text or by clicking an object in the header (solution name, state, language and updated).

Opening a solution as well as the documents in a solution is done by simply clicking the name and while navigating the solution path is displayed in the top ribbon allowing the user to easily click and return to a place which was previously viewed.

Learn more in the Teneo Studio pages of documentation

Create solution

A Create button is available in the view of the Solution list (in the lower right corner of the browser window) which allows to create new solutions.

Create button

The process of creating a new solution in Teneo Studio Web guides the developer through a 3 step process: first allowing to select the language of the solution, secondly displaying the available options for solution content for the developer to confirm and lastly allowing the developer to give the solution a name and optionally a description before clicking create.

Create Solution wizard

Note that any lexical resource(s) available for the selected language are automatically assigned to the new solution.

Solution dashboard

The Solution dashboard is the first view of an open solution, and it brings an overview of the documents available in the solution (Flows, Entities, Language Objects) including a view of the last edited and created documents; clicking the right-pointing arrow allows to display a list of all the documents of the selected type available in the solution, which allows to not only see all documents of a specific type in the solution at once but also to filter on location, name, updated, status, etc.
Clicking the Plus icon in the top of any of the document types allows to directly create a new document of the selected type.

In the Solution dashboard, the Solution Structure provides a view of the total number of documents available in the solution and clicking the right-pointing arrow allows to access the folder structure of the solution and navigate through the folders and documents.

Read more in the Solution window's page

Create documents

The Create button stays visible when a solution is opened, providing the options to create folders, Language Objects, Flows and Entities; note that from the lists of documents per type (accessible from the Solution dashboard) it is only possible to create the same type of document as currently displayed.

When clicking Create, Teneo Studio displays the new document wizard asking the user to provide the document with a name and, optionally, a description. When creating Flows it is furthermore possible to add Flow Variables in the new document wizard by simply clicking the Plus icon next to Variables.
When the details are filled out, simply click Create to create the new document in the solution.

Add Flow Variable

Learn more visiting the Solution Basics page or the Document Basics page of documentation.

Flow

The Flow in Teneo Studio Web provides the developer with a Flow overview in the upper, right side of the view which, by moving and resizing the blue-colored square, allows to navigate and zoom in/out on the Flow nodes and elements being particularly useful when working with larger Flow structures. The developer, furthermore, has direct access to the Tryout via the button in the lower right side of the window.

Flow

Flow editing is performed inside each of the nodes providing the developer with an overview of what is going on where at all times in the Flow. Adding new nodes and functionalities is done via Plus icons which are displayed throughout the Flow graph, and where each Plus contains the exact options relevant for the particular place in the Flow and in this way guides the developer through the process of the Flow creation by only showing options relevant for the developer at the given time.

More verbose menu texts helps guiding the user in the Flow building process, so that after a User Intent has been defined and a Match added, the following After Match Plus icon provide the developer with the options to, for example, extract the value of a Language Object variable (if matched in the input) or execute a script. Further down, after raise, the developer can choose to Continue with maybe an Integration or Split the path to a transaction element to interact with the end user.

Transaction allows to insert a Give Response, User Intent and Bot Output in one go.

Clicking the Plus before the drop allows the developer to Fork to by adding multiple complete transactions or transaction elements at the same time; the developer will have to specify the amount of times they would like to fork the element and in a few clicks Give Response, User Intent and Output nodes are added to the Flow the selected number of times.
The TODO label (known from Teneo Studio Desktop) advices the developer when one or more nodes still need implementation making it easier to know which parts of the Flow implementation(s) is still missing.

Complete list of Plus options available in the Appendix

Raise and Drop events

Raise and Drop labels are displayed in the Flow graph indicating when these events take place in the dialogue. They are merely informative and no actions can be performed on these labels.

Give Response

A transition is, by default, set to continue to the next node in the Flow without asking the end-user for an input, but in certain use-cases, it might be meaningful to have a pause in the Flow, where the bot provides all the (pending) outputs up to that point in the Flow to the end-user (and wait for a new input from the end-user); In Teneo Studio this "behavior", where the pending output(s) are provided and the bot waits for a new input, is visualized with a Give Response label in the Flow editor.

Complete list of Flow nodes, labels and elements is available in the Appendix

Language Objects

A Language Object in Teneo Studio Web provides the developer with a TLML Syntax editor to edit the syntax of the object in Teneo Linguistic Modeling Language; variables can be added by opening the Variables panel in the left side of the window.

Language Object

Read more about Language Objects in the documentation

Entities

In the Entity, the developer can add data entries, as well as string and/or script variables. Editing is done easily in the entries editor by clicking Add Entry where pressing Enter allows to jump to the next line and Tab will move to the following column. Clicking the name of a Variable allows to change it, while sorting can be done by clicking the arrow in the header; the three black dots allows to change variable type or delete the selected variable.

Entity

Learn more in the Entity section of documentation

TLML Syntax editor

The Syntax editor in Teneo Studio Web, for example in TLML Syntax Matches and Language Objects, brings the syntax highlighting already known from Teneo Studio Desktop as well as the Auto-complete function and the Condition building assistant (Ctrl + space after starting to write a word or Language Object/Entity reference).

Read more in the Teneo documentation

Tryout

A simple Tryout is available in Teneo Studio Web and by clicking the Tryout button, available in the lower right corner, a chat window will open.

Tryout button

The Tryout supports inputs and outputs, and allows to chat with the solution to quickly test implementations and ensure correct behavior of a given dialogue; to test an input simply write the text in the text field at the bottom and either press Enter or click the Send button.

Tryout

The Tryout is currently only available in one tab at a time and only for one solution at a time (in case of having different solutions open in different tabs).

Supported browsers

For information related to the supported browsers, please see here

Teneo Studio Desktop

The Teneo Studio Desktop application has been aligned with the new Teneo Studio Web User Interface (UI), bringing a simplified Solution creation process which is less error prone, smother and quicker; also, the creation of documents is simplified and hence the first steps when creating a solution as it is now possible to create Flows, Entities and Language Object directly in the solution root with no need to create a folder first.

Furthermore, the Flow window has undergone changes and the Plus icons - again from the Web UI - have been implemented in the Flow graph of Teneo Studio Desktop together with more verbose menu options to help guide the developer through the creation of new flow dialogues.

Solution creation

The process of creating a new solution in Teneo Studio has been simplified and the New Solution wizard guides the developer through a three step process: first allowing to select the language of the solution, secondly displaying the available options for solution content for the developer to confirm and lastly by allowing the developer to give the solution a name and optionally a description before clicking OK.

Create Solution wizard

When the new solution has been created, Teneo Studio now prompts the developer to either close the "Solution creation" message or open the solution and hence does not automatically open a newly created solution anymore.

Lexical Resources auto-assigned

Now, when creating new solutions and after selecting the wanted solution language, all available lexical resources for the selected language will automatically be assigned to the new solution; this means that when a Teneo Lexical Resource is available the latest version is automatically assigned to any new solution and the developer no longer needs to go to the backstage of a solution to assign the resource(s) manually.

Solution properties

Solution properties, such as Location, Confidence Threshold or Quality Control, known from the solution creation process of former Teneo Studio versions are still available and can be modified once the solution is created and opened in the Solution tab in the backstage under Properties.
The modification of the solution's language is though no longer possible; should the developer want a solution in another language, the only way to do this is to create a new solution selecting the other language in the create solution process.

Prefix

The option to add a Prefix to the autogenerated document number of Flows, Language Objects and Entities has been removed from Teneo Studio.

Create solution from imported file and merging solutions

The option to create a solution from an imported file has been removed from the new solution creation process and is now instead available in the Import/Export tab (with no solution open) by selecting Import Solution.
Merging an existing solution with a previously exported solution by importing additional content from file has been moved inside the solution and is now available in the Import/Export tab in the backstage of Teneo Studio by selecting Add Content when the solution is open.

Localization setup

When branching a Master solution, the Branch Solution wizard is reworked similarly to the New Solution wizard and guides the developer through the branching process, starting with the language selection and next allowing to select the solution content: "Master and Template", "Master and Imported File" or "Master only". Lastly the developer should give the solution a name and optionally add a description before confirming the branching by clicking OK.

Solution root folder

The solution's root folder is now exposed in the Solution Explorer making it possible to start creating solution content without worrying about first creating a folder as in previous Teneo Studio versions.
The root folder shares its name with the solution and cannot be renamed nor removed from the solution and new folders created in the solution are added within the solution root folder (i.e. it is not possible to add other folders at root level) and therefore when running an Auto-test of the root folder, the developer is effectively running a solution Auto-test.
The view of the root folder, which is automatically expanded always, allows to perform copy/paste actions, but drag/drop is not possible to the root folder although it is allowed from the folder. The History button and Edit button are both disabled for the root folder.

Flow editor

The Flow editor has been aligned with Teneo Studio Web and brings Plus icons to the Flow graph. The Plus icons are displayed throughout the Flow graph where more nodes and functionalities can be added, and each Plus icon contains only the relevant options for the particular place in the Flow graph which is selected allowing to better guide developers through the process of creating and implementing Flows.

Flow editor

The new menu texts, when clicking a Plus icon, are more verbose and informative and seek to help developers to choose the option of what they want to do in the Flow at that particular place. Therefore, depending on the location of the Plus icon in the flow graph, different options are available, for example: after a User Intent trigger, the following Plus allows to add Match(es), such as a Class Match or a TLML Syntax Match, and After Match(es) to, for example, extract the value of a Language Object variable, while a Plus further down in the Flow graph could provide also the options to Continue With maybe an Integration or to Split path to a transaction element to interact with the end user.

Menu options

In Localization setups, where the Flow structure is managed by the master solution, only Plus icons relevant for the Local solution developer are displayed in the Flow graph.

Note that the right-click menu available in former Teneo Studio versions has been removed from the Flow editor as the menu options are now available through the plusses and, of course, Teneo Studio users can still use the buttons available in the top ribbon to add new nodes and perform updates in the right-side panels.

Transaction and Transaction element

A new concept of a "transaction" is introduced with the changes in Teneo 7.0, which allows developers to add a Give Response label, a User Intent and Bot Output in one go to the Flow graph.
Adding a "transaction element" via Split Path to or Continue With (depending on the location in the Flow graph) allows to add either a Give Response label, a User Intent or a Bot Output to the Flow graph through the Plus icons.

Furthermore, at the end of the Flow graph, when clicking the Plus icon and selecting Fork to, it is now possible to add several transactions or transaction elements in one go by specifying the number of times these should be forked to and added.

A complete list of the Plus options is available in the Appendix.

Match and After Match

Throughout the Flow several name labels are updated to convey a more clear messaging to the users.
This means that the experienced Teneo Studio user will find that, in Flows, the Examples are now User Intent, Match Requirements simply Match and the Data Actions are After Match indicating that the after matches contain implementations which are executed ones the user intent has matched. The updated name labels are aligned throughout Teneo Studio, meaning that the new names are also found in, for example, Tryout, tooltips and the Ordering window.

Also note, that the Id of a Flow node is now available at the bottom of the right-side panel of any selected Flow node.

Trigger panel with User Intent, Match and After Match

Raise and Drop events

In the Flow graph, new labels are available for the Raise event and the Drop event to clearly illustrate where in the Flow dialogue these events take place; the Raise label is printed in the graph following the User Intent trigger (with it's Matches and maybe After Matches), while the Drop label can be present after the last Output node in a simple FAQ like Flow, but present in various place in more complex Flow structures. The Raise and Drop labels are merely informative and no actions can be performed on these nodes.

Give Response

Also, a Give Response label is introduced in the Flow graph which when present indicates that there will be a pause in the Flow where the bot will provide all the (pending) Outputs up to that point in the Flow to the end-user and wait for a new input.

A complete list of Flow nodes, labels and elements is available in the Appendix

User Intent on transitions

The Match Intent checkbox, previously available in the Triggering section of the Transition panel and which made it possible to set a transition to be conditional on intents and added Examples to the panel, has been moved into the User Intent section, allowing the developer to activate the functionality and specify examples of user intent by simply clicking Add.

When a transition is set to match on User Intent a node similar to the User Intent trigger is displayed in the Flow graph on the transition to indicate that the transition is expected to act on User Intent.

User Intent nodes

TODO label

To help users through the process of adding a Match or After Match in the Flow, especially when adding either from a Plus in the graph, the TODO label will now also flag incomplete Matches and After Matches in the right-side panel and to draw the user's attention to which part they should still complete, these sections will now also have a yellow vertical line as seen in the below image.

TODO label

Change of default revisits on Outputs

The default for the revisits of an Output node which was in previous Teneo versions set to 0 has been changed so that the default of any new Output node added to a Flow is always Allow output to be revisited with Limit number of revisits to 2.
This change only applies to new Output nodes and do therefore not affect any existing solutions nor does it have any upgrade implications.

Deprecation of Language Object Variables

Language Object Variables (LOB Variables) available in the right-side panel of Language Objects are deprecated as of Teneo Platform 7.0 and users are encouraged to already now start updating any Language Object Variables to NLU Variables to ensure their correct functionality in the future.

Fixes and User Driven Improvements

Localization setup

  • After detecting that when solutions in a Localization setup grew in size the responsiveness of Teneo Studio would become slower, enhancements are implemented with a special focus on larger solutions to ensure better performance and stability when working with master/local solutions.
  • The options to Open Master history and Open from Master from a local solution have been revisited to ensure correct display and behavior when clicking any of these in Classes or Global elements.

Solution Log and Version History

  • Improvements are performed to ensure stable and expected behavior of document version history in Teneo Studio
  • Import of solutions which reuse the original solution's solution id is revisited to guarantee that a solution's revision count always starts with 1.

Merge-import

  • An bug identified with Ids in a solution not being unique after merge-importing additional content, deleting the content and re-importing the same content again, has been fixed.

Tryout

  • Error messages displayed in the Tryout have been reviewed to ensure correct behavior and display of the different errors with a special attention on situations where Teneo Learn fails.

Ordering

  • An error in the Ordering window where the relations between triggers wouldn't be displayed correctly is fixed.

Flows, Language Objects and Entities

  • In Teneo 6 it was found that some of the properties of Flows, Language Objects and Entities would be editable when the document was opened in read-only mode; this has been fixed for Teneo 7.0 to ensure correct behavior when opening any of these documents.
  • When a Flow with multiple answers in the Output node is copied within the same solution, the Output node of the "new" Flow shares Ids with the Output node in the "old" Flow; in former Teneo Studio versions this caused an unexpected behavior in the ordering of the given answers due to Engine not being able to differentiate between answers in one Flow or the other.
    Therefore, Engine now takes into account both the Flow Id (unique within a solution) and the answer Id when calculating which Output answer should be given when multiple answers exist on the same Output node to ensures that both ordered and randomly set answers are given in the expected way.
  • When using the Generate button available under Match (requirements) in Flows to auto-generate the implementation, it is now possible to press Undo to remove the Match implementation and Redo to add it again.
  • When editing Flow Variables and Language Object Variables/NLU Variables and closing the window (Flow or Language Object), Teneo Studio again prompts the developer to save or discard the changes performed in the document.
  • On Flow save, warning and error messages are again displayed for transitions which are not set to match user intent but have incomplete Match implementations.
  • An issue loading the results of a Flow Auto-test, after closing the Flow and reopening it, has been fixed.
  • The readable path of documents has been revisited to ensure correct display of the documents' path throughout Teneo Studio Desktop.

Appendix

Flow nodes and elements

Below please find an overview of the various Flow nodes and other Flow elements as of Teneo 7.0

More information is available in the Flow section

Flow node / elementVisualizationTeneo Studio DesktopComment
User Intent trigger/transitionIntent TriggerThe User Intent contains the intents or examples of intents which should trigger the current Flow/transition, it is also here that Match(es) and After Matches are defined
Prompt triggerPrompt TriggerPrompts allow to add Groovy expressions which should be matched in order for the Flow to be triggered
Match ClassClass MatchAllows to define a Machine Learning Class which must be matched in order to trigger the Flow or Transition.
Match TLML SyntaxSyntax MatchAllows to define a syntax condition based on the Teneo Linguistic Modeling Language (TLML).
Match EntityEntity MatchMatch an Entity in order to trigger the Flow.
Match Language ObjectLanguage Object MatchMatch a Language Object in order to trigger the Flow.
Match ScriptScript MatchEnter the Flow by writing a script which must evaluate to true to enter the Flow.
Match Scripted ContextScripted Context MatchContext Match requirement of type Scripted Context; select a Scripted Context and the wanted context state(s) which should be fulfilled for the Match requirement to match.
Match Flow VariableFlow Variable Context MatchContext Match requirement of type Flow Variable; select a Flow Variable and write an evaluation script which must evaluate to true for the Match requirement to match.
Match Global VariableGlobal Variable Context MatchContext Match requirement of type Global Variable; select a Global Variable and write an evaluation script which must evaluate to true for the Match requirement to match.
Integration nodeAllows to call an integration from within a Flow when the Integration has previously been configured in the Integration manager
Flow LinkFlow LinkAllows to create links from one Flow to another (and back again in the case of Sub-flows)
ScriptScript nodeAllows to add programmatic functionalities (Groovy) to a Flow; the code piece has access to Global Variables and Flow Variables of the current Flow
Give ResponseInput consuming transitionThe "Give Response" label indicates that the Bot will give all pending Outputs as a response (up till that point in the Flow) and wait for a new user input
JunctionJunction nodeJunctions allows to split the flow of the dialogue and facilitates the modelling of the Flow logic as multiple transitions can point to/from the same Junction node
After Match EntityEntity Data ActionAllows to extract the value of an Entity variable. After Match actions are defined in the Intent Trigger/transition
After Match Language ObjectLanguage Object Data ActionAllows to extract the value of a Language Object variable. After Match actions are defined in the Intent Trigger/transition
After Match ScriptScript Data ActionAllows to, for example, store matched words as a variable or execute a script. After Match actions are defined in the Intent Trigger/transition
After Match ListenerListener Data ActionAllows to execute a script for each input which matches a syntax rule. After Match actions are defined in the Intent Trigger/transition
OutputOutput nodeOutput nodes contain the answer(s) of the conversational AI application
RaiseRaise labelThe "raise" label indicates when a Flow raise event happens in the Flow dialogue
DropDrop labelThe "drop" label indicates when a Flow drop event happens in the Flow dialogue
TODOTODO labelThe "TODO" labels are shown in the Flow editor and on Flow nodes when an implementation of the node is still pending
Plus iconPlus iconPlus icons are displayed throughout the Flow editor indication where more nodes and elements can be added; when clicked, the available options are displayed in a menu for the user to choose from

Flow Plus options

The below table provides an overview of the options available when clicking a Plus icons in the Flow graph; please note that the available options when clicking a specific Plus in the Flow editor varies depending on the place in the Flow graph as options are only displayed when relevant.

More information is available in the Flow section

Option groupSub-group/OptionOptionComments
TriggerTrigger based on end user Intent in the inputAdds a new User Intent trigger to the Flow; option only available before the raise label
Trigger after the input is processed to Prompt the userAdds a new Prompt trigger to the Flow; option only available before the raise label
MatchGenerate a draft implementation based on the User IntentOnly available when examples of User Intents are added to the User Intent node and the Tryout engine is runningGenerates the implementation of Match; read more
when a given Class is predicted for the inputAdds a Class Match
when an Entity is recognized in the inputAdds an Entity Match
when a Language Object matches the inputAdds a Language Object Match
when a TLML syntax rule matches the inputAdds a TLML Syntax Match
when a Scripted Context state is activeAdds a Context Match
when a Flow Variable matches a given scriptAdds a Flow Variable Context Match
when a Global Variable matches a given scriptAdds a Global Variable Context Match
when a Script returns trueAdds a Script Match
After Matchextract the value of an Entity variable (if present in the input)Adds an Entity After Match
extract the value of a Language Object variable (if it matches the input)Adds a Language Object After Match
execute a scriptAdds a Script After Match
execute a script when the input matches an additional TLML Syntax ruleAdds a Listener After Match
Continue Witha Transaction to recognize Intent and Give a ResponseAdds a Give Response label, User Intent and Bot Output
a transaction element to interact with the end userexpect an end user IntentAdds a User Intent to the transition
queue an Output to be given to the end userAdds a Bot Output
give all pending outputs as a ResponseAdds a Give Response label
an Integration to query or control another systemIntegrations available in the solution are listed, select the wanted integration to add it
a Flow Link to pass the dialogue to another flowAdds a Flow Link
a Script to execute an actionAdds a Script node
a Junction to split or re-join the dialogue pathAdds a Junction node
Split Path *to a Transaction to recognise Intent and Give a ResponseAdds a Give Response label, User Intent and Bot Output
to a transaction element to interact with the end userqueue an Output to be given to the end userAdds a Bot Output
to an Integration to query or control another systemIntegrations available in the solution are listed, select the wanted integration to add it
to a Flow Link to pass the dialogue to another flowAdds a Flow Link
to a Script to execute an actionAdds a Script node
to a Junction to split or re-join the dialogue pathAdds a Junction
Fork Tomultiple complete Transactions to recognise Intents and Give Responsesselecting the number of times to fork the element allows to add a Give Response label and the selected number of User Intents and Bot Outputs in one go
multiple transaction elements to interact with the end userqueue an Output to be given to the end userselecting the number of times to fork the element allows to add the selected number of Bot Outputs in one go

* Split Path creates a new path in the Flow; a junction is inserted if splitting directly after Raise.