Skip to content

The product

One CRM. Every next step.

Contacts, pipeline and delivery in one workspace, with AI that prepares the work for your approval.

See how Meibo works
CRM FUNDAMENTALS / THE DATA MODEL GUIDE

Every relationship.
In the right place.

A clear model connects people, companies and opportunities without turning your CRM into a maze of duplicate information.

Get the free worksheet
UNDERSTAND THE WORK.CONNECT THE DETAILS.MAKE THE NEXT STEP CLEAR.
In this guide
THE SHORT VERSION

Clarity in the model. Context in the work.

  • Objects define the types of things you manage; records are individual instances.
  • Fields describe records, while relationships connect them.
  • Use stable identifiers and clear field meanings before adding more automation.
  • Design around real business questions and test the awkward cases.

What is a CRM data model?

A CRM data model describes the types of information your CRM holds, the fields that describe them and the relationships between individual records. It gives the team a shared structure for questions such as: who works at this company, which opportunities involve them and what needs to happen next?

An object is a type of thing: a person, company, deal or task. A record is one instance, such as the company “North Studio”. A field stores a value on that record, such as its website or owner. A relationship links records, such as a deal belonging to a company. Keeping these ideas distinct makes configuration decisions easier to explain.

HubSpot’s documentation uses the related terms objects, records, properties and associations [1]. Other CRMs use different names and support different relationship rules. This guide explains the underlying design decisions. It does not assume your chosen product supports arbitrary custom objects, multiple links or every field type described here.

Give each kind of record one clear job

Start with the things people already talk about when they describe their work. A person is someone you communicate with. A company is an organisation. A deal represents a possible transaction or engagement. A task describes an action that someone needs to perform. Delivery may need a project, campaign or another supported record type after the opportunity is won.

Try writing one sentence that explains what belongs in each object. A deal might be “one potential engagement with its own value, stage and outcome”. That definition tells you why three possible engagements with one company should normally have three deal records. It also prevents a long-running client relationship from being represented as one deal that never closes.

Decide where ownership belongs. The company owner may manage the overall relationship while a deal owner is responsible for one opportunity. A task assignee performs a particular action. Those responsibilities can belong to the same person, but they are different concepts. A useful model lets the team understand which question each ownership field answers.

Avoid using one “status” field to describe everything. A company’s relationship status, a deal’s pipeline stage and a task’s completion state are not interchangeable. If a deal is lost, the company may still be an active client on another engagement. Putting the state on the right record preserves that distinction.

RELATIONSHIPS WITH EXPLICIT MEANING
CompanyShared organisation context
1 → many
DealsSeparate value, stage and outcome
PersonAn individual contact
linked by role
Deal contactDecision maker, adviser or participant
A conceptual model. A contact’s role may belong to the connection; support for association labels or intermediate records varies by CRM.

Choose field types that preserve meaning

Use the field type that matches the decision the information supports. A date allows date filtering; a number supports arithmetic; a controlled choice keeps categories consistent. Free text is valuable for narrative context, but using it for every value makes reporting and validation harder to reason about.

Define the meaning as well as the format. “Value” could mean a proposed fee, expected annual revenue or total contract value. Those numbers should not be combined until the team agrees the basis. Similarly, “Close date” might mean a forecast decision date or an actual signed date. Keeping those separate helps users interpret reports correctly.

Distinguish zero, false and unknown. A recorded budget of zero means something different from an empty budget field. An unchecked boolean can mean false in one system and an unanswered question in another. Make the intended behaviour explicit in the data dictionary and test how the chosen product stores, displays and exports it.

Be selective about required fields. Requiring an unknown budget when an enquiry first arrives can encourage invented values. Decide when information should become required in the workflow, if the product supports stage-based rules. Otherwise, use a visible review process. A required field is useful only when users can provide a meaningful value at that point.

AN EXAMPLE DATA DICTIONARY
FieldTypeMeaning
Expected decision dateDateThe current forecast of the buyer’s decision
Signed dateDateWhen the agreement was actually signed
Proposed feeNumber + currencyThe current proposed engagement amount
Deal ownerRecord referenceThe teammate responsible for this opportunity
Budget confirmedChoiceYes, no or not yet known
Field names alone are not enough. Define the meaning, format and treatment of missing values. This example is not an import specification.

Use identifiers to keep the model connected

A display name helps a person recognise a record. An identifier helps a system refer to the same record consistently. Two companies can share a similar name, and a company can change its name. Use the CRM’s stable record IDs when connecting records through an integration, rather than relying on a label remaining unique.

Preserve external identifiers during a migration. A source record ID provides a way to trace the original row, match an update and investigate a discrepancy. Keep a source-to-destination mapping where the platforms use different IDs. The mapping should identify the source system as well as the record, because two systems may use the same numeric ID for unrelated entries.

Email addresses and domains can be useful matching signals, but their behaviour needs a policy. People may share a mailbox or change addresses. Several organisational records may use the same domain. Decide which fields identify records, which merely suggest a match and who reviews ambiguity. Identity rules should be stable enough to survive a routine update.

In Meibo’s API, linked fields reference records in the same workspace and pipeline stages have stable IDs [2]. That is a product-specific contract. Check the developer documentation when designing an integration, and verify every linked object your workflow depends on.

Decide between a field, a view and an object

Use a field when you need another fact about an existing record. Use a view when the same records need to be filtered or arranged for a different task. Consider another object only when you are modelling a distinct thing with its own identity, lifecycle or relationships, and the product supports the required extension.

For example, “Client industry” is normally a field on a company. “Clients with renewals due” is a view over relevant records. A subscription may deserve its own record if a company can have several subscriptions with different dates, values and states. The distinction comes from the business meaning, not from wanting another tab in the sidebar.

Before creating a new object, check the reporting, permissions, import and integration implications. A product may let you define the object but restrict how it participates in other features. Write down the full workflow you expect the new type to support and verify it end to end.

Keep a short change record when the model evolves. Adding an optional field is different from changing what an existing field means. For a semantic change, decide how existing values will be interpreted, whether they need migration and which reports or automations use them. Tell the team what has changed before they encounter inconsistent results.

A worked model for a client-services business

Consider a fictional consultancy with a company called North Studio, two contacts and two opportunities. The first opportunity is a website project; the second is an ongoing advisory engagement. Each deal has its own amount, owner, stage and expected decision date. The company record holds shared relationship context rather than copying it into both opportunities.

Tasks link the next actions to the relevant work: send the website scope, confirm the advisory decision meeting and update the company’s billing contact. A completed scope task does not automatically mean the website deal is won. The model keeps activity, buying state and relationship context separate so a manager can ask precise questions.

Now test a change: the primary contact leaves North Studio. Decide how the new primary contact is chosen and how historical notes remain interpretable. Then test a second change: the advisory opportunity closes while the website project remains open. Reports should reflect each outcome without marking the entire company as won or lost.

These examples are useful because they force the model to express real distinctions. A diagram can look complete while still hiding an ambiguous owner or an overloaded status field. Ask a teammate to explain the records in their own words. If the explanation differs from the intended meaning, improve the definition before importing more data.

Validate the model against business questions

Write a small set of questions the system must answer. Which companies have open opportunities? Which opportunities lack a dated next action? Who owns the overall relationship? Which data can an external reviewer see? Create representative records and demonstrate the answers through the actual interface and reports.

Include incomplete and exceptional records. A company may arrive before you know its website. A contact may exist before they are attached to an opportunity. A deal may have no reliable amount yet. The model should represent uncertainty clearly instead of forcing people to invent values to continue.

Finally, use the data dictionary template to record the agreed names, types, meanings and validation rules. Assign an owner to each definition and review the dictionary when the workflow changes. This small resource helps new teammates enter consistent information and gives future integrations a clear contract.

FREE RESOURCE / NO SIGNUP REQUIRED

CRM data dictionary template.

Define objects, fields, types, meanings and ownership. Includes illustrative rows and space to record your own decisions.

Download CSVOpens in spreadsheet software. Planning worksheet, not a direct CRM import file. All example rows are illustrative.

Common questions.

What is the difference between an object and a field?+

An object defines a type of record, such as a company. A field describes a fact about one record, such as its website. A relationship connects that record to another record.

Does every CRM support custom objects?+

No. Availability and limits vary by product and plan. Verify that any custom type works with the permissions, reporting, import and integration features you require.

Should contacts and companies be stored separately?+

They usually answer different questions: who the person is and which organisation is involved. Separate linked records help when an organisation has several contacts or opportunities. Confirm the relationship rules your business needs.

Sources & methodology.

Meibo’s recommended framework, with primary documentation for the specific product facts cited above. This is AI-assisted editorial content. Examples, diagrams and calculations are illustrative; they are not customer results or independent research findings.

  1. HubSpot Knowledge Base — How to use objects for business processes

    A primary reference for the distinction between objects, records, properties and associations. HubSpot-specific behaviour is not assumed to apply to other products.

  2. Meibo — Records and pipeline API documentation

    The published contract for linked records, custom fields and pipeline identifiers in Meibo.

Sources checked 6 October 2026. Read the editorial policy or suggest a correction.

William Mattey

Founder of Wall & Fifth, builder of Meibo and editorial contact for the learning library.

About the editorial lead
THE COMPLETE IMPLEMENTATION PLAYBOOKBring the decisions together in a practical rollout plan.