Widgets and Dashboards -- Your Control Panel
In the previous chapters, you learned about [Modules](06-modules.md) -- full-page applications for w
In the previous chapters, you learned about Modules -- full-page applications for working with your data. Now it is time to learn about Widgets and Dashboards, which give you a bird's-eye view of everything at a glance.
The Phone Home Screen Analogy
Pull out your phone (or picture one in your mind). Your home screen is a page you have arranged yourself. You chose which widgets appear, where they sit, and how big they are. One person's home screen has a weather card, a music player, and a calendar. Another person's has a fitness tracker, a news feed, and a to-do list. Same phone, completely different layouts.
GOD CRM works the same way:
- A Dashboard is your home screen. It is a customizable page inside a Project where you arrange cards.
- A Widget is one of those cards. It shows a quick summary of some piece of information -- a chart, a number, a task list, a calendar, and so on.
You do not write code to build a dashboard. You pick widgets, drop them on the page, resize them, and connect them to your data.
In the four-layer architecture, Widgets are Layer 4 -- the highest layer, sitting on top of everything else.
What Is a Dashboard?
A Dashboard is a customizable overview page that lives inside a Project. Every Project can have its own Dashboard. Key facts:
- One per Project. Each Project gets its own Dashboard.
- Drag and drop. You move widgets around by dragging them.
- Resizable cards. Each widget can be made larger or smaller.
- Live data. Widgets pull data from your tables in real time.
- 12-column grid. The layout uses a responsive 12-column grid system (react-grid-layout), so widgets snap into neat rows and columns.
Think of a Dashboard as your personal command center for a Project. You glance at it and immediately know the state of things -- how many tasks are open, what deadlines are coming up, how revenue is trending.
What Is a Widget?
A Widget is a compact card that displays one piece of information. It is not a full application -- it is a small, focused visualization you can understand at a glance.
The difference between a Module and a Widget is size and purpose:
| Feature | Module (Layer 3) | Widget (Layer 4) |
|---|---|---|
| Where it appears | Sidebar, opens full screen | Dashboard, shares space with other widgets |
| Size | Full page | A card on a grid |
| Level of detail | Complete feature set | Summary or overview |
| Interaction | Full editing and management | Quick view, sometimes with limited actions |
Some features exist as both a Module and a Widget. For example, the Calendar module is a full-page calendar where you manage events. The Calendar widget is a compact calendar card on your dashboard that shows upcoming events at a glance. Same data, different level of detail.
The 16 Widget Presets
GOD CRM ships with 16 widget types (15 unique plus 1 deprecated alias). Each one is designed for a specific kind of information.
| # | Widget Type | What it shows |
|---|---|---|
| 1 | Table View | Your data as a spreadsheet grid |
| 2 | Kanban Board | Cards organized in columns by status |
| 3 | Calendar | Events on a monthly or weekly calendar |
| 4 | Timeline | Date ranges on a Gantt-like bar chart |
| 5 | Chart | Visualizations (bar, line, pie, area, scatter) |
| 6 | Task List | A checklist of tasks with completion status |
| 7 | Project Stats | Overview statistics for the current project |
| 8 | Quick Links | Bookmarks to frequently used pages |
| 9 | Documents | A document viewer |
| 10 | Documents v4 | Documents using the tables-based approach |
| 11 | AI Agents | AI agent management and chat |
| 12 | Data Sources | Connected external databases |
| 13 | Recent Activity | Recent activity feed |
| 14 | Metric Card | A single large number or metric |
| 15 | Wellness | Health and fitness tracking |
| 16 | Gallery | Visual card grid with image emphasis |
About the Chart widget. The Chart widget supports five chart types, but they are all one widget configured differently -- not five separate widgets:
| Chart Type | Best for |
|---|---|
| Bar | Comparing amounts across categories |
| Line | Showing trends over time |
| Pie | Showing how a whole breaks into parts |
| Area | Showing volume over time |
| Scatter | Finding relationships between two variables |
How Widgets Get Their Data
Widgets do not store their own data. They connect to your Raw Tables (Layer 1) and read from them in real time. When you add a widget to your dashboard, you configure:
- Which table -- the table the widget reads from.
- Which columns -- which columns to display or use for calculations.
- Filters -- conditions to narrow down which rows appear.
- Sort -- how to order the rows.
- Limit -- maximum number of rows to show.
Each widget type also has its own specific settings. For example:
Kanban widget -- You choose which column determines the card's stage (like a "status" column), which column shows as the card title, and which columns appear in the card body. You can also set WIP (Work In Progress) limits per lane.
Calendar widget -- You choose which column holds the event date, the event title, and optionally the color.
Chart widget -- You choose the X-axis column, Y-axis column, chart type, and optionally a group-by column.
Metric Card (Number widget) -- You choose an aggregation method (count, sum, average, min, or max) and the widget displays one large number with an optional trend indicator.
Task List widget -- You choose the completion column and whether to show all tasks, only active tasks, or only completed tasks.
Building Your Dashboard -- Three Steps
Step 1: Add widgets. Open your Project's dashboard and click the "Add Widget" button. A palette appears showing all widget types. Click one to add it.
Step 2: Arrange and resize. Drag widgets to move them. Drag the corners to resize them. The 12-column grid keeps everything aligned. Widgets snap into place so your layout stays clean.
Step 3: Configure each widget. Click the settings icon on a widget to open its configuration panel. Choose the data source (table), columns, filters, and visual options. Each widget type has different settings.
That is it. Three steps and you have a custom command center for your project.
Edit Mode vs View Mode
Dashboards have two modes:
- Edit mode -- You can add, remove, move, and resize widgets. The grid shows guides to help you align things.
- View mode -- Widgets are locked in place. You interact with the data (click a chart, check off a task) but cannot accidentally move or delete anything.
Switch between modes with the edit toggle in the dashboard toolbar.
A Dashboard Example
Imagine you run a small online store. Your "E-Commerce" Project has tables for Orders, Products, and Customers. Here is what your dashboard might look like:
+---------------------------+---------------------------+
| | |
| Metric Card: | Metric Card: |
| "Orders Today: 47" | "Revenue: $3,290" |
| | |
+---------------------------+---------------------------+
| |
| Chart (Line): |
| "Orders per Day This Month" |
| [line graph trending upward] |
| |
+---------------------------+---------------------------+
| | |
| Task List: | Recent Activity: |
| "Pending Shipments" | "Latest order changes" |
| [ ] Order #1042 | Order #1041 shipped |
| [ ] Order #1043 | New customer signed up |
| [ ] Order #1044 | Product restocked |
| | |
+---------------------------+---------------------------+
Six widgets. One page. A complete picture of your business at a glance. Every number and chart pulls live data from your tables.
Custom Widgets
Beyond the 16 preset types, GOD CRM supports custom widgets where user-provided code runs inside a sandboxed environment (CustomWidgetSandbox). This allows developers to build entirely custom visualizations that go beyond what the presets offer.
Widgets, Modules, and Tables Working Together
Here is how all three relate:
- A Table stores the raw data (rows and columns) -- Layer 1 and Layer 2.
- A Module provides a specialized full-page interface for working with that data -- Layer 3.
- A Widget provides a small summary card of that data on a dashboard -- Layer 4.
All three point to the same underlying data. Change a value in the table, and both the Module view and the Widget update. There is always one source of truth.
Summary
| Concept | Description |
|---|---|
| Dashboard | A customizable overview page inside a Project (like a phone home screen) |
| Widget | A compact card on that page (like a home screen widget) |
| 16 presets | Table, Kanban, Calendar, Timeline, Chart, Task List, Project Stats, Quick Links, Documents, Documents v4, AI Agents, Data Sources, Recent Activity, Metric Card, Wellness, Gallery |
| Data source | Widgets pull live data from Raw Tables (Layer 1) |
| Layout | 12-column responsive grid with drag-and-drop |
| Two modes | Edit mode (rearrange) and View mode (interact with data) |
What Is Next?
You now know all the individual pieces: Spaces, Projects, Tables, Agents, Modules, Widgets, and Dashboards. But how do they all fit together in practice?
Read How It All Connects for a complete end-to-end walkthrough.