Modules -- Apps for Your Data
In the previous chapter, you met the [AI Agents](05-agents.md) that work inside GOD CRM. Many of tho
In the previous chapter, you met the AI Agents that work inside GOD CRM. Many of those agents build, manage, and interact with Modules. Now it is time to understand what Modules are and what each one does.
What Is a Module?
A Module is a full-page application that lives inside GOD CRM's sidebar. When you click a Module name, it fills the main content area with a specialized interface designed for one type of work.
Think of Modules like apps on your smartphone. Your phone is one device, but it runs many apps: a calendar, a photo gallery, a notes app, a messaging app. Each app is a focused tool designed for one job. You do not use your calendar app to edit photos, and you do not use your gallery app to write notes.
GOD CRM works the same way. The CRM is one system, but it contains many Modules. Each Module gives you a different way to work with your data.
In the four-layer architecture, Modules are Layer 3. They sit above Raw Tables (Layer 1) and Universal Tables (Layer 2), and below Widgets (Layer 4).
The Key Insight -- Same Data, Different Views
This is the most important thing to understand about Modules: they do not store their own data. Every Module reads from and writes to the same underlying tables.
Imagine you have a table called "Tasks" with columns for title, due date, status, and assignee. You can view that exact same table through:
- The Kanban module -- and see tasks as cards in columns (To Do, In Progress, Done)
- The Calendar module -- and see tasks plotted on dates
- The Timeline module -- and see tasks as bars on a Gantt chart
- The Universal Table -- and see tasks as rows in a spreadsheet
Four different experiences. One set of data. Change a task's status in the Kanban board, and the Calendar, Timeline, and Table all update instantly.
Module vs Widget -- What Is the Difference?
This is a common source of confusion. Architecture Decision Record ADR-044 makes the distinction clear:
| Term | What it is | Where you see it | Size |
|---|---|---|---|
| Module | A full-page application | Sidebar menu | Full screen |
| Widget | A small summary card | Dashboard page | One card on a grid |
A Module fills the entire content area and gives you every feature for that type of work. A Widget is a compact card on a dashboard that shows a quick summary. Read more about Widgets in Widgets and Dashboards.
The Complete Module List
GOD CRM includes 12 main modules. Here is every one, with a real-world analogy to help you understand what it does.
| Module | What it does | Real-world analogy |
|---|---|---|
| Documents | Rich text pages with sections and Atoms | Google Docs / Notion |
| Calendar | Events and dates on a visual calendar | Google Calendar |
| Kanban | Cards in drag-and-drop columns | Trello |
| Contacts | People and company profiles | Phone contacts app |
| Timeline | Date ranges on a horizontal time axis | Gantt chart / project plan |
| Gallery | Image-focused card grid | Photo gallery app |
| Charts | Data visualizations (bar, line, pie) | Excel charts |
| Labs / MindWorkflow | Visual node-based canvas for flows | Miro / FigJam |
| Data Sources | External database connections | USB drive / external storage |
| Wellness | Health and fitness tracking with gamification | Apple Health / Fitbit |
| Virtual Office | 2D virtual workspace for remote teams | Gather.town |
| AI Agents | Agent management and chat interface | Team management dashboard |
Module Details
Documents -- A rich text editor built into GOD CRM, now at version 4 (v4). Think of it as Google Docs inside your CRM. It supports hierarchical pages with sections and a special feature called Atoms -- reusable content blocks that you can embed across multiple documents. Documents are stored as table rows, which means you can filter, search, and connect them just like any other data.
Calendar -- Turns any date column in your table into a visual calendar with monthly, weekly, and daily views. You configure which column holds the event date, which column holds the title, and optionally which column determines the color. Drag an event to a different date and the underlying table row updates automatically.
Kanban -- Displays your table data as a drag-and-drop card board. Columns represent stages (like To Do, In Progress, Done). You choose which column determines the stage, which column shows on the card title, and which columns appear in the card body. Kanban also supports WIP (Work In Progress) limits -- you can set a maximum number of cards per column to prevent bottlenecks.
Contacts -- Classic CRM functionality for managing people and organizations. Each contact gets a detailed profile with accordion-style grouped fields. You can search, filter, and browse contacts just like in your phone's contacts app, but with much more power -- because every contact is backed by a table row with typed columns.
Timeline -- Displays date-range data as horizontal bars on a time axis, similar to a Gantt chart used in project management. You configure start date, end date, and optionally a group-by column for swimlanes (rows of bars grouped by category). It also supports a progress column and a depends-on column for drawing dependency arrows between items.
Gallery -- Displays your table data as a visual grid of cards with image emphasis. Ideal for product catalogs, portfolios, or any data where a picture is worth more than a row in a spreadsheet.
Charts -- Data visualization using five chart types: bar, line, pie, area, and scatter. You configure which column goes on the X axis, which goes on the Y axis, and optionally a group-by column. Charts pull from your tables in real time, so they always show current data.
Labs / MindWorkflow -- A visual node-based canvas where you connect blocks to build workflows, brainstorm ideas, or design AI agent pipelines (see ADR-043). Think of it as a whiteboard where each sticky note is a functional block that can process data or trigger actions. Includes a node palette for adding blocks, a node sidebar for configuration, and glowing edge connections between nodes. The Virtual Office workspace also lives within Labs.
Data Sources -- Lets you connect external databases (PostgreSQL, MySQL, SQLite) to GOD CRM. The built-in DatabaseTypeDetector automatically identifies the external schema and column types. Once connected, external data appears inside GOD CRM as if it were native. Think of it like plugging a USB drive into your computer -- the files show up in your file browser.
Wellness -- A fitness and health tracker with gamification (see ADR-025, ADR-060). Track workouts, vitals, and daily habits. Earn XP, unlock achievements, and maintain streaks. This module turns your health data into a game-like experience while storing everything in standard CRM tables.
Virtual Office -- A 2D virtual workspace powered by WorkAdventure, accessible from within the Labs environment. Remote team members appear as avatars in a virtual room. Walk up to someone to start a conversation. Think of it as a virtual office floor where you can see who is at their desk.
AI Agents -- Your command center for AI. Browse available agents, start chat conversations, configure tools and language models (OpenAI, Anthropic, Google, and others), view conversation history, and share agents with other users. This is the module you use to interact with the agents described in the previous chapter.
How Modules Connect to Tables
Every Module gets its data from one or more tables. The connection works like this:
Table: "Tasks"
Columns: title, status, due_date, assignee, priority
| | |
v v v
Kanban Calendar Timeline
(groups by (plots by (bars from
status) due_date) due_date)
One table powers multiple Modules. The Modules do not duplicate the data -- they simply present it differently. This is the "same data, different views" principle at the heart of GOD CRM.
One Table, Many Modules -- A Practical Example
Say you have a table called "Content Calendar" for managing blog posts:
| Column | Type | Purpose |
|---|---|---|
| Title | Text | Blog post title |
| Status | Select | Draft, Review, Published |
| Publish Date | Date | When it goes live |
| Author | Link | Who is writing it |
| Category | Select | Tech, Marketing, News |
| Featured Image | File | Hero image for the post |
Now open different Modules:
- Kanban -- See posts as cards in columns: Draft, Review, Published. Drag a card from Draft to Review when it is ready for editing.
- Calendar -- See posts plotted on their Publish Date. Spot gaps in your content schedule at a glance.
- Timeline -- See posts as bars spanning from creation to publish date. Track which posts are on schedule and which are falling behind.
- Gallery -- See posts as image cards showing the Featured Image. Get a visual overview of your content.
- Charts -- See a bar chart of posts grouped by Category. Find out if you are publishing too much Tech content and not enough Marketing.
Five different views. One table. Zero data duplication.
Beyond the 12 Core Modules
GOD CRM also includes system-level features that handle infrastructure and data exchange. While not full "modules" in the user-facing sense, they are important parts of the system:
| Feature | What it does |
|---|---|
| File Management | Upload, store, preview, annotate, and crop files |
| Export / Import | Move data in and out via CSV, Excel, or JSON |
| Authentication | JWT-based login, API keys, password reset |
| Webhooks | Incoming webhook endpoints for external events |
| Email and Messaging | Email sending and Telegram bot integration |
| Automations | Rule-based trigger-action workflows |
| Code Execution | Run code snippets via the Piston engine (multi-language) |
| Schema Editor | Visual database designer on a ReactFlow canvas |
Modules Are Extensible
The system is designed to grow. New Modules can be built by developers (or by AI Agents) using the same architecture: create a React component that reads from tables through the API, register it as a Module type, and it appears as an option in the sidebar. The existing Modules are not hard-coded limitations -- they are the starting set.
Modules, Tables, and Widgets Working Together
- A Table stores the raw data (rows and columns).
- A Module provides a specialized full-page interface for working with that data.
- A Widget provides a small summary card of that data on a dashboard.
All three point to the same underlying data. Change a value in the table, and both the Module view and the Widget card update automatically.
Summary
| Concept | Description |
|---|---|
| Module | A full-page application in the sidebar (Layer 3) |
| Data source | Every Module reads from one or more Raw Tables |
| Same data, different views | Multiple Modules can show the same table differently |
| 12 core Modules | Documents, Calendar, Kanban, Contacts, Timeline, Gallery, Charts, Labs, Data Sources, Wellness, Virtual Office, AI Agents |
| Extensible | New Modules can be added by developers or agents |
What Is Next?
Modules fill the full screen. But what about the small summary cards you see on dashboards? Those are Widgets -- and they are Layer 4.
Read Widgets and Dashboards to learn about the dashboard system.