Feedback

Feedback

Overview

The Feedback Interface enables administrators to access and analyze evaluations provided by chat users regarding answers to their prompts. This data can be downloaded and accessed in a .csv format, including key details such as message IDs, timestamps, content, and user feedback ratings. The Feedback solution enables effective monitoring of the AI's performance and user satisfaction by showing both positive and negative feedback along with contextual information from previous messages.

image-20250806-012726.png

Who it is for

This feature is designed for Administrators or Product Managers who are responsible for evaluating the quality and improvement potential.

Role Requirements: To download user feedback, you must have the eligible roles (e.g., chat.data.admin role). For more information about roles, click here: Understand Roles and Permissions

Benefits

  • Feedback is used to evaluate and improve the quality of responses generated from user prompts, while also serving as a foundation for systematically analyzing areas of improvement.

  • Feedback can act as a ground truth for benchmarking purposes.

Step-by-Step Guide

Step 1: Download the Feedback

  • Navigate to the Feedback section by clicking the Feedback Icon on the Navigation Sidebar.

  • Select a specific date range to retrieve feedback data from that period and download feedback.

  • Click Download Feedback

image-20250806-012906.png

Step 2: Format the .csv

You may find that the downloaded content does not split properly when using the ‘Text to Columns’ function in Excel. This is due to the content of some cells being too large to split.

To get around this:

  1. From the ‘Data’ tab in Excel, select ‘Get Data’ and select your .csv file.

1.step_get data.png
Screenshot 2024-08-09 at 10.14.15.png
  1. In the Preview select Delimiter = Semicolon (usually set per default)

  2. Note Windows vs Mac difference:
    Windows: Click on load and save

    image-20240809-091007.png


    Mac:
    On Mac to ignore quoted line breaks an additional step is required:
    --> Click on ‘Transform data’ and in ‘Advanced Editor’ add (or replace existing term after QuoteStyle= “ “ ) the section QuoteStyle=QuoteStyle.Csv :

Screenshot 2024-07-29 at 16.10.08.png

Step 3: Understand the Feedback Contents

The .csv file displays a structured format of feedback data collected from user interactions. Each record captures detailed information such as:

  • Message ID and Timestamp: Unique identifiers and precise time data for each interaction.

  • Text and Role: The content of the message and whether it was generated by the user or the assistant.

  • Feedback Ratings: Indicates if the feedback was positive or negative, along with any detailed comments that the user might have left.

  • Previous Message Details: Information about the prior exchange in the conversation facilitates an understanding of the feedback context.

API

You can also access the feedback through the API. Check out the details here: User Feedback via API

Service Now Feedback Integration

Screenshot 2025-02-11 at 11.52.32.png

To work with the service now, we will need to provide this environment variable in the next-chat environment

FEATURE_FLAG_SERVICE_NOW_FEEDBACK_UN_9322=true

In the values.yaml for the deployment, add the URL used in the SERVICE_NOW_SUBMIT_FEEDBACK_ENDPOINT in the connect-src values

CONTENT_SECURITY_POLICY_VALUE:

In the node-chat environment variables, set the following environment variables:

SERVICE_NOW_ACTIVE= SERVICE_NOW_USERNAME= SERVICE_NOW_PASSWORD= SERVICE_NOW_SUBMIT_FEEDBACK_ENDPOINT= SERVICE_NOW_FEEDBACK_REDIRECT_ENDPOINT=

Sample node-chat environment variable

SERVICE_NOW_ACTIVE=true SERVICE_NOW_USERNAME=gandalf SERVICE_NOW_PASSWORD=gandalf SERVICE_NOW_SUBMIT_FEEDBACK_ENDPOINT=https://servicenow.com/api SERVICE_NOW_FEEDBACK_REDIRECT_ENDPOINT=https://servicenow.com/api/id

Sequence Diagram

Screenshot 2025-02-07 at 09.43.43.png

 

Sensitive Content Consent Checkbox

Administrators can enable an optional consent checkbox in the feedback dialog. When enabled, users see an info message and a checkbox before submitting feedback. This is purely informational — it does not affect what data is stored. All feedback data (message content, prompts, AI responses) is always stored regardless of checkbox state.

The checkbox state is exported as a flag (includeSensitiveContent: true/false) in the feedbackAdditionalInfo column of the CSV, allowing downstream filtering by the organization.

Screenshot 2026-06-26 at 09.47.57.png

 

How to Enable

This feature is controlled via the configuration JSON field on the Company entity in the chat service. Two keys control the behavior:

Key

Type

Description

Key

Type

Description

feedbackSensitiveContentConsent

boolean

When true, users see an info message and a consent checkbox in the feedback dialog. When false or absent, the checkbox is not shown (default behavior).

feedbackSensitiveContentConsentDescription

string (optional)

Custom description text shown above the consent checkbox. Falls back to a default message if omitted.

Steps to enable (via API)

  1. Fetch the current company configuration to avoid overwriting existing keys:

curl --location 'https://gateway.<env>.unique.app/chat-gen2/graphql' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "query": "{ company { id configuration } }" }'
  1. Update the configuration by merging the existing config with the new keys:

curl --location 'https://gateway.<env>.unique.app/chat-gen2/graphql' \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "query": "mutation ($input: CompanyUpdateInput!) { companyUpdateData(input: $input) { id configuration } }", "variables": { "input": { "configuration": { "<...all existing config keys...>", "feedbackSensitiveContentConsent": true, "feedbackSensitiveContentConsentDescription": "Your feedback and the corresponding chat history (prompts, AI responses, etc.) are submitted together. By submitting the feedback you consent that the relevant team conducts an analysis of the content." } } } }'

Replace <env> with the target environment (e.g. qa, uat1). Replace <...all existing config keys...> with all key-value pairs from step 1.

Important: The configuration field is replaced entirely on update. Always include all existing keys in the payload to avoid data loss.

  1. Verify by re-fetching the company config (step 1) and confirming both keys are present.

To disable: Set feedbackSensitiveContentConsent to false (or remove both keys from the configuration).

Behavior Summary

State

User Experience

State

User Experience

Feature disabled (default)

No checkbox or info message shown. Feedback works as before.

Feature enabled, user checks the box

Feedback is submitted. includeSensitiveContent: true is recorded in the export.

Feature enabled, user does not check the box

Feedback is submitted. includeSensitiveContent: false is recorded in the export.

CSV Export

The checkbox state appears inside the feedbackAdditionalInfo column as includeSensitiveContent. Example value:

{"includeMessageContent":true,"includeSensitiveContent":false}
602858856-c198a0ef-003a-4b07-8175-87710b603986.png

 


This follows the same structure as the existing "Service Now Feedback Integration" section. I placed the emphasis on the fact that data storage is not affected (since that was a major discussion point), and kept the API instructions consistent with what's already in the doc.