Skip to content

Custom widgets ​

If none of the pre-built widgets cover what you're trying to see, build your own. Custom widgets are the same drag-and-drop tile as everything else on the dashboard, but the query that powers them is yours to design.

Open Dashboard β†’ Edit β†’ Add widget β†’ Custom, or go to Settings β†’ Custom widgets for the full builder.

Custom widget builder

When to build a custom widget ​

The catalog covers the common churchwide views. Reach for a custom widget when you want something more specific:

  • "Members joined this year who haven't completed Foundations school"
  • "Cell groups with no attendance in the last 4 weeks"
  • "Donations to the building fund per branch this quarter"
  • "Birthdays this week, grouped by ministry"

If you find yourself running the same filter on the members module every Monday, that's a custom widget.

The builder, step by step ​

  1. Name & description β€” what shows on the widget header.
  2. Data source β€” pick from members, attendance, donations, groups, schools, ministries, or events. Each source pre-joins the related tables for you.
  3. Aggregation β€” count of rows, sum of a column, average, min, max. For donations, this is usually SUM(amount).
  4. Group by β€” none (one big number), by month/week, by org unit, by ministry, by member type.
  5. Chart type β€” KPI number, bar, line, area, pie. The builder picks a default but you can override.
  6. Filters β€” any column on the source table. Add as many AND conditions as you want.

The preview pane updates live. Save when it looks right.

What's supported ​

SourceCommon aggregationsNotes
Memberscount, count distinct member_typeActive vs deleted filter is automatic; lost members included unless excluded
Attendancecount, count distinct member_idJoins meetings for meeting-type group-by
Donationssum(amount), avg(amount), countOnly counts amount_redacted = false rows for sum/avg
Schoolscount enrolments, completion rateJoined to school_enrolments
Groupscount membersActive groups only
Ministriescount membersActive ministries only
Eventscount occurrences, sum of attendanceIncludes recurring expansions

Donation sums hide private rows

The donations source applies the same amount_redacted filter as the giving charts. A widget that says "this quarter's giving" omits any donation an admin marked as private. The count widget (number of donations) doesn't apply this filter β€” only the dollar widgets. See Recording a donation.

What's not supported (yet) ​

  • Cross-source joins beyond the pre-built ones. You can't, for example, build "members who have given AND attended in the same week" without a recipe-level workflow.
  • Custom SQL. If you can't express the query in the builder UI, talk to support β€” they may add a source or pre-join.
  • Real-time alerts. Custom widgets refresh on dashboard load, not on a push schedule. For real-time, use workflows with a trigger.

Sharing a custom widget ​

Every custom widget is org-scoped, not user-scoped β€” the moment you save, every user in your org can add the widget to their dashboard from the Custom tab in the Add widget picker. Edits to the widget's query propagate to everyone using it.

Next steps ​

  1. Charts β€” the built-in chart catalog.
  2. Customizing your dashboard β€” drop your custom widget on the layout.
  3. Reports β€” for one-off pulls that aren't a permanent dashboard fixture.