Skip to main content
This page is the field reference for building a widget by hand in Custom dashboards — what data you can pull from, how to visualize it, and how to filter it down.

Data sources

Visualizations

Not every visualization applies to every source — the widget editor only offers the combinations that make sense for the source you picked. For example, Calls supports Number, Line, Area, Bar, Donut, Pie, and Table; Campaigns supports Number, Bar, and Funnel; Usage and cost supports only the time-based views (Number, Line, Area).

Aggregations

The editor only offers the aggregations that make sense for what you picked:
  • Category-style visualizations (Bar, Donut, Pie, Funnel, Table) always count records.
  • Sum or Average — call Duration and Cost, Conversation cost, Conversation minutes.
  • Sum only — Calls made, Completed leads, Knowledge chunks.
  • Average only — Successful calls (a success rate) and Evaluation score.
  • Minimum or Maximum — post-call number fields only.
  • Everything else counts records.

Grouping and filtering

  • Group by splits an aggregate into a trend or a set of categories. Calls can group by Date, Assistant, Campaign, Status, Direction, Sentiment, Success, or Post-call outcome; Campaigns, Bookings, Knowledge sources, and Simulations group by status (Bookings can also group by source); Usage and cost has no grouping.
  • Filters narrow one widget without touching the rest of the dashboard. They’re available on the Calls source, on the fields with a fixed set of values — Status, Direction, Sentiment, and Success — and the only operator today is is (an exact match), so a live-conversations widget filters Status is In progress.
  • Date range sets the time window: last 7, 14, 30, or 90 days, with an optional comparison to the immediately preceding period of the same length.
  • Assistant scope and Campaign scope limit a widget to one assistant or one campaign. Assistant scope applies to the Calls and Usage sources; campaign scope also applies to Campaigns.

Post-call analysis fields

Each assistant can extract its own fields after every call — a call reason, a callback request, a satisfaction score — set up in the assistant’s Analysis tab. The fields of all assistants in your workspace are available on the Calls source, listed under Post-call analysis in the widget editor:
  • Group by a text, choice, number, or yes/no field to show its values as a Bar, Donut, or Pie chart. The chart shows the 12 most frequent values, then Other, and Not captured for calls whose assistant extracts the field but didn’t capture a value.
  • Metric shows a number or yes/no field as a Number card. Number fields support Average, Sum, Minimum, Maximum, and Calls with a value. Yes/no fields show the Share of Yes among calls where the field was captured, or the number of Calls with Yes.
  • Filters narrow a Calls widget to one value of a field, such as Call reason is Complaint. Yes/no fields offer Yes and No, choice fields offer their choices, and other fields take the value you type. Matching ignores upper and lower case.
  • Table insights on Calls can show up to six post-call fields as extra columns next to each call — for example a callback list with name, number, and call reason. Pick them under Post-call columns in the widget editor.
Only calls handled by an assistant that extracts a field count toward it, so a field used by one assistant isn’t diluted by other assistants’ calls. Fields that hold structured data, such as lists or objects, can’t be charted. Fields with the same name in several assistants are combined.

API and MCP

Widgets are fully scriptable through the public API — useful for building or migrating dashboards programmatically. The schema accepts a few more values than the in-product editor offers today; a widget built on a combination the dashboard can’t render shows a short note in its place asking you to edit it and pick a supported one, so stick to the combinations above. A widget (POST/PATCH /api/v1/dashboards/{id}/widgets[/{widgetId}], scope dashboards:write) has:
  • widget_type — statistic, chart, or table (the broad shape; visualization picks the specific chart style within it)
  • visualization — auto, number, line, area, bar, stacked_bar, donut, pie, funnel, heatmap, table, or leaderboard
  • data_table — the data source (calls, campaigns, assistants, leads, bookings, knowledge_bases, simulations, tools, phone_numbers, conversions)
  • aggregation — count, sum, avg, max, or min (max and min apply to post-call number fields)
  • column_name / group_by — which field to aggregate or group by; use post_call:<key> for a post-call analysis field
  • conditions — up to 20 filters, each a field, an operator (defaults to equals), and a value; post_call:<key> filters by a post-call analysis field
  • compare_previous_period, rate_range (7d/14d/30d/90d), show_legend, show_values
  • grid_w (3–12) / grid_h (1–4) — layout size within the dashboard
To read post-call values, call GET /api/v1/dashboards/{id}/analytics with post_call_fields (comma-separated keys, up to 12) and optionally post_call_filter=key=value (repeatable, up to 10). The response lists your workspace’s fields under context.post_call_fields and their values under post_call. CLI: famulor get-dashboard-analytics <id> --post-call-fields call_reason,callback. MCP: get_dashboard_analytics. MCP: create_dashboard_widget, update_dashboard_widget, remove_dashboard_widget, list_dashboard_widgets. See the API reference for the complete widget schema.