HubSpot custom objects: when you need one, and when you don't

What a custom object is, what it costs you later, and the cheaper options that often do the same job.

Updated · 13 minutesBy Matthew Labrooy, Managing Director

Free download: the data model (Google Sheet)

A machine's type plate with serial number, site and next service, beside four questions it answers yes to: a thing of its own, several per customer, a life beyond one deal, used in filters and reports. So it becomes a custom object.
In short

A custom object is a record type you add to HubSpot yourself, such as Machines or Contracts. Each one gets its own properties, its own pipeline and links to contacts, companies, deals and tickets. Creating custom objects needs an Enterprise subscription.

Build one when the thing has a life of its own: a customer has several of them, each with its own data, and you want to filter, report or automate on them. For everything else, a property, an association label or one of HubSpot’s own objects is cheaper and keeps the standard reports.

Edition
Enterprise of any hub or of Smart CRM. Not in Professional, not through the API either
Limits
10 objects and 1,000,000 records in total. With Data Hub Enterprise 20 objects and 1,500,000 records
Without Enterprise
Properties, association labels (from Professional), and HubSpot’s own projects, services, appointments, courses and listings objects
What you give up
Ready-made reports such as the forecast, bulk marketing emails, sequences and quote fields without a developer
Hard to undo
Internal names can’t be changed later. A deleted custom object can’t be restored

What is a custom object in HubSpot?

A custom object is a record type you define yourself, next to contacts, companies, deals and tickets. A custom object works like them: a list you can filter, a record page with an activity timeline, properties, a pipeline if you need one, and links to other records.

Take a machine builder. Each customer runs several machines. Each machine has a serial number, a model, a site, an installation date and a next service date. Service cases belong to one machine, not just to the customer. For the machine builder, that’s a custom object called Machines.

HubSpot, a record of the custom object Machines: serial number EX-400-24017, a service note in the timeline, and the associated contacts labelled Operator and Service contact and the company labelled Owner
A machine record. Its links carry labels, so everyone sees who operates the machine, who to call for service, and which company owns it.

Check HubSpot’s own objects before you build one. Besides contacts, companies, deals and tickets there are leads, products and line items, quotes, orders, subscriptions, contracts, projects, services, appointments, courses and listings. Appointments, courses, leads, listings and services are switched on in the data model, and a super admin switches on projects.

Do you need a custom object? Four questions

Answer these in order. Each “no” points to something simpler.

  1. Step 01

    Is it a thing of its own, not a detail of a contact, company or deal?

    A machine, a contract or a vehicle is a thing. The contract end date of a customer with exactly one contract is a detail: a company property does the job.
  2. Step 02

    Can one customer have several of them, each with its own data?

    One customer with five machines, each with its own serial number and service date, needs records. Five properties called “Machine 1” to “Machine 5” break the moment a customer buys a sixth.
  3. Step 03

    Does it have its own life, beyond one deal?

    A machine stays at the customer for fifteen years and passes through warranty, service contract and decommissioning. A deal ends when it’s won or lost. If the thing lives longer than the sale, it needs its own record.
  4. Step 04

    Will you filter, report or automate on it?

    If people only need to read the information, a property or a note on the company is enough. A custom object pays off when you build lists, reports and workflows on it, for example a task 60 days before the next service.

Four times yes and an Enterprise subscription: build the custom object. One “no”: look at the options below first. Without Enterprise, the question doesn’t arise, but most of the options do.

What to use instead of a custom object

Most requests for a custom object are solved by one of these. Each keeps HubSpot’s standard tools and costs no edition upgrade.

HubSpot, Create a new object: HubSpot-defined objects Appointments, Courses, Leads, Listings and Services listed above the option to create a custom object
When you create an object, HubSpot offers its own objects first. Check whether one of them fits before you build a custom object.

Eleven alternatives to a custom object

What you needUseWhy it’s enough
Your own word for a standard object, such as accounts or opportunitiesRename the object in the data modelEvery plan can do it. The object keeps all its tools, only the name changes
One value per contact, company or deal, such as machine type or contract endA property, grouped and shown on the recordLists, reports and workflows work as they are
Types of the same thing, such as customer, partner and supplierA dropdown property on the company or contactA person can be several types. Separate objects would split them into duplicates
Roles between existing records, such as decision maker, installer or head officeAssociation labels (Professional and Enterprise, up to 50 per pair of objects)Filter lists and reports by role without a new record type
What was sold, with quantity and priceProducts and line itemsQuotes, deal amounts and revenue reports read them directly
A second sales process, such as renewals or service contractsA second deal pipeline (see our deal pipeline guide)The forecast and every deal report keep working
Onboarding, implementations, rolloutsThe projects object, switched on in the data modelAvailable in every plan, with pipelines, tasks and a Gantt view
Services, appointments, courses or listingsHubSpot’s objects of the same name, switched on in the data modelNo Enterprise needed. You can rename them to fit, for example services to service agreements
Committed revenue and renewalsThe contracts object (partly in beta)Built for contract value, renewals and changes during the term
Data that an app brings, such as orders from the shop or subscriptions from the billing toolThe app’s own objects, if it offers themApp objects work in workflows, segments and reports, and the vendor maintains them
Requests, notes, call resultsActivities: notes, tasks, callsThey land on every linked record and in the activity reports
As of October 2026.

A quick test: if the object you’re planning would hold people, it should almost always be contacts with a property. If it would hold firms, it should be companies. If it would hold notes, it should be activities.

Common cases: custom object or not

These are the requests we see most often, with the choice we’d make.

CaseOur choiceWhy
Machines and installed baseCustom objectMany per customer, a long life, service cases per machine and a natural unique key: the serial number
Contracts and service agreementsContracts object if quotes and billing run in HubSpot. Custom object if contracts come from the ERP with their own fields. One contract per customer: company propertiesContracts are the most common reason for a custom object, and the one that most often has a cheaper answer
Plants, branches and sitesChild companies if a site buys or has its own contacts. A property if it’s only an addressSites that act like customers need deals and contacts of their own
Projects and implementationsProjects objectEvery plan has it, with pipelines and tasks
Subscriptions from a billing toolThe integration’s app object, otherwise a custom object fed by a syncHubSpot’s own subscriptions object only fills itself when you bill through HubSpot
Vehicles, flats and plotsListings object or a custom objectEach unit has its own data and several interested parties
Trainings and eventsCourses object or marketing eventsBoth exist already and link to contacts
Win and loss reasons, deal debriefsProperties on the deal, on a tab of their ownThey belong to exactly one deal and report with it
Partners, suppliers, resellersCompanies with a type property and association labelsThey’re firms with contacts, like every other company

What a custom object costs later

A custom object is built in an afternoon. The cost shows up later, in what no longer works out of the box.

AreaWhat changesWhat to do
Edition and seatsYou need Enterprise for one hub. On classic pricing, Core seats are priced at your highest edition, so every Core seat moves to the Enterprise price. On the new pricing, the whole account runs on one edition, so every GTM seat does too.Count the seats as well as the hub before you decide (see our seats and credits guide)
ReportsCustom reports work. HubSpot’s ready-made reports, the forecast and deal attribution are tied to deals and don’t cover your object.Plan the reports with the object and rebuild the ones you need
EmailsBulk marketing emails only go to contacts. Sequences only enrol contacts. Custom object data in an automated email needs Marketing Hub Enterprise and a workflow.Send to the associated contacts. Bring the values you need onto the contact with a sync property
QuotesQuote templates (see our quotes guide) read contact, company and deal properties without code. Custom object data needs a developer template.Show the values on the deal with a sync property (Professional and Enterprise) or copy them with a workflow
Seats and rightsUsers with a View-only seat can see records but not edit them. Editing needs a paid seat: a Core seat on classic pricing, a GTM seat on the new pricing.List who has to edit records. Everyone else can stay on a View-only seat
IntegrationsMany connectors and marketplace apps sync contacts, companies and deals only. The Salesforce custom object sync runs one way, into HubSpot. HubSpot’s MCP server and Claude connector have read and written custom objects since September 2026.Ask every vendor whether it reads and writes custom objects, before you build
Changes laterInternal names of the object and its properties can’t change. A custom object can’t be deleted while workflows or reports use it, and once deleted it can’t be restored.Settle the names in a sandbox first
As of October 2026.

How to create a custom object in HubSpot

If the four questions all came back yes, create the custom object in this order. Fixing the order afterwards costs more than the object.

  1. Step 01

    Draw the model first

    On one page: the object, its ten to fifteen properties, which objects it links to, how many of each (one company per machine, several contacts), and who works with it. Write down which system owns the data. If the ERP owns it, HubSpot only receives it.
    HubSpot data model, Machines: the machine linked to companies (1-to-1, label Owner), contacts (labels Operator and Service contact), deals (Sold in) and tickets (Service case)
    The finished model in HubSpot’s data model. Draw the same picture on paper before you build: object, links, how many of each, and the labels.
  2. Step 02

    Name it and pick the key

    In the menu go to Data Management > Data Model and click Create object, then Custom object. Enter the singular and plural name and a short description. Make the primary display property the business key, such as a serial or agreement number, and require unique values. Check the internal names: they can’t be changed later.
    HubSpot, Create an object from scratch: singular name Service agreement, plural name Service agreements, a description, primary display property Agreement number with Require unique values ticked
    Creating a custom object. The agreement number is the primary display property, and unique values stop the same agreement from being created twice.
  3. Step 03

    Add properties and groups

    Only what someone will fill in or report on. Use dropdowns where the values are fixed, such as the model. Put them in one group so the record stays readable.
    HubSpot data model, properties of the custom object Machines: Installation date, Model, Next service and others in the group Machine Information
    The machine’s properties. HubSpot adds its own (create date, pipeline, record ID); yours sit next to them in one group.
  4. Step 04

    Set associations, limits and labels

    Link the object to companies, contacts, deals and tickets. Set limits where the business has one: a machine belongs to exactly one company. Add labels for the roles, such as Operator and Service contact.
    HubSpot data model, Machines, Associated objects and labels: companies 1-to-1 with the label Owner, contacts 1-to-many with the labels Operator and Service contact, deals 1-to-many with the label Sold in
    The machine’s associations in the data model. Companies are limited to one per machine, and each link carries a label for its role.
  5. Step 05

    Add a pipeline if it has a life

    A machine moves from ordered to installed, warranty, service contract and decommissioned. A pipeline makes that visible on a board and lets workflows react to each stage. Since May 2026, custom object pipelines also record how long each record spends in each stage.
    HubSpot board view of Machines in the pipeline Machine lifecycle: stages Installed, Under warranty with one machine, Under service contract with two machines
    The machines on a board, by stage. The Automate button adds a workflow to a stage.
  6. Step 06

    Arrange the record page

    Put the key properties in the highlights and add association cards for contacts, company, deals and tickets. Then build one saved view of the list, such as “Service due in 60 days”.
    HubSpot record page editor for Machines, default view: data highlights, recent activities and association cards for contacts, companies, deals and tickets
    The record page editor. Decide what sits in the highlights and which association cards show, in which order.
  7. Step 07

    Check the permissions

    A new custom object comes with full rights for users who already have permission sets, including deleting records. Super admins always see the object, and it shows up in everyone’s CRM menu. Review the permission sets right after you create the object.
    HubSpot permission set based on the Standard user template: Machines switched on with View, Edit, Delete and Merge for all machines
    A new permission set from the Standard user template. The Machines object already comes with view, edit, delete and merge for all records.
  8. Step 08

    Import with the key, then the links

    Import the records with the serial number as the unique ID, ten rows first. Then import or sync the associations. Build and test it all in a sandbox before the live portal.
    HubSpot import of Machines, mapping step: Create records and Update records, columns Serial number, Model, Site and Next service mapped to machine properties, serial number marked as the unique ID
    The import’s mapping step. The serial number is the unique ID, so the import updates machines that already exist and creates the rest.

Mistakes that make custom objects expensive

Custom objects, the ERP and GDPR

  • The ERP usually owns the installed base. Machines, equipment and service items often already live in SAP or Business Central. Decide which system owns each field and let the data flow one way. Our guide to connecting HubSpot to your ERP covers the order of work.
  • Personal data sits on custom objects too. An operator’s name or mobile number on a machine record is personal data. Add the object to your record of processing activities and your deletion concept.
  • Deleting a contact doesn’t delete the object records. The contact and its links go, the machine record stays with whatever personal data you typed into it. When someone asks to be deleted, check the custom objects as well.
  • Rights per object. Service technicians may need to see machines but not deals. Set this in the permission sets, object by object.

How we decide on custom objects

We don’t start with the object. We start with what sales, service and finance need to see, and which system already holds it. The same pass is part of our portal audit checklist.

  1. Step 01

    Look at the process and the portal

    Which records exist, which properties are used, where people keep spreadsheets next to HubSpot. That’s usually where the missing object hides.
  2. Step 02

    Decide case by case

    For each thing: property, label, a HubSpot object or a custom object. With the cost in seats, reports and integrations written next to it.
  3. Step 03

    Build in a sandbox

    Object, properties, associations, pipeline, record page and permissions, with test data from your own systems.
  4. Step 04

    Connect and import

    The ERP or billing tool writes the records, with the business key as unique ID. Then the associations.
  5. Step 05

    Reports and handover

    The reports and saved views your teams need, and a short page on who owns the object and what goes in it.

Frequently asked questions

Can you create custom objects in HubSpot?

Yes, with an Enterprise subscription of any hub or of Smart CRM. Professional can’t create custom objects, not through the API either. Without Enterprise, use properties, association labels and HubSpot’s own objects such as projects, services or listings.

How many custom objects can I create in HubSpot?

An Enterprise subscription allows up to 10 custom objects and 1,000,000 custom object records in total. With Data Hub Enterprise, the limits are 20 objects and 1,500,000 records. As of October 2026.

Can users without a Sales seat work with custom objects?

Yes. A Core seat on classic pricing, or a GTM seat on the new pricing, is enough to create and edit custom object records. A View-only seat can see them but not edit them. A Sales seat only adds sales tools such as sequences.

When should I use a custom object instead of a property?

Use a property when each contact, company or deal has one value, such as a contract end date. Use a custom object when one customer has several of the thing, each with its own data and a life beyond one deal, and you filter, report or automate on it.

Can I send marketing emails to a custom object?

No. Bulk marketing emails go to contacts only. You send to the contacts associated with the records. With Marketing Hub Enterprise, an automated email in a workflow can include values from the custom object.

Can I use custom object data in HubSpot quotes?

Not without a developer. Quote templates read contact, company and deal properties. The usual way is a workflow that copies the values from the custom object onto the deal before the quote is created.

Can I rename or delete a custom object?

You can rename it at any time. Its internal name and the internal names of its properties can’t change. You can delete it once no workflow, list or report uses it, and it can’t be restored afterwards.

What can I use instead of a custom object on Professional?

Properties for single values, association labels for roles between records, a second deal pipeline for a second process, and the projects, services, appointments, courses and listings objects, which you switch on in the data model.

What permissions does a new custom object get?

Full rights in every existing permission set, including deleting records. Super admins always see the object, and it shows up in the CRM menu. Review the permission sets right after you create the object.

Does deleting a contact delete its custom object records?

No. Deleting a contact removes the contact and its associations, but the custom object records stay, with any personal data typed into them. When someone asks to be deleted, check the custom objects as well.

Decide the data model before you build it

We look at your portal and your process, live. You keep the quick wins, whether we work together or not.