packages/twenty-docs/user-guide/data-model/overview.mdx
A data model is the structure that defines how information is organized in your CRM. Think of it as the blueprint of your customer data — you design it once, then fill it with your actual data.
Objects are the main categories of data in your CRM. Each object represents a type of thing you want to track.
Twenty comes with standard objects:
You can also create custom objects for anything specific to your business (e.g., Projects, Subscriptions, Events).
Fields are the properties or attributes that describe each object. They store the actual information.
For example, the People object has fields like:
Fields have different types: text, number, date, select, multi-select, relation, and more. You can add custom fields to any object.
Records are the individual entries within an object — the actual data you create and manage.
For example:
An analogy:
| Data Model Concept | Real-World Analogy |
|---|---|
| Objects | Sections in a book (the categories) |
| Fields | Columns in a spreadsheet (the properties) |
| Records | Rows in a spreadsheet (the actual entries) |
You design the data model (objects + fields) once, then create many records within that structure.
Every business works differently. Customizing your data model means you can shape Twenty around your processes instead of forcing yours into a rigid system.
Twenty offers full flexibility:
Identify the main concepts you work with. Twenty already provides:
Think about what else you might need:
Subscriptions objectTrips objectBatches objectIf something is just a characteristic of an existing object, make it a field.
Use fields for:
Industry for Companies)Stage for Opportunities)If the concept has its own lifecycle, properties, or relationships, it deserves an object.
Create an object for:
These go beyond a single field because they carry their own data and relationships.
If something can be linked multiple times and you don't know how many, use an object.
Bad approach:
Creating fields like Product 1, Product 2, Product 3...
Good approach:
Create a Products object and relate it to records. This supports one, two, or a hundred products without changing your model.
Start with fields. Move to new objects only when you feel the limits:
These are the only objects where you can access synchronized emails and meetings from your mailbox/calendar. We recommend using them as much as possible. </Warning>
Best practices:
Person Type field with values "Prospect" and "Partner" instead of creating separate objectsIt's okay to have fields that don't apply to every record. For example, a Referral Link field on People that only applies when Person Type = Partner. Hide this field from views where it's not relevant.
Ask yourself:
<Check>Is this just a property of something I already have, or does it need its own properties?</Check> <Check>Will I ever need to track multiple of these per record, without knowing how many?</Check> <Check>Does this concept connect to several different objects, not just one?</Check> <Check>Will it have its own lifecycle (stages, start/end dates)?</Check>
If the answer is "yes" to one or more, it's probably time for a new object.
Access to the data model is usually restricted to administrators. Contact your workspace admin if you need access. </Note>
Once you've planned your data model:
Our team can help you design and create the data model you need. Discover our Implementation Services.