Blogs | Markivis

HubSpot Custom Object Setup Guide | Markivis

Written by Markivis | May 5, 2026 5:30:00 AM

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:

  1. Name — What is this thing? (Contract, Order, Shipment, Event Registration)
  2. Description — What does it track?
  3. 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)

  4. Key properties — What information do you track about this object?
  5. 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:

  1. Go to SettingsObjects & Custom CodeObjects
  2. Click Create object
  3. Enter the object name (e.g., "Contract")
  4. Choose your naming convention:

    - Singular: "Contract"

    - Plural: "Contracts"

  5. Enter a description (for your team, so they understand what this is)
  6. Set who can access it (usually all users, but you can restrict)
  7. 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:

  1. Go to SettingsObjects & Custom CodeObjects
  2. Find your custom object
  3. Click Properties
  4. Click Create property
  5. Enter the property name
  6. 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

  1. Set whether it's required or optional
  2. Set default value if applicable
  3. 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:

  1. Custom object to Deal — Example: A contract relates to a deal
  2. Custom object to Company — Example: A contract relates to a company
  3. Custom object to Contact — Example: A contract relates to a contact (if contracts have a specific person)
  4. Custom object to Custom object — Example: A contract relates to a compliance document

To set up a relationship:

  1. Go to SettingsObjects & Custom CodeObjects
  2. Find your custom object
  3. Click Relationships
  4. Click Create relationship
  5. Choose which object to relate to (Deal, Company, Contact, etc.)
  6. 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

  1. 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:

  1. Go to CRM (main menu)
  2. Look for your custom object in the menu
  3. If it's not visible, click the ... menu at the bottom
  4. Check the box next to your custom object to show it in the sidebar
  5. 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:

  1. Go to CRM → [Your Custom Object Name]
  2. Click Create [object name]
  3. Fill in the properties:

- Name/title (usually required)

- Custom properties you created

  1. Set relationships (which deal, company, or contact is this related to?)
  2. Click Create

You now have a custom object record.

Bulk import:

If you have existing data:

  1. Export from your old system
  2. Format as CSV matching your properties
  3. Go to the custom object view
  4. Click Import
  5. Map fields and import
  6. 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:

  1. Automatic task creation — When a contract is created, create a task to send it to the customer
  2. Status updates — When contract end date is approaching (30 days), send reminder
  3. Update related records — When contract status becomes "Active", update deal status
  4. Notifications — When a high-value contract is created, notify the VP of Sales

To create a workflow using a custom object:

  1. Go to AutomationWorkflows
  2. Click Create workflow
  3. Choose Custom object as the enrollment trigger
  4. Set the trigger (Custom object created, property changed, etc.)
  5. Add actions (send email, create task, update property, etc.)
  6. 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:

  1. Go to Reports
  2. Click Create report
  3. Choose Custom object as data source
  4. Choose your custom object type
  5. Select metrics and dimensions
  6. Choose visualization (table, chart, etc.)
  7. 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.