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.
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
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:
From the ‘Data’ tab in Excel, select ‘Get Data’ and select your .csv file.
In the Preview select Delimiter = Semicolon (usually set per default)
Note Windows vs Mac difference:
Windows: Click on load and save
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 sectionQuoteStyle=QuoteStyle.Csv:
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
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=trueIn 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/idSequence Diagram
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.
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 |
|---|---|---|
|
| When |
|
| Custom description text shown above the consent checkbox. Falls back to a default message if omitted. |
Steps to enable (via API)
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 } }"
}'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
configurationfield is replaced entirely on update. Always include all existing keys in the payload to avoid data loss.
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 |
|---|---|
Feature disabled (default) | No checkbox or info message shown. Feedback works as before. |
Feature enabled, user checks the box | Feedback is submitted. |
Feature enabled, user does not check the box | Feedback is submitted. |
CSV Export
The checkbox state appears inside the feedbackAdditionalInfo column as includeSensitiveContent. Example value:
{"includeMessageContent":true,"includeSensitiveContent":false}
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.