Skip to main content
Reports are fully customizable dashboards — a configurable canvas of widgets pulled from the same analytics data that powers the main dashboard. Build a report once, share the URL with your team, and adjust the time range on the fly.

What is a report?

A report is a named, saved layout of widgets. Each report has:
  • A name displayed in the sidebar
  • A default time range between 1 and 90 days
  • An ordered grid of widgets, each sized as a third, half, or full row width
Reports appear in the chatbot sidebar under “Reports,” showing up to 6 recent reports by name. Clicking a report opens it directly. The most recently updated report is where you land when navigating to the reports section.

Creating a report

1

Create a new report

Click Create Report from the reports index or the sidebar ”+” button.
2

Configure name and time range

Give your report a name and choose a default time period (1—90 days).
3

Add widgets

The report opens as an empty canvas. Add widgets from the widget library to populate it.
4

Arrange and size

Position your widgets and set each one to third, half, or full width to build the layout you want.
5

Save

Save the report. It appears in your sidebar immediately.

Widget library

Reports support 14 widget types organized into three categories: stats, charts, and lists.

Stat widgets

Headline numbers that each display the current value plus a trend indicator comparing against the prior equivalent period.
WidgetWhat it shows
Total conversationsAll conversations in the selected period
Average sentimentWeighted sentiment score with a human-readable label
Resolution ratePercentage of conversations resolved (fully or partially)
Churn risk countConversations flagged with a churn risk signal
Buying signal countConversations flagged with a buying signal
Messages todayReal-time count of messages received so far today

Chart widgets

Visualizations for time-series and distribution data.
WidgetTypeWhat it shows
Sentiment trendLine chartDaily average sentiment score over time
Conversation volumeBar chartDaily conversation count over time
Intent distributionBar or donutBreakdown of intents by count and percentage
Sentiment distributionBar or donutCount of each sentiment label
Flag distributionBar chartCount of each flag type fired
Outcome distributionDonut or barResolution outcome breakdown

List widgets

Ranked tables showing top items for the selected period.
WidgetWhat it shows
Top topicsTop 10 topics by conversation volume
Recent conversations8 most recent conversations with user and sentiment
Each widget has a type key, a display category, and a sizing recommendation.
Type keyCategoryRecommended size
stat_total_conversationsStatThird
stat_avg_sentimentStatThird
stat_resolution_rateStatThird
stat_churn_risk_countStatThird
stat_buying_signal_countStatThird
stat_messages_todayStatThird
chart_sentiment_trendChartHalf or full
chart_conversation_volumeChartHalf or full
chart_intent_distributionChartHalf
chart_sentiment_distributionChartHalf
chart_flag_distributionChartHalf
chart_outcome_distributionChartHalf
list_top_topicsListHalf or full
list_recent_conversationsListFull

Widget sizing

Each widget occupies a fraction of the report grid row.
SizeWidthBest for
Third1/3 of the rowStat widgets, compact lists
Half1/2 of the rowCharts, medium tables
FullEntire rowWide charts, detailed tables
Widgets reflow responsively — on mobile, all widgets display at full width regardless of size setting.

Time range control

Every report stores a default time range set during creation. When viewing a report, a day-range selector lets you override the default on the fly without changing the saved configuration.
  • One report can serve as both a 30-day view and a 7-day view — just adjust the selector
  • Sharing a URL with ?days=7 overrides the default for that viewing session
  • The report’s saved default is never changed by URL overrides
Build a single report for stakeholder review and let each viewer pick their own time range. The saved default acts as a sensible starting point.