Back to Blog
ModulesCustomizationNo-CodeGuide

How to Create Custom Modules for Any Business Process

Learn how to build custom modules (objects, tables) in your CRM to track any type of data—projects, vendors, inventory, and more. No code required.

C

Coherence Team

ProductJanuary 16, 2026
Share

TL;DR

Custom modules let you track any type of data in your CRM beyond the standard Contacts and Deals. Build modules for projects, vendors, inventory, properties, candidates—anything your business manages. The process: (1) Define what you're tracking, (2) Create fields for each attribute, (3) Set up relationships to other modules, (4) Configure views for different use cases. Modern no-code platforms make this accessible to anyone.


What Are Custom Modules?

A module (also called an object, entity, or table) is a type of record in your CRM. Standard CRMs come with built-in modules:

  • Contacts — People you interact with
  • Companies — Organizations
  • Deals/Opportunities — Sales you're pursuing

Custom modules extend this to anything else:

  • Projects — Work you're delivering
  • Vendors — Companies you buy from
  • Properties — Real estate you manage
  • Products — Inventory you sell
  • Candidates — People you're recruiting
  • Events — Conferences, webinars, meetings

If you can define it with attributes and track multiple instances, it can be a module.

This capability is central to XRM (Anything Relationship Management)—the idea that your CRM should manage all relationships, not just customers.


When to Create Custom Modules

Signs You Need Custom Modules

You're using spreadsheets alongside your CRM: If you track something in a spreadsheet because it doesn't fit in the CRM, that's a module candidate.

You're abusing existing modules: Using "Contacts" for vendors, "Deals" for projects, or "Notes" for everything else? Create dedicated modules.

You want relationships between data types: Spreadsheets can't easily link a Project to its Client and its Vendors. Modules with relationships can.

Multiple people need access: Spreadsheets become chaos with multiple editors. Modules provide structured, permissioned access.

Examples by Business Type

Marketing Agency:

  • Projects (campaigns, deliverables)
  • Vendors (freelancers, subcontractors)
  • Assets (creative files, brand materials)

Property Manager:

  • Properties (buildings, units)
  • Tenants (residents, occupants)
  • Maintenance Requests (work orders)

Recruiting Firm:

  • Candidates (job seekers)
  • Job Orders (open positions)
  • Placements (successful matches)

E-commerce Business:

  • Products (inventory)
  • Suppliers (where you source)
  • Orders (purchases, linked to contacts)

Planning Your Custom Module

Before building, define clearly:

1. What Is This Module?

Write a one-sentence description:

  • "Projects track client deliverables from kickoff to completion."
  • "Vendors are companies we purchase services from."
  • "Properties are real estate units we manage."

2. What Fields Does It Need?

List every attribute you want to track:

Example: Projects Module

FieldTypeRequired?Notes
NameTextYesProject title
ClientRelationshipYesLinks to Companies
StatusSingle SelectYesPlanning, Active, Review, Complete
Start DateDateNoWhen work begins
Due DateDateNoDeadline
BudgetCurrencyNoProject value
Project LeadUserNoTeam member responsible
DescriptionLong TextNoDetails and scope

3. How Does It Relate to Other Modules?

Map relationships:

  • Projects → Companies (many projects belong to one company)
  • Projects → Contacts (many contacts involved in one project)
  • Projects → Vendors (many vendors work on one project)

4. Who Needs Access?

Consider permissions:

  • Can everyone see all records?
  • Can anyone create/edit/delete?
  • Should some fields be restricted?

Building a Custom Module: Step-by-Step

Step 1: Create the Module

In Coherence:

  1. Go to Settings → Modules
  2. Click Create Module
  3. Enter module name (singular and plural)
  4. Add an icon (optional but helps identification)
  5. Save

The module now exists, but it's empty.

Step 2: Add Fields

Add each field from your plan:

Text Field:

  • Name, Description, Notes
  • Single line or multi-line

Number Field:

  • Quantity, Score, Rating
  • Configure decimal places, range

Date Field:

  • Due Date, Start Date, Created Date
  • Date only or date-time

Single Select:

  • Status, Type, Priority
  • Define the options

Multi-Select:

  • Tags, Categories
  • Allow multiple selections

Currency:

  • Budget, Price, Revenue
  • Configure currency symbol

Relationship:

  • Links to another module
  • One-to-many or many-to-many

User:

  • Assigned To, Owner, Project Lead
  • Links to team members

Formula (if available):

  • Calculated fields based on other values

Step 3: Configure Field Properties

For each field, set:

Required vs. Optional: Only require what's truly essential. Required fields block record creation until filled.

Default Value: Pre-fill common values (e.g., Status defaults to "New").

Visibility: Hide fields from certain views or roles if needed.

Validation: Restrict values (e.g., numbers only, email format).

Step 4: Create Relationships

Relationships connect modules:

One-to-Many: One company has many projects.

  • On Projects module, add "Company" relationship field
  • Type: Links to Companies
  • Cardinality: One (each project has one company)

Many-to-Many: Projects can have multiple team members; team members work on multiple projects.

  • On Projects module, add "Team" relationship field
  • Type: Links to Contacts
  • Cardinality: Many (each project has multiple contacts)

After creating relationships, you can:

  • View a Company and see all their Projects
  • View a Contact and see all Projects they're on
  • View a Project and see its Company and Team

Step 5: Set Up Views

Views display your data in different layouts:

List View:

  • Spreadsheet-style, all records
  • Best for bulk operations, data review

Kanban View:

  • Grouped by a field (usually Status)
  • Best for pipeline/workflow management

Calendar View:

  • Records plotted on dates
  • Best for deadline tracking

Create views for common use cases:

View NameTypeFilterUse Case
All ProjectsListNoneFull overview
Active ProjectsKanbanStatus = ActiveCurrent work
My ProjectsListLead = MePersonal queue
Project CalendarCalendarDate = Due DateDeadlines

Step 6: Configure Layout

Customize how individual records appear:

Summary Card: Which fields show in lists and previews?

Detail View: Arrange fields into sections:

  • Overview (key info at top)
  • Details (secondary info)
  • Related Records (linked modules)
  • Activity (timeline, notes)

Step 7: Set Up Automations

Automate common actions:

When Status changes to Complete:

  • Send notification to billing team
  • Update last project date on Company

When Due Date approaches:

  • Send reminder to Project Lead
  • Add task to follow up

When new Project created:

  • Add standard tasks
  • Notify team members

Best Practices for Custom Modules

Start Simple

Don't build everything day one. Create the minimum viable module:

  • Core fields only
  • Basic relationships
  • One or two views

Use it for a week. You'll discover what's missing and what's unnecessary.

Use Consistent Naming

Establish conventions:

  • Module names: Singular (Project, not Projects)
  • Field names: Clear, specific (Due Date not Date)
  • Status values: Active verbs (Planning, Active, Review, Complete)

Consistency helps users understand the system intuitively.

Design for the User

Ask: "What does someone need to see when they open this record?"

Put the most important information first. Hide rarely-used fields. Reduce cognitive load.

Document Your Modules

Maintain a simple doc explaining:

  • What each module is for
  • What each field means
  • When to create new records
  • Who is responsible for what

New team members will thank you.

Review Periodically

Quarterly, audit your custom modules:

  • Are all fields being used?
  • Are there fields people wish existed?
  • Are relationships accurate?
  • Do views match how people actually work?

Evolve the system based on real usage.


Common Module Patterns

Projects

Purpose: Track deliverables from start to completion

Core Fields:

  • Name, Client (Company), Status, Start Date, Due Date, Budget, Lead (User)

Relationships:

  • Belongs to one Company
  • Has many Contacts (team members)
  • Has many Tasks (if tracking tasks)

Views:

  • Active Projects (Kanban by Status)
  • My Projects (filtered to current user)
  • Project Calendar (by Due Date)

Vendors

Purpose: Track companies you buy from

Core Fields:

  • Name, Primary Contact, Category, Payment Terms, Rating

Relationships:

  • Has many Contacts (people at vendor)
  • Links to Projects (vendors involved)
  • Links to Invoices (if tracking)

Views:

  • All Vendors (List)
  • By Category (Kanban)

Products/Inventory

Purpose: Track items you sell or manage

Core Fields:

  • Name, SKU, Category, Price, Cost, Quantity, Reorder Level

Relationships:

  • Links to Suppliers (Vendors)
  • Links to Orders or Deals

Views:

  • All Products (List)
  • Low Stock (filtered by Quantity < Reorder Level)
  • By Category (Kanban)

Applications/Candidates

Purpose: Track people in a hiring process

Core Fields:

  • Name, Email, Position, Status, Source, Resume (file), Applied Date

Relationships:

  • Links to Job (if tracking open positions)
  • Links to Interviews (if tracking separately)

Views:

  • Active Candidates (Kanban by Status)
  • By Position (grouped)
  • Recent Applications (sorted by date)

Frequently Asked Questions

How many custom modules can I create?

Depends on the platform. Most modern CRMs allow unlimited or high numbers (50+). Coherence allows unlimited custom modules.

Do custom modules slow down the system?

Not if designed well. Keep fields reasonable (<50 per module), archive old records, and avoid overly complex automations.

Can I delete a custom module?

Yes, but be careful—this typically deletes all records in that module. Most platforms require confirmation and some offer soft-delete/archive.

Can I change modules after creating them?

Yes. You can add fields, remove unused fields, change field types (with limitations), add views, etc. Design changes are normal as you learn.

Who can create custom modules?

Usually admins or users with specific permissions. Regular users typically can't modify the data structure.

What if I need something more complex than modules?

For truly complex needs (advanced calculations, external integrations, custom UI), you may need API access or developer assistance. But most business needs are met by modules + automations.


Build Your First Custom Module

Ready to try? Here's your 15-minute challenge:

  1. Identify one thing you track in spreadsheets that should be in your CRM
  2. List 5-7 fields that describe each instance
  3. Create the module in your CRM
  4. Add 3 test records
  5. Create one filtered view

Once you've done this once, you'll realize how powerful custom modules are—and how much of your business can be systematized.

Create your first custom module in Coherence →