Help Center / Dashboards and reporting /
Custom page data sources and filters
Every widget on a custom page connects to a data source that determines what data it displays, and filters narrow that data to a specific slice. The combination of data source, filter, and aggregation method controls exactly what each widget shows, from a count of all open tasks across your workspace to the sum of invoiced revenue for a single client in the past quarter.
Data sources for custom page widgets
Custom page widgets connect to seven data sources:
- Tasks: task records including status, assignee, due date, project, and custom fields.
- Invoices: invoice records including amount, status, client, due date, and payment date.
- Time entries: tracked time including duration, billing rate, cost rate, user, task, and project.
- Transactions: financial transactions including amount, type, date, and linked entity.
- Contacts: people and companies in your CRM, including custom fields, tags, and creation date.
- Proposals: proposal records including status, value, client, and approval date.
- Contracts: contract records including status, signees, and linked proposals.
Filtering widget data
Filters restrict which records from the data source appear in the widget. Filter options include project, status, date range, assignee, client, and custom fields. Filters stack, so a chart showing invoiced revenue can be narrowed to a single client within a specific date range with a specific payment status. Each filter condition layers with the others to refine the data set progressively.
Aggregation methods
Aggregation determines how filtered records get summarised into the displayed value. Five methods handle different calculations: count (how many records), sum (total of a numeric field), average (mean of a numeric field), min (lowest value), and max (highest value). A metric text widget might use sum to show total revenue, while a chart widget might use count to show tasks completed per week.
Per-widget vs page-level filters
Filters operate at two levels. Per-widget filters apply to a single widget, so each chart or metric can show a different slice of data. Page-level filters apply to every widget on the custom page at once, which means selecting a date range or a specific project updates all widgets simultaneously. Page-level filters make it possible to switch context across an entire reporting view with one change, so a revenue custom page scoped to "this quarter" can be switched to "last quarter" without adjusting each widget individually.