What are objects?
Objects are like tables in a database or tabs in a spreadsheet. Each object represents a type of thing you want to track in your CRM.Standard objects
Twenty comes with pre-configured standard objects:- Companies: Organizations you do business with
- People: Individual contacts
- Opportunities: Sales deals and pipeline stages
- Tasks: To-do items and action items
- Notes: Text notes and documentation
- Activities: Logged interactions and timeline events
Standard objects are fully customizable. You can add fields, modify settings, and adjust them to fit your workflow.
Custom objects
Create unlimited custom objects to track anything:- Projects: Track project deliverables and milestones
- Support tickets: Manage customer support cases
- Products: Catalog your product inventory
- Events: Conference booths, webinars, or meetings
- Contracts: Legal agreements and renewal dates
Create new object
Click “New Object” and provide:
- Name (singular): “Project” (lowercase, no spaces)
- Label (singular): “Project” (displayed in UI)
- Label (plural): “Projects”
- Icon: Choose from icon library
- Description: Optional help text
What are fields?
Fields are the properties or attributes of an object. They define what data you can store for each record.Field types
Twenty supports a rich set of field types:Basic types
- Text & Numbers
- Dates & Time
- Selection
- Unique Identifiers
- TEXT: Single-line text input
- RICH_TEXT_V2: Multi-line formatted text with markdown
- NUMBER: Integers or decimals with configurable precision
- CURRENCY: Monetary values with currency code (USD, EUR, etc.)
- BOOLEAN: True/false checkbox
Composite types
Composite fields contain multiple sub-fields:Example: Composite Fields
Special types
- RELATION: Link to records in another object (one-to-many or many-to-many)
- FILES: Attach files and documents to records
- ACTOR: Track who created or modified a record
- RAW_JSON: Store unstructured JSON data
- POSITION: Internal field for drag-and-drop ordering
Creating fields
Add new field
Click “Add Field” and configure:
- Name: Internal field name (camelCase, e.g.,
projectStatus) - Label: Display name shown in UI (e.g., “Project Status”)
- Type: Choose from available field types
- Description: Optional help text for users
- Icon: Visual indicator in the UI
Field settings by type
Relations between objects
Relations connect records across different objects, creating a relational data model.Relation types
One-to-many relations
A record in one object can relate to multiple records in another:- One Company has many People
- One Opportunity has many Tasks
- One Person has many Notes
Many-to-many relations
Records in both objects can relate to multiple records:- People can work at multiple Companies (with roles)
- Projects can involve multiple People
- Products can be in multiple Opportunities
Creating relations
Best practices
Naming conventions
- Object names: Singular, lowercase, no spaces (e.g.,
project,supportTicket) - Field names: camelCase (e.g.,
startDate,projectStatus,annualRevenue) - Labels: Human-readable with proper capitalization (e.g., “Project Status”, “Annual Revenue”)
Data modeling tips
- Keep it simple: Start with basic fields and add complexity as needed
- Use standard objects: Leverage Companies and People before creating custom contacts
- Think about relations: Plan how objects connect before creating them
- Use appropriate field types: SELECT fields for status, RATING for priorities
- Add descriptions: Help text ensures everyone uses fields correctly
Performance considerations
- Limit fields per object: Keep under 50 fields for optimal performance
- Index frequently filtered fields: Improves query speed
- Avoid deep nesting: Relations beyond 3 levels become hard to query
- Use RAW_JSON sparingly: Unstructured data can’t be filtered or sorted
Field examples by use case
- Sales Pipeline
- Project Management
- Customer Support
Opportunity Object
System fields
Twenty automatically adds system fields to every object:id: Unique UUID identifiercreatedAt: Timestamp when record was createdupdatedAt: Timestamp of last modificationcreatedBy: User who created the record (ACTOR type)position: For drag-and-drop ordering in views
Next steps
Views and filters
Learn how to query and visualize your object data
Workflows
Automate processes based on object record changes
Permissions
Control who can access and modify objects
API Reference
Query objects programmatically via GraphQL or REST
