Skip to main content
A conversation is a multi-turn chat session between a user and the AI. Conversations are created automatically when a user sends a query and are tracked through a lifecycle from open to closed.

Lifecycle

open → cold → closed
StatusTriggerWhat happens
openUser sends a queryConversation is active. New messages extend it.
coldNo activity for cold_timeout_minutesA check-in message is generated and sent back to the user.
closedNo activity for close_timeout_minutes after going coldConversation stats are generated (sentiment, category, resolution, cost).
Timeouts are configurable per workspace.

Cold messages

When a conversation goes cold, SupaProxy generates a contextual follow-up message using the last 6 messages of the conversation. This is sent back through the original consumer (e.g. posted in the Slack thread).

Manual close

Conversations can also be closed manually from the dashboard. This immediately queues stats generation.

Thread mapping

Conversations map to external threads:
ConsumerExternal ID
SlackThread timestamp (thread_ts)
APISession ID (session_id)
WhatsAppThread ID
New messages in the same external thread extend the existing conversation.

Stats and analysis

When a conversation closes, stats are generated asynchronously:
MetricDescription
Sentiment scoreNumerical sentiment analysis
Resolution statusresolved, unresolved, escalated, abandoned
Categoryquery, issue, sales, feedback, support, internal, other
SummaryAI-generated conversation summary
Compliance violationsAny guardrails triggered during the conversation
Knowledge gapsTopics the AI could not answer from available knowledge
Fraud indicatorsSuspicious patterns with severity (low, medium, high)
Tools usedList of tools called during the conversation
Total tokensInput and output token counts
Total costAggregated cost in USD
DurationTime from first message to close
Stats generation is processed via a background queue. The dashboard polls for completion.

Filtering

Conversations can be filtered by:
  • Status: open, cold, closed
  • Category: query, issue, sales, feedback, support, internal, other
  • Resolution: resolved, unresolved, escalated, abandoned
  • Consumer: slack, api, whatsapp, claude-code