Skip to main content
The conversations viewer at /dashboard/conversations gives you a complete history of all AI interactions in your server. Messages are grouped into conversations automatically based on channel and time proximity, then presented in a searchable, paginated table.

How conversations are grouped

The API groups messages into conversations using a 15-minute gap rule: messages in the same channel within 15 minutes of each other belong to the same conversation. Each conversation is identified by the ID of its first message. The list shows the following columns for each conversation:
ColumnDescription
ChannelThe Discord text channel where the conversation took place
ParticipantsAvatar stack showing up to three participants (users and the bot) with role colors
MessagesTotal message count in the conversation
DurationTime elapsed between the first and last message
PreviewFirst 100 characters of the opening message
DateTimestamp of the first message

Searching and filtering

The filter bar above the table provides two controls:
Select a channel from the All channels dropdown to restrict results to a single text channel. The dropdown is populated from the guild’s text channels (type 0). Select All channels to clear the filter.
Both filters can be used together. The total conversation count updates to reflect the filtered result.
The conversation list defaults to the last 30 days. To view older conversations, use the API directly with a custom from date parameter.

Viewing a conversation

Click any row in the table to open the conversation detail page at /dashboard/conversations/:id. The detail page shows:
  • A header with the channel name and message count
  • A full message replay in chronological order, with user messages on the left and bot responses on the right
  • The conversation duration in seconds
  • A token estimate for the full conversation (approximated at 4 characters per token)

Jump to Discord

When a message has a recorded discord_message_id, a link appears that jumps directly to that message in Discord using the format:
https://discord.com/channels/{guildId}/{channelId}/{messageId}

Flagging messages

You can flag any individual message in a conversation for review. Flagging is useful for tracking problematic AI responses or escalating issues to other admins.
1

Open the conversation

Click the conversation row to open the detail page.
2

Flag a message

Locate the message you want to flag. Click the flag action on the message. Enter a reason (required, up to 500 characters) and optional notes (up to 2,000 characters), then submit.
3

Track the flag

The flagged message is marked with its status. A flag starts with status open and can be resolved or dismissed by an admin.

Flag statuses

StatusMeaning
openFlag submitted, awaiting review
resolvedFlag reviewed and addressed
dismissedFlag reviewed and closed without action
When a message has multiple flags, the most recent flag status is displayed.

Flagged messages queue

The API exposes a /flags endpoint for listing all flagged messages across the guild. You can filter by status to see only open flags that need attention:
GET /api/v1/guilds/{guildId}/conversations/flags?status=open
The response includes the flag metadata alongside the flagged message content, role, and username.

Conversation analytics

Aggregate statistics for AI conversations are available at /api/v1/guilds/{guildId}/conversations/stats:
MetricDescription
totalConversationsNumber of distinct conversation groups
totalMessagesTotal messages stored for the guild
avgMessagesPerConversationMean messages per group
topUsersUp to 10 users by message count
dailyActivityMessage counts by day for the last 30 days
estimatedTokensEstimated token count (characters ÷ 4)

Pagination

The conversation list shows 25 rows per page. Previous and Next buttons appear at the bottom when there are multiple pages. The current page and total page count are shown alongside the controls.

Refreshing

Click Refresh in the page header to reload the current filter view on demand. The button spins while the request is in flight and is disabled when no guild is selected.
Switch servers using the sidebar server picker. The conversation list clears and reloads automatically when you select a different server.

Build docs developers (and LLMs) love