Overview
Studio ingests conversation events from a Kafka topic (rasa-events) and stores them in a PostgreSQL database. An event ingestion service consumes each message and writes structured records into analytics tables — capturing individual conversation events as well as aggregated daily statistics by channel/version and by flow.
These tables are available as a standard PostgreSQL database, which means you can connect any SQL-compatible BI tool — such as Metabase, Tableau, Looker, Grafana, or Redash — directly to the database and build custom dashboards on top of the data.
Connecting to the database
Studio uses a standard PostgreSQL connection. Use the following connection string format:
Example (local development):
SELECT privileges on the analytics tables before connecting your BI tool.
Data model
Table reference
Conversation
Each row represents a single conversation session between a user and the assistant.ConversationEvent
Each row represents a single Rasa event within a conversation, such as an action execution, slot update, or flow transition.type enum values:
ACTION, SESSION_STARTED, SLOT, RESET_SLOTS, FLOW_STARTED, FLOW_INTERRUPTED, FLOW_RESUMED, FLOW_COMPLETED, FLOW_CANCELLED, FORM, ACTIVE_LOOP, RESTART, CONVERSATION_INACTIVE, SESSION_ENDED, ENTITIES, FOLLOWUP, ACTION_EXECUTION_REJECTED, STACK, ROUTING_SESSION_ENDED, REMINDER, CANCEL_REMINDER, REWIND, UNDO, EXPORT, PAUSE, RESUME, LOOP_INTERRUPTED, AGENT_STARTED, AGENT_COMPLETED, AGENT_INTERRUPTED, AGENT_CANCELLED, AGENT_RESUMED
VersionDailyStatistics
Each row contains aggregated daily metrics for a specific channel and assistant version combination. This table is the primary source for time-series dashboards tracking volume, automation rate, latency, and CSAT.FlowDailyStatistics
Each row contains aggregated daily metrics for a specific flow, allowing you to compare flow-level engagement and escalation rates over time.SuccessCriteria
Stores the custom success filter configured per assistant, which defines which flows must (or must not) be executed for a session to be counted as successful. Referenced byVersionDailyStatistics to compute customSuccessCount and customFailureCount.