Share Insights from Einstein Generative AI Audit and Feedback Data
Share insights from your Salesforce org’s Einstein generative AI audit and feedback data with your team. Use pre-built dashboards and reports, running queries, and building Data 360 reports.
Required Editions
| Available in: Enterprise, Performance, and Unlimited Editions with an Einstein for Sales, Einstein for Platform, Einstein for Service, Einstein 1 Service, or Einstein GPT Service add-on. To purchase add-ons, contact your Salesforce account executive. |
Use Pre-Built Dashboards and Reports
Use the pre-built Data 360 dashboards to:
- analyze the generative AI, and
- share insights such as data masking, toxicity in responses, user trends, acceptance rates, and response feedback.
| Dashboard Name | What You Can Do with It |
|---|---|
| Einstein Generative AI and Feedback Data | Monitor the use of generative AI within your Salesforce org. Analyze user feedback, token consumption, request counts, and user engagement weekly. The dashboard provides visualizations for:
To see more detailed information, refer to the reports linked in the charts. The Einstein Generative AI and Feedback Data dashboard is a standard dashboard. |
| Einstein Trust Layer | Monitor Einstein Trust Layer metrics such as data masking and toxicity. Identify any concerning patterns or trends by using this dashboard. The dashboard contains visualizations for:
For further details, refer to the reports linked in the charts. The Einstein Trust Layer dashboard is a dynamic dashboard. Because it’s a dynamic dashboard, it counts toward your total number of dynamic dashboards. See Dynamic Dashboards. |
To see more details about toxicity in responses and data masking, use the pre-built Einstein Trust Layer Toxic Response reports.
| Report Name | What It Provides |
|---|---|
| Toxicity Detection in Responses | A detailed view of the toxic responses detected by the Einstein Trust Layer. Use it to see the response text and the number of toxicity detections by feature. |
| Masked Prompt and Response | A detailed view of the prompt with the masked data, the full prompt without the masking, and the response with and without the masked data. Use it to see what data was masked before sending it to the large language model (LLM). |
Get Insights with Queries
Use queries to analyze audit and feedback data. This example shows linking GenAIGtwyObjRecord to an sObject to GenAIGatewayRequest or GenAIFeedback. Suppose the sObject is Case. The query can get the number of generative AI requests used or called for the case. You can compare the time to resolve for cases with generative AI usage versus cases without generative AI usage. You can also link the GenAIFeedback table to determine whether generative AI was helpful, or just to give feedback to the generative AI for that particular case.
SELECT *
FROM "GenAIGtwyObjRecord__dlm"
JOIN "GenAIFeedback__dlm" ON "GenAIGtwyObjRecord__dlm"."parent__c" = "GenAIFeedback__dlm"."feedbackId__c"
JOIN "GenAIGeneration__dlm" ON "GenAIFeedback__dlm"."generationId__c" = "GenAIGeneration__dlm"."generationId__c"
JOIN "GenAIGatewayResponse__dlm" ON "GenAIGeneration__dlm"."generationResponseId__c" = "GenAIGatewayResponse__dlm"."generationResponseId__c"
JOIN "GenAIGatewayRequest__dlm" ON "GenAIGatewayResponse__dlm"."generationRequestId__c" = "GenAIGatewayRequest__dlm"."gatewayRequestId__c"
LIMIT 10Build Data 360 Reports
To analyze audit and feedback data, build reports in Data 360 that pull relevant information from the data model objects (DMOs) in the Audit and Feedback data model. You can use calculated insights to create metrics that can trigger alerts. To learn more, see Data 360 Reports and Dashboards.
Tag Limits in the GenAIRequestTag Data Lake Object (DLO)
If you query
GenAIRequestTag data in Data 360 for analytics, auditing, or debugging, Salesforce enforces
a maximum number (default of 20) of individual rows written per LLM request. Tags that
exceed that limit appear in a single REMAINDER_TAGS row containing a JSON
array.
Reserved Planner Tags
Ten reserved planner tags are always individual rows. These tags don’t count toward the 20-tag limit.
action_idaction_namebot_idbot_session_idbot_version_idplan_idplanner_iduser_contextuser_idx-client-trace-id
Example REMAINDER_TAGS Entry
Here’s an example that shows the content of the tagValue__c field
associated with the REMAINDER_TAGS entry in a single row.
[
{
"tagValue": "val_21_overflow",
"tag": "np_21"
},
{
"tagValue": "val_22_overflow",
"tag": "np_22"
},
{
"tagValue": "val_23_overflow",
"tag": "np_23"
},
{
"tagValue": "val_24_overflow",
"tag": "np_24"
},
{
"tagValue": "tag_test_org",
"tag": "x-client-trace-id"
}
]Sample Data 360 SQL Query to Parse Tags, Including Remainder Tags
SELECT tag__c, tagValue__c, timestamp__c
FROM "GenAIGatewayRequestTag__dll"
WHERE timestamp__c >= TIMESTAMP '2026-03-27 04:00:00+00:00'
AND tag__c = 'REMAINDER_TAGS'
ORDER BY timestamp__c DESC
LIMIT 10Update Previous SQL Queries to Parse Remainder Tags
Previously created SQL queries that filter by tag__c don't use overflow
tags as individual rows. Update these queries to parse the REMAINDER_TAGS
JSON value. Any dashboards, reports, or Data Cloud recipes that assume the one-row-per-tag
approach can return incomplete results rather than errors.

