Procure-to-Pay Automation: The Complete P2P Workflow Guide
Everything about P2P automation: the eight procurement stages, where exceptions slow teams down, the tools…
Zoho CRM ships with a solid set of standard modules: Leads, Contacts, Accounts, Deals, and a handful of others. For many businesses, those modules cover most of the process. But the moment your sales or operations workflow includes something the default module set was not designed for, you need a way to extend the CRM without resorting to workarounds. Knowing how to create custom modules in Zoho CRM gives you that capability. You can model any business object, whether that is a product installation, a warranty claim, a training enrollment, or a vendor contract, directly inside the CRM and connect it to your existing records. This guide covers the full path from deciding whether you actually need a new module, through field configuration, lookup setup, subforms, layout rules, and automation. Each section is written for CRM admins and operations professionals who need to implement, not just understand the concept. For a broader view of what configuration is possible, the Zoho CRM customization guide is a useful reference before you begin.

Adding a custom module is not always the right answer. Before building one, check whether the standard modules can be adapted first.
| Scenario | Recommended approach |
|---|---|
| Track delivery address per Contact | Custom fields on Contacts module |
| Track product line items per Deal | Subform on Deals |
| Track warranty claims across multiple Accounts | Custom module: Warranty Claims |
| Track training sessions with attendance records | Custom module: Training Sessions + lookup to Contacts |
| Track vendor contracts with approval stages | Custom module: Contracts |
Custom module creation requires Administrator access. The process is found inside the Setup area under Modules and Fields. Zoho’s official custom modules documentation is a useful companion if you want to follow the platform’s own reference alongside these steps.
The module is now active. It appears in the top navigation bar (you may need to use the ellipsis menu or reorder modules in Setup). You can create records, configure views, and build reports against this module immediately.
Use singular nouns for module names. Avoid module names that collide with standard Zoho modules or Zoho One app names, since this causes confusion in cross-app integrations. Prefix custom modules with a short namespace if your org has multiple configuration owners, for example “CS_Warranty” to indicate CRM-side custom modules.
Zoho CRM offers a wide range of field types when building layouts. Understanding Zoho CRM custom fields types prevents design mistakes that require rebuilding later. The full list of supported field types is documented in Zoho’s custom fields reference if you need specifics on validation options or character limits per type.

Lookup fields and subforms are the two mechanisms that connect records. Understanding when to use each is critical for a clean data model. The lookup field connects your custom module to any standard module, including Contacts and Accounts. For a full picture of how those records are structured, the guide on contact and lead management in Zoho CRM is a useful companion read.
A lookup field links one record to another across modules. When you add a lookup field to your custom module, you specify the target module. Users see a searchable dropdown that pulls records from that module.
To add a lookup field:
One lookup field creates a two-way connection: the custom module record shows the linked record’s name as a clickable link, and the linked record shows a related list of all connected custom module records.
A subform is a repeating table embedded inside a parent record. Unlike a lookup, which links to separate records, a subform stores child rows that only exist within the parent. Use subforms for line items, component lists, or sequential steps where the child data has no independent existence.
To add a subform:
Subform data is not independently searchable or reportable across records. If you need to query child rows across many parent records, a custom module with a lookup is more appropriate than a subform.
Zoho CRM field dependency and layout rules let you control which fields are visible, required, or locked based on the value of another field. This reduces clutter and prevents data entry errors.
A field dependency links a controlling field (usually a picklist) to a dependent field (another picklist). The dependent field’s available options change based on what the user selected in the controlling field. For example, if “Product Category” is set to “Hardware,” the “Product Type” picklist shows only hardware options.
To configure: Setup → Modules and Fields → select your module → Field Dependency. Choose the controlling field, the dependent field, and map which values unlock which options.
Layout rules go further than field dependencies. They can:
To configure: Setup → Modules and Fields → select your module → Layout Rules. You define a condition (field, operator, value) and then specify the actions that apply when the condition is met. Multiple rules can stack on one layout, and rules evaluate in sequence.
Zoho CRM validation rules are a related feature. They run on record save and can prevent saving if a field value fails a condition. Use them for cross-field checks that layout rules cannot enforce, such as ensuring an end date is always after a start date.
A custom module that exists in isolation has limited value. The full benefit comes from connecting it to standard modules so that records, views, and reports flow together.
The most direct method is the lookup field described above. One custom module can have multiple lookup fields pointing to different standard modules. A “Support Installation” custom module, for example, might have lookups to Accounts (the customer), Contacts (the primary contact), and Deals (the originating sale).
Once a lookup exists, the standard module record automatically gains a related list section showing connected custom module records. CRM admins can configure which fields appear in that related list and the sort order via Setup → Modules and Fields → [Standard Module] → Related Lists.
Custom modules appear in the Report Builder alongside standard modules. You can create reports that join fields from a custom module and its linked standard modules in a single table. For example, a report on Warranty Claims can include the Account Name, the Deal Amount from the linked Deal, and the claim status and resolution date from the custom module itself.
Custom modules support the same automation capabilities as standard modules. This is where the investment in a well-structured module pays off operationally. Solid CRM workflow automation across custom modules eliminates the manual follow-up that typically falls through the gaps.
Go to Setup → Automation → Workflow Rules and select your custom module as the trigger module. You can fire actions on record creation, field update, or a date/time condition. Available actions include email alerts, field updates, webhooks, and creating records in other modules.
A practical example: when a Warranty Claim record’s Status field changes to “Escalated,” a workflow can assign the record to the senior support owner, send an email alert to the account manager, and update a timestamp field called “Escalation Date.”
Blueprints enforce a sequential process on a custom module. You define states (similar to pipeline stages) and transitions (the allowed moves between states). Each transition can require specific fields to be filled, enforce approvals, or trigger actions automatically.
Blueprints are particularly useful when a custom module tracks a process with defined steps and accountable owners at each step, such as contract approvals, onboarding checklists, or installation sign-offs. Configure Blueprints via Setup → Process Automation → Blueprint, then select your custom module.
If records in your custom module require manager sign-off before a stage progresses, use Setup → Process Automation → Approval Processes. You can chain multiple approvers and specify the fields that must be completed before approval is requested.
These examples illustrate how the configuration techniques above combine into working solutions.
Module: Installations. Fields: Installation Date (Date), Serial Number (Auto Number), Product (Lookup to Products), Account (Lookup to Accounts), Engineer (Lookup to Users), Warranty Expiry (Date), Status (Picklist). A Blueprint enforces the stages from Scheduled through Completed. A workflow fires an email to the customer 30 days before warranty expiry.
Module: Training Sessions. Fields: Session Date (Date-Time), Trainer (Lookup to Contacts), Capacity (Number), Status (Picklist). A subform on Training Sessions handles the attendee list, with each row containing a Contact lookup and an Attendance Status picklist. Reports show enrollment rates per session and per trainer.
Module: Vendor Contracts. Fields: Contract Value (Currency), Start Date (Date), End Date (Date), Auto-Renewal (Checkbox), Vendor (Lookup to Accounts), Contract Owner (Lookup to Users). A formula field calculates Days to Expiry. A workflow sends an alert to the Contract Owner when Days to Expiry drops below 60.
Module: Referrals. Fields: Referrer (Lookup to Contacts), Referred Contact (Lookup to Contacts), Deal (Lookup to Deals), Referral Date (Date), Reward Status (Picklist), Reward Amount (Currency). A layout rule makes Reward Amount mandatory when Reward Status is set to “Approved.”
Custom modules have both design pitfalls and hard platform limits. Knowing these before you build saves rework later. If you are evaluating whether your current Zoho CRM plan supports the number of custom modules your architecture requires, checking the plan comparison before committing to a design is worthwhile.
How many custom modules can I create in Zoho CRM?
On the Enterprise plan, you can create up to 50 custom modules per organization. The Ultimate plan increases this limit. Standard and Professional plans support fewer custom modules, so check your plan limits in Setup before designing a large multi-module architecture.
Can I add a custom module to the Zoho CRM mobile app?
Yes. Custom modules appear in the Zoho CRM mobile app automatically once they are created and the user’s profile has access. You can configure which fields appear in the mobile list view via the module’s layout settings under Mobile Layouts in Setup.
What is the difference between a lookup field and a subform in Zoho CRM?
A lookup field links one record to another existing record in a different module, creating a two-way relationship. A subform embeds multiple rows of child data directly inside a parent record, and those rows exist only within that parent. Use lookups when the related data needs to exist independently; use subforms for line items or lists that belong exclusively to one record.
Can I use Blueprints on a custom module?
Yes. Blueprints are available for custom modules on Enterprise and above. You select the custom module when creating the Blueprint, define the state field (typically a picklist), and configure transitions with conditions, required fields, and automated actions. This is one of the most powerful features for enforcing process compliance on custom workflows.
How do I delete a custom module if I no longer need it?
Go to Setup, then Modules and Fields, and click the settings icon next to the module. Choose Delete Module. Zoho will warn you that all records, fields, and related data in the module will be permanently removed. You cannot recover deleted module data, so export any records you need before deleting. Automations and reports referencing the module will also break and must be removed manually.
Aaxonix designs and implements custom Zoho CRM architectures for sales and operations teams that have outgrown the default module set. Book a free consultation to map your process to the right module structure from the start.
Book a free consultationCustom modules are one of the most practical ways to extend Zoho CRM without leaving the platform. When combined with well-chosen field types, lookup relationships, layout rules, and automation, they let you track any business object with the same reliability as the built-in modules. Start with one module that has a clear use case, configure it fully, and validate it with real users before expanding to additional modules. For the broader context of how custom modules fit into your overall CRM configuration, the complete Zoho CRM setup guide covers the full system architecture.
Tell us what you are working through and a senior architect from our team will get back to you with a straight answer, usually within a couple of working days. No bot, no hard sell.
A senior architect will get back to you at , usually within a couple of working days. Worth checking your spam folder, just in case.
Tell us what you are actually trying to do. You will get a straight answer from a senior architect who has done this before, not a sales rep.
A senior architect will get back to you at , usually within a couple of working days. Worth checking your spam folder, just in case.
Ask it now and a senior architect will get back to you, usually within a couple of working days. It goes to our team, not a mailing list.
A senior architect will get back to you at , usually within a couple of working days. Worth checking your spam folder, just in case.