Skip to main content

Sessions preview

Overview

The Sessions Preview API allows you to query and analyze conversation sessions from your AI agents. Use this endpoint to:

  • Monitor conversation quality and AI agent performance
  • Filter sessions by various criteria (date range, confidence scores, ratings, tags)
  • Identify sessions that need review or improvement
  • Export session data for reporting and analytics

Quick start

Here's a simple example to get sessions from the last week for a specific AI agent:

query SessionsPreviewV2(
$brainIds: _uuid
$startDate: timestamp
$endDate: timestamp
$limit: Int
) {
rows: logs_sessions_preview_v2(
limit: $limit
args: {
brain_parent_ids: $brainIds
start_time: $startDate
end_time: $endDate
}
) {
session_id
start_time
end_time
channel
avg_confidence
rating
total_user_messages
}
}

Variables:

{
"brainIds": "{a2wv9283-9b53-4d7b-b77d-2650f3a1a99c}",
"startDate": "2024-01-15",
"endDate": "2024-01-22",
"limit": 100
}

Parameters

Filtering parameters

ParameterTypeDescription
Date range
startDatetimestampStart date (format: yyyy-mm-dd)
endDatetimestampEnd date (format: yyyy-mm-dd)
Entity filters
deskIds_uuidFilter by desk IDs
brainIds_uuidFilter by AI Agent IDs
integrationIds_uuidFilter by integration IDs
agentIds_textFilter by human agent IDs
Session filters
channels_textFilter by channels (web, facebook, viber, etc.)
brainVersions_int4Filter by AI Agent versions
tags_textFilter by session tags
ratings_int4Filter by ratings (1-5)
User identification
sessionIdStringGet specific session by ID
userIdStringFilter by user ID
channelUserIdStringFilter by channel user ID
externalUserIdStringFilter by external user ID
Quality metrics
minNumUserMessagesIntMinimum user messages in session
maxConfidencefloat8Maximum confidence threshold
minHumanResponseTimefloat8Minimum human response time
Session properties
isContainedBooleanContained sessions
isCoveredBooleanCovered sessions
isTestBooleanExclude test sessions
isMeaningfulBooleanFilter meaningful conversations
hasCollectionBooleanSessions with collection matches
hasCollectionSourcesBooleanSessions with collection sources
Other
limitIntMaximum number of results

Response fields

Session information

FieldTypeDescription
session_idStringUnique session identifier
start_timetimestampSession start time
end_timetimestampSession end time
expired_timetimestampSession expiration time
channelStringCommunication channel

AI Agent details

FieldTypeDescription
brain_iduuidAI Agent instance ID
brain_parent_iduuidParent AI Agent ID
brain_versionint4AI Agent version number
desk_iduuidAssociated desk ID
integration_iduuidIntegration ID

User information

FieldTypeDescription
user_idStringUser identifier
user_nameStringUser display name
user_emailStringUser email address
channel_user_idStringChannel-specific user ID
external_user_idStringExternal system user ID

Metrics and quality

FieldTypeDescription
total_user_messagesIntNumber of user messages
min_confidencefloat8Lowest confidence score
avg_confidencefloat8Average confidence score
ratingIntUser rating (1-5, null if unrated)
feedbackStringUser feedback text
avg_response_timefloat8Average bot response time
avg_human_response_timefloat8Average human response time
human_first_response_timefloat8Time to first human response

Session properties

FieldTypeDescription
is_containedBooleanSession handled entirely by AI
is_coveredBooleanSession topics within AI scope
is_testBooleanTest/preview session
tags_textAssociated tags
rule_ids_uuidTriggered rule IDs
participated_agents_textHuman agents involved
participated_brains_textAI Agents involved
participated_collections_textKnowledge base used

Common use cases

Get sessions for a specific desk within a date range:

{
"deskIds": "{d2be0283-9b53-4d7b-b77d-2650f3a1a99c}",
"startDate": "2024-01-08",
"endDate": "2024-01-17"
}

Example response

{
"data": {
"rows": [
{
"session_id": "1234a3ba-33fd-4add-be5e-f73030242bee",
"start_time": "2024-01-07T11:40:28.772",
"end_time": "2024-01-07T11:48:41.092",
"channel": "web",
"user_name": "Visitor 438",
"total_user_messages": 2,
"avg_confidence": 0.9334274,
"min_confidence": 0.8668548,
"rating": 5,
"is_contained": false,
"is_covered": true,
"is_test": true,
"participated_agents": [
{
"agent_id": "4v57b8ba-c1de-42ac-94ad-564e0c6858c9",
"agent_name": "George Johnson"
}
]
},
{
"session_id": "58be4fe7-96af-409b-8ae2-cf6b1c4b44cc",
"start_time": "2024-01-06T15:09:43.491",
"end_time": "2024-01-06T15:12:07.31",
"channel": "web",
"user_name": "Visitor 435",
"total_user_messages": 4,
"avg_confidence": 0.8721187,
"min_confidence": 0.74423736,
"rating": 2,
"is_contained": true,
"is_covered": true,
"is_test": false,
"tags": ["moveo_start"]
}
]
}
}

Full query reference

View complete GraphQL query with all available fields
query SessionsPreviewV2(
$accountId: uuid
$deskIds: _uuid
$brainIds: _uuid
$integrationIds: _uuid
$brainVersions: _int4
$channels: _text
$startDate: timestamp
$endDate: timestamp
$minNumUserMessages: Int
$maxConfidence: float8
$minHumanResponseTime: float8
$ratings: _int4
$tags: _text
$rule_ids: _uuid
$sessionId: String
$userId: String
$userName: String
$userEmail: String
$channelUserId: String
$externalUserId: String
$isContained: Boolean
$isCovered: Boolean
$isTest: Boolean
$hasCollection: Boolean
$hasCollectionSources: Boolean
$agentIds: _text
$isMeaningful: Boolean
$limit: Int
) {
rows: logs_sessions_preview_v2(
limit: $limit
args: {
start_time: $startDate
end_time: $endDate
account_id: $accountId
brain_parent_ids: $brainIds
desk_ids: $deskIds
integration_ids: $integrationIds
brain_versions: $brainVersions
channels: $channels
min_num_user_messages: $minNumUserMessages
max_confidence: $maxConfidence
min_human_response_time: $minHumanResponseTime
ratings: $ratings
tags: $tags
rule_ids: $rule_ids
session_id: $sessionId
user_id: $userId
user_name: $userName
user_email: $userEmail
channel_user_id: $channelUserId
external_user_id: $externalUserId
is_contained: $isContained
is_covered: $isCovered
is_test: $isTest
has_collection: $hasCollection
has_collection_sources: $hasCollectionSources
agent_ids: $agentIds
is_meaningful: $isMeaningful
}
) {
avg_confidence
brain_id
brain_parent_id
brain_version
channel
channel_user_id
user_id
user_name
user_email
desk_id
start_time
end_time
expired_time
external_user_id
integration_id
is_contained
is_covered
is_test
min_confidence
participated_brains
participated_collections
participated_agents
rating
feedback
session_id
tags
rule_ids
total_user_messages
avg_human_response_time
avg_response_time
human_first_response_time
}
}