> ## Content Index
> Fetch the complete content index at: https://blog.peppercloud.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Custom modules in Pepper Cloud CRM: How to build a CRM around the way you work
- URL: https://blog.peppercloud.com/custom-modules-in-crm-guide/
- Published: 2026-08-20T12:19:44.000Z
- Updated: 2026-08-20T12:19:44.000Z
- Author: Pepper Cloud Marketing

Every business tracks something the standard CRM doesn’t. An insurance agency needs to track policies and claims. A tuition centre needs courses and enrolments. A travel agency needs bookings and itineraries. With **custom modules** in Pepper Cloud, you can create your own data structures inside the CRM — without spreadsheets, without workarounds, and without waiting on a developer. This guide walks you through everything, from creating your first module to managing records, associations, pipelines, and permissions.

## **What is a custom module?**

Pepper Cloud comes with standard modules — Leads, Accounts, Contacts, Opportunities, and Tickets — that cover most sales and support workflows. But no two businesses are identical, and some of your most important data simply doesn’t fit those boxes.

A **custom module** is a data structure you define yourself to track business-specific information. You decide what it’s called, what fields it holds, how it connects to your contacts and deals, and who can see it. Instead of forcing your business into a rigid template, you model the CRM around how you actually work.

| In short: A custom module lets an admin create a brand-new record type — like Policy, Course, Booking, or Property — complete with its own fields, pipeline, and permissions, and link it to the leads, contacts, and deals you already manage. |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

## **How businesses can use custom module - A few real-world examples**

### **Insurance agency**

Standard CRM tracks the client and the deal — but there’s nowhere to record the **policies themselves**, claims, or renewals. A single client can hold several policies — motor, life, health — each with its own premium, renewal date, and claim history. With custom modules, you create Policy, Claim, and Renewal modules linked to the contact, so agents can see every policy a client holds, get ahead of upcoming renewals, and track each claim through to resolution — all without leaving the CRM.

### **Tuition centre**

For a tuition centre, contacts are parents and students — but **courses, class enrolments, and fee payments** don’t fit the standard modules. With custom modules, you create Course, Enrolment, and Payment records linked to each student and parent. Staff can instantly see which classes a student is enrolled in, track attendance and outstanding fees, and trigger automated reminders for renewals or unpaid invoices.

### **Travel and tourism**

A travel agency manages travellers as contacts, but each **booking, itinerary, and trip** carries details the standard CRM can’t hold — destinations, travel dates, package cost, supplier, and passenger count. With custom modules, you create Booking and Itinerary modules linked to the contact, giving agents a full history of every trip a customer has taken, a clear view of upcoming departures to follow up on, and a foundation for automated pre-trip and post-trip messages.

The same idea applies to property listings, loan applications, equipment rental, event management, subscriptions — anything unique to your industry.

## **How to set up custom module**

### **Before you begin**

• Custom modules are created by a **Admin**. If you don’t see the option to create custom module, ask your CRM administrator.

• You can create up to **5 custom modules**.

• Each module supports a **primary display property** plus up to **2 secondary display properties**.

• Plan your fields before you start — the **property type cannot be changed** once a property is created.

### **Creating a custom module (step by step)**

1. Log in to your CRM.
2. Go to settings > Customisation > Custom module
3. Click **“Create new”**.
4. Name your module: Choose an icon, enter singular and plural name and add description. Click “Save & Next”.

| ⚠ Note: Pepper Cloud auto-generates an internal name from the singular name (lowercase with underscores). It’s shown read-only and is used in integrations. The internal name cannot be changed after creation. Module names may contain letters, numbers, and spaces only — no special characters. |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

### **Setting up a custom module**

1. Fill in the basic details.
- **Create a primary field (Mandatory):** The primary display property is the main field that identifies every record — it acts as the record’s title across the CRM (like a Policy Number or Booking ID). For this, click “Create new”. Choose property type. Add custom name, default value, and help text.
- **Add secondary fields (Optional):** Add up to two secondary properties that appear beneath the title on record cards and list views (e.g. a Renewal Date or Client Name). You can skip this and add fields later from the module’s settings.
- **Add other fields (Optional):** These are custom fields. You can add as many custom fields as you need.

| Property                                      | Editable after creation?      | Deletable?                 |
| --------------------------------------------- | ----------------------------- | -------------------------- |
| Primary display property                      | Label only — type is locked   | No — it’s the record title |
| Additional / secondary property               | Label anytime; type is locked | Yes                        |
| System fields (Assigned to, Created at, etc.) | No                            | No — always present        |

1. **Choose a pipeline (optional)**

If your records move through stages (e.g. a Claim going from Submitted → Under Review → Settled), define a **pipeline** with its stages here.

### **Configuring associations, forms, and views**

You can do this from listing screen of custom modules. Here are the steps: Go to Settings > Customisation > Custom module > Click on 3 dots. 

1. **Configure associations (optional)**
- Select “Update associations”.
- Choose the modules (Leads, Accounts, Contacts, Opportunities, or another custom module) that should link to your new custom module.

#### **How associations behave**

- Each association card shows the linked records, a **“+ Associate”** button to link an existing record, and an option to create a new record inline.
- Clicking a linked record name opens that record’s detail page.
- Relationships are **one-to-many** — one custom module record can link to multiple records of an associated object, and vice versa.
- Deleting a parent record only removes the **link** — the custom module record itself is never cascade-deleted.

| ⚠ Lead conversion: When a Lead is converted to a Contact/Account/Opportunity, its custom module associations stay on the Lead record and are not carried forward — consistent with standard CRM behaviour. |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1. **Configure form layout (optional)**
- Select “Update form”.
- Edit the form layout as required.
1. **Configure default view (Table or Kanban) (Optional)**
- Select “default view”.
- Choose the option.

| ℹ Defaults: Table view uses 5 columns — Primary property, Assigned to, Tags, Created at, and Updated at. Kanban uses Primary property, Assigned to, and Tags. |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------- |

### **Set profiles and permissions**

Define which user profiles can read, create, update, delete, import, and export records for this module. (You can also manage this later from **Manage Users › Profiles**.)

Each custom module adds a new section to every user profile with six independent permissions. For a brand-new module, all six are **OFF by default** across all existing profiles — no one gains access automatically until an admin enables it.

| Permission | Controls                                              | Requires |
| ---------- | ----------------------------------------------------- | -------- |
| Read       | See records, lists, search results, association cards | —        |
| Create     | Create new records                                    | Read     |
| Update     | Edit existing records                                 | Read     |
| Delete     | Delete records                                        | Read     |
| Import     | Import via CSV/Excel                                  | Create   |
| Export     | Export to CSV/Excel                                   | Read     |

 • Turning off **Read** also turns off Create, Update, and Delete for that module.

• Cloning a profile copies its custom-module permissions exactly.

• If a module is deleted, its permissions are removed from every profile automatically.

## **Adding and managing records**

### **Create a record**

1\. Open your module from the top navigation and click **“+ Create new”**.

2\. Fill in the primary property (autofocused), then any secondary and additional fields in the order your admin defined.

3\. Set **Assigned to** (defaults to you) and, if a pipeline exists, pick a pipeline and stage.

4\. Click **Save** — or **“Save and create another”** to add records back-to-back. Required fields are marked with a red asterisk.

### **The record list page**

• Records are sorted by **Created at (newest first)** by default.

• Switch between **List view** and **Kanban view**, and save your own custom views.

• **Filter** by any property, assignee, stage, or date range; **search** across the primary and secondary properties.

• Show 25, 50, or 100 records per page.

• **Quick filters**: Assigned to, Created at, Updated at, Tags. **Advanced filters**: primary/secondary properties, pipeline, stages, associations, and other custom fields.

### **Inline edit, tags, and bulk actions**

• **Inline edit** — click any field on a record to edit and save it in place.

• **Tags** — apply tags to organise records. Default tags include New, In progress, Pending, Completed, and On hold.

• **Bulk actions** — select multiple records to create a Note, Task, Event, Log, or Email; add tags; bulk edit fields; or delete.

### **Importing and exporting records**

• Import from **CSV or Excel (.xlsx)**, up to **25,000 records** at a time — associations can be imported too.

• After upload, map your columns to module properties. Required fields must be mapped before the import can run.

• Duplicates are skipped and shown in an error report you can download.

• Export up to **25,000 records per day**, including their associations.

### **The record detail page**

Every record opens into a familiar three-panel layout, consistent with Leads and Opportunities:

• **Left** — record title, quick-action icons (Note, Task, Log, Email, Document, Event), all custom fields in a key-value layout, and system fields.

• **Centre** — the pipeline stage bar (if configured) and the activity timeline with tabs for each activity type.

**Activities and tagging to other records**

You can log Notes, Tasks, Logs, Emails, Documents, and Events on any custom module record — exactly as you do on a Lead. The standout feature is **activity tagging**: when you create an activity on a custom module record, you can optionally link it to an associated record (such as a Lead), so the activity appears on **both** timelines.

### **How to tag an activity**

1\. Open a custom module record (e.g. a Policy) and click an activity type from the icon bar.

2\. At the top of the panel, use the **“Associate to record”** section to search for a Lead by name or email.

3\. Select the record and save. The activity now appears in the activity feed of both records.

| ℹ Permissions respected: Search only returns records within your permission scope. If a tagged Lead is later deleted, the activity is preserved and the link shows as a “Deleted record”. Users without Lead access see the activity but the linked name appears as a “Restricted record”. |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

**Pipelines and stages**

From a module’s settings, open the **Pipelines** tab to create one or more pipelines. Each needs a name and between **1 and 12 stages**. On a record, the pipeline shows as a horizontal stepper — click a stage to move the record (moving backwards asks for confirmation).

| ⚠ Deleting stages: You can’t delete a stage or pipeline that still holds records — Pepper Cloud asks you to move those records first. |
| ------------------------------------------------------------------------------------------------------------------------------------- |

**Navigation and global search**

• Custom modules appear in the **top navigation bar** by plural name, in the order they were created.

• Records and their activities show up in **global search**, tagged with a custom-module badge and a dedicated “custom module” filter pill.

• Users without Read permission don’t see the module in navigation or search.

• Custom modules also appear in Pepper Cloud’s workflow automation — trigger on record created, updated, or deleted, and act with find, update, create, or associate steps.

## **Editing and deleting a module**

### **Editing a module**

From **Settings › Customisation › Custom Modules**, click the edit icon on a module to rename the primary property, adjust the pipeline and layout, or update permissions. If you try to remove an association that’s in use, Pepper Cloud blocks the change and shows where it’s used (layouts, workflows) so you can clear those first.

### **Deleting a module**

| ⚠ This cannot be undone. Deleting a custom module permanently removes all its records, properties, and associations. |
| -------------------------------------------------------------------------------------------------------------------- |

When you click the delete icon, Pepper Cloud checks where the module is used:

• **In use** (workflows, records, create-modal associations): deletion is blocked and every usage is listed so you can remove them first.

• **Has records but not in use**: you’ll confirm via a checkbox acknowledging records will be permanently removed.

• **No records, not in use**: a simple confirmation removes the module and its schema.

# **Frequently asked questions (FAQs)**

1. **How many custom modules can I create?**

Up to 5 per portal (may vary by plan).

1. **How many fields can a module have?**

Up to 20 fields — one primary and up to two secondary display properties, plus additional fields.

1. **Can I change a field’s type later?**

No. You can rename a field, but its type is fixed at creation.

1. **Can I link a record to more than one Lead?**

Yes — activities and records support one-to-many links.

1. **Are custom modules visible in the Chrome and Outlook extensions?**

Yes, associations and fields are available in the extensions and email templates.

## **Ready to model your CRM around your business?**

Custom modules turn Pepper Cloud into a CRM shaped by your industry — not the other way around. Log in to try building your first module, or[ **book a demo**](https://peppercloud.com/contact?ref=blog.peppercloud.com).