Teneo Developers


Teneo Inquire stores and retrieves highly detailed transactional records from running conversational AI applications. Augmenters extend default log data by enriching or summarizing it in a format that can be accessed by standard queries. These have the benefit of both simplifying the subsequent querying and increasing performance.

Augmenters can be managed in the Log Data Source window, which you can find in the solution backstage:

augmenters in lds

There are two types of augmenters:

  • Adorners
  • Aggregators


As the name suggests, adorners allow log data to be enhanced with additional information. These can create extra data tags to allow easy classification of logs - tagging all sessions that contain two consecutive Safetynet hits, for instance, or any sessions that resulted in a handover. They can also be used to add additional data that wasn't in the original log; for example, if the IP address for a session is known, an adorner could reverse geocode this and add the user's country and city to the logs.

Adorners can be applied at the session level, transaction level, or even on an event level. Once an adorner is applied, it will go through all past logs and annotate them, and all subsequent logs will automatically be annotated with this adorner too. There are two significant advantages to using adorners.

Simplification of queries

Adorners are created to label detailed information we may subsequently wish to query further on. It is simpler to create smaller functions, e.g. labeling any session that contains transactions resulting in a handover, just once, as this label (adorner) can then be reused in many queries along with other constraints.

For example, if there is two adorners: s.2ConsecutiveSN that indicates any sessions that contain two consecutive transactions that hit the Safetynet, and s.handover for any session that contains a handover to a human. The Teneo Query Language statement to list all sessions in 'June 2021' containing two consecutive Safetynet transactions and also a handover to a human would then be simplified using these two adorners:

la s.id : s.a.s:2ConsecutiveSN == ‘true’, s.a.s:handover == ‘true’, s.beginTime == ‘2021-06’

Improved performance

The calculation of adorners for existing sessions is done as a one-off batch job when they are applied, and all new sessions are evaluated and adorned in real-time; thus, this processing does not need to be done each time a query is run, meaning performance is significantly improved.


Aggregators are used to build a numeric summary over time of various properties to both speed up performance and simplify the querying. Aggregators can be constructed over sessions, transactions, or events, including those generated by adorners. Like adorners, aggregators are calculated retrospectively on existing sessions as a batch job when they are applied, and all new sessions are automatically calculated in real-time.


When building reports that are going to be executed regularly, or dashboards to BI systems, performance should be considered. By using Adorners and Aggregators, reports and dashboards will be much faster and result in significantly reduced server loads. It is also advisable to consider using Inquire's ‘Save Results’ and combine this with job scheduling, such as 'Cron', to pre-build data extracts to BI tools for ultimate performance and responsiveness.