Key Takeaways
- Custom objects let you track business processes beyond contacts, companies, and deals
- Use custom objects for: contracts, orders, shipments, properties, events, or any complex relationship
- Custom objects require Professional plan or higher
- Set up relationships between custom objects and standard objects carefully
- Too many custom objects create complexity; use only what you truly need
HubSpot Custom Object Setup Guide: How to Structure Complex Data
Not every business process fits neatly into contacts, companies, and deals. If you manage contracts, track shipments, manage properties, or have complex multi-relationship workflows, custom objects are for you. This guide walks you through everything you need to know about setting up and using custom objects in HubSpot.
What Are Custom Objects?
Custom objects are data structures you create to track things HubSpot's standard objects don't handle well.
Standard HubSpot objects:
- Contacts (people)
- Companies (organizations)
- Deals (sales opportunities)
When you need custom objects:
You might need custom objects if you track:
- Contracts — Document management, renewal dates, terms
- Orders — If you sell products and need to track individual orders beyond deals
- Shipments — If you fulfill physical products
- Properties — If you manage real estate or equipment
- Events — If you host events and need to track registrations
- Projects — If you manage client projects
- Cases — For complex service management beyond HubSpot's Service Hub
- Subscriptions — If you have recurring subscriptions with renewal cycles
- Assets — If you track equipment, resources, or inventory
When NOT to Use Custom Objects
Don't create a custom object if:
- A standard object with custom properties would work
- You're over-complicating your data structure
- You only have 5-10 records of this type (not worth the complexity)
- You're trying to recreate something from your old CRM exactly (often you can simplify)
Examples of when to use properties instead:
- You have "Contract End Date" → Use a custom property on a deal, not a custom object
- You have "Product Purchased" → Use a custom property on a deal or company, not a custom object
- You need to track "customer satisfaction score" → Use a contact property, not a custom object
Rule of thumb: If a relationship can be expressed as a property on an existing object, use a property. Only create custom objects for complex, multi-relationship data.
Who Needs Custom Objects?
You need to be on HubSpot Professional plan or higher to use custom objects.
Plans with custom objects:
- Professional (Sales, Marketing, Service)
- Enterprise (Sales, Marketing, Service)
Plans without custom objects:
- Starter
- Free
If you're on a lower plan and need custom objects, you'll need to upgrade.
Types of Custom Objects
1-to-Many Relationships
One object can have many related records. Example:
- One company → Many contracts
- One deal → Many shipments
- One contact → Many events they've attended
Many-to-Many Relationships
Many objects can be related to many other objects. Example:
- Many contacts → Many projects (contacts work on multiple projects, projects have multiple contacts)
- Many deals → Many documents (deals have multiple contracts, contracts apply to multiple deals)
HubSpot handles both, but you need to decide which is right for your use case.
Step 1: Plan Your Custom Objects
Before you create anything, plan what you need.
Document for each custom object:
- Name — What is this thing? (Contract, Order, Shipment, Event Registration)
- Description — What does it track?
- Relationships — How does it connect to other objects?
- One contract belongs to one deal? (contract is 1-to-1 with deal)
- One company has many contracts? (company is 1-to-many with contracts)
- Many contacts attend many events? (contact is many-to-many with events)
- Key properties — What information do you track about this object?
- How many records — Estimate how many of these you'll have
Example:
Name: Contract
Description: Tracks customer contracts linked to deals
Relationships:
- One contract associated with one deal
- One company can have many contracts
Key properties: Contract Value, Contract Start Date, Contract End Date, Renewal Date, Terms
Estimated records: 500-1,000 annually
Step 2: Create the Custom Object
Once you've planned, create the custom object in HubSpot.
To create a custom object:
- Go to Settings → Objects & Custom Code → Objects
- Click Create object
- Enter the object name (e.g., "Contract")
- Choose your naming convention:
- Singular: "Contract"
- Plural: "Contracts"
- Enter a description (for your team, so they understand what this is)
- Set who can access it (usually all users, but you can restrict)
- Click Create
Naming best practices:
- Use singular names (Contract, not Contracts)
- Use clear, simple names (Product Order, not Order Item)
- Avoid acronyms unless universally understood
- Don't include "HubSpot" or the word "object" in the name
Step 3: Create Custom Properties for the Object
Every custom object needs properties (fields) that store data.
To add a property to a custom object:
- Go to Settings → Objects & Custom Code → Objects
- Find your custom object
- Click Properties
- Click Create property
- Enter the property name
- Choose the property type:
- Single-line text — Short text (name, status, etc.)
- Long text — Longer content (description, terms, etc.)
- Number — Numbers (contract value, quantity, etc.)
- Date — Dates (start date, end date, renewal date, etc.)
- Dropdown — Choose from options (status: draft, signed, active, expired)
- Multiple checkboxes — Multiple options selected
- Email — Email addresses
- Phone — Phone numbers
- Checkbox — True/false (is renewed, is active, etc.)
- URL — Web links
- Set whether it's required or optional
- Set default value if applicable
- Click Create
Example properties for a Contract object:
- Contract Value (Number)
- Contract Status (Dropdown: Draft, Signed, Active, Expired, Renewed)
- Start Date (Date)
- End Date (Date)
- Renewal Date (Date)
- Terms (Long text)
- Document URL (URL)
- Is Auto-Renew (Checkbox)
- Annual Value (Number)
- Last Updated (Date, auto-populated)
Step 4: Set Up Relationships
Now connect your custom object to other objects.
Types of relationships you can create:
- Custom object to Deal — Example: A contract relates to a deal
- Custom object to Company — Example: A contract relates to a company
- Custom object to Contact — Example: A contract relates to a contact (if contracts have a specific person)
- Custom object to Custom object — Example: A contract relates to a compliance document
To set up a relationship:
- Go to Settings → Objects & Custom Code → Objects
- Find your custom object
- Click Relationships
- Click Create relationship
- Choose which object to relate to (Deal, Company, Contact, etc.)
- Choose the relationship type:
- One-to-one — One contract per deal
- One-to-many — One company can have many contracts
- Many-to-many — Many contacts can attend many events
- Click Create
Best practices for relationships:
- Don't create too many relationships (keep it simple)
- Start with the primary relationship (e.g., contract relates to deal)
- Add secondary relationships only if needed (e.g., contract relates to company)
- Avoid circular relationships (object A relates to B, B relates to C, C relates back to A)
Step 5: Add Custom Objects to HubSpot Views
Now your custom object exists, but you need to access it.
To add the custom object to your sidebar:
- Go to CRM (main menu)
- Look for your custom object in the menu
- If it's not visible, click the ... menu at the bottom
- Check the box next to your custom object to show it in the sidebar
- Click Save
Now you can access your custom object directly from the sidebar.
Step 6: Create Records of Your Custom Object Type
Once the object is set up, start creating records.
To create a custom object record:
- Go to CRM → [Your Custom Object Name]
- Click Create [object name]
- Fill in the properties:
- Name/title (usually required)
- Custom properties you created
- Set relationships (which deal, company, or contact is this related to?)
- Click Create
You now have a custom object record.
Bulk import:
If you have existing data:
- Export from your old system
- Format as CSV matching your properties
- Go to the custom object view
- Click Import
- Map fields and import
- Create relationships afterward if they didn't import
Step 7: Use Custom Objects in Workflows and Automations
Custom objects can trigger workflows and automations.
Example workflows:
- Automatic task creation — When a contract is created, create a task to send it to the customer
- Status updates — When contract end date is approaching (30 days), send reminder
- Update related records — When contract status becomes "Active", update deal status
- Notifications — When a high-value contract is created, notify the VP of Sales
To create a workflow using a custom object:
- Go to Automation → Workflows
- Click Create workflow
- Choose Custom object as the enrollment trigger
- Set the trigger (Custom object created, property changed, etc.)
- Add actions (send email, create task, update property, etc.)
- Click Publish
Step 8: Build Reports and Dashboards
Custom objects can be included in reports.
You can report on:
- Number of contracts by status
- Total contract value by company
- Contracts expiring soon
- Contract renewal rate
- Average contract value
- Custom object creation trends
To create a report:
- Go to Reports
- Click Create report
- Choose Custom object as data source
- Choose your custom object type
- Select metrics and dimensions
- Choose visualization (table, chart, etc.)
- Save the report
Common Custom Object Use Cases
1. Contract Management
Object: Contract
Properties: Value, Start Date, End Date, Status, Terms, Document Link, Renewal Date
Relationships: One contract per deal, one company can have many contracts
Use: Track contract lifecycle, renewal dates, values
2. Order Management
Object: Order
Properties: Order Number, Amount, Order Date, Ship Date, Status, Items, Shipping Address
Relationships: One order per deal, one contact can have many orders
Use: Track individual orders beyond deals, manage fulfillment
3. Event Registration
Object: Event Registration
Properties: Event Name, Registration Date, Attendance Status, Ticket Type, Amount Paid
Relationships: Many contacts can register for many events
Use: Track event registrations, attendance, revenue
4. Property Management
Object: Property
Properties: Address, Square Footage, Lease Term, Lease Value, Status, Manager
Relationships: One company can manage many properties, one property can have multiple contacts (agent, manager, tenant)
Use: Track real estate portfolio
5. Project Management
Object: Project
Properties: Project Name, Start Date, End Date, Budget, Status, Client Contact, Manager
Relationships: One deal can relate to multiple projects, one contact can manage multiple projects
Use: Track client projects, timelines, budgets
Mistakes to Avoid with Custom Objects
Mistake 1: Creating too many custom objects
You don't need a custom object for everything. Start with one or two and add more only if needed.
Mistake 2: Over-complicating relationships
Each relationship adds complexity. Keep relationships simple and clear.
Mistake 3: Not cleaning up test records
During setup, you'll create test records. Delete them before going live.
Mistake 4: Forgetting to train your team
Your team needs to understand how to use custom objects. Include them in training.
Mistake 5: Not updating records
Custom objects only work if your team actually maintains them. Set up processes to keep data current.
FAQ
If you're tracking a complex, multi-relationship data structure, custom objects are helpful. If you can express it as a property on a standard object, use properties instead.
Start with 1-2. Most companies use 1-4 custom objects. If you're thinking about 10+, you're probably over-complicating things.
Yes, but be careful. Existing records' relationships might be affected. Plan relationships carefully before going live.
You can report on custom objects just like standard objects. They work in charts, tables, dashboards. Very powerful for analytics.
Yes, if you set up a many-to-many relationship. Example: One contact can register for multiple events.
Custom properties are fields on objects. Custom objects are new data structures. You use both together.
It depends on the integration. Some tools support custom objects, others don't. Check with your integration provider.
Ready to Set Up Custom Objects?
Custom objects are powerful when you use them right. They let you track complex business processes that standard CRM objects can't handle.
If you're not sure whether you need custom objects or how to set them up, we can help. We've set up dozens of custom object implementations and know how to do it right.
Let's talk about your custom object needs. Schedule a free 20-minute consultation where we assess your business processes and help you decide if custom objects are right for you. If they are, we'll design them properly and help you set them up.