AI & Automation Services
Automate workflows, integrate systems, and unlock AI-driven efficiency.
GoHighLevel Custom Objects let you store records beyond contacts, such as properties, job vacancies or courses, each with their own custom fields and associations. They are available on the $297/mo Unlimited and $497/mo Pro plans, support up to a defined field and record limit per object, and connect to contacts via associations to drive workflows.
For years GoHighLevel's biggest CRM limitation was that everything had to be a contact. If you ran a lettings agency, every property was awkwardly forced into a contact record or a custom field hack. Custom Objects fixed this. They turn GoHighLevel from a contact-only CRM into a flexible database that can model whatever your business actually sells. This guide explains what Custom Objects are, how to set them up step by step, the real use cases where they shine, how associations work, and the limits you need to know before relying on them.
A standard CRM has built-in object types: contacts, opportunities, and (in GoHighLevel) companies. A Custom Object is a new record type you define yourself. Instead of being stuck with contacts, you can create an object called Property, Vehicle, Course, Application, or anything your business deals in, each with its own set of custom fields.
Think of it as creating a new table in a database. A Property object might have fields for address, price, bedrooms, status, EPC rating and listing date. Each individual property is then a record inside that object, separate from the contacts (buyers, sellers, tenants) it relates to. This separation is what makes the CRM model your real business rather than forcing your business into a contact list.
The setup lives under Settings in your sub-account. Here is the process.
Once the object exists, it appears in your sub-account navigation and can be referenced in workflows, custom fields and automations.
Custom Objects are not for everyone, but for the right business they are transformative. Here are three concrete examples we have built.
This is the classic use case. A Property object holds each listing with its address, price, status and details. Contacts (buyers, sellers, landlords, tenants) are associated to the relevant properties. Now you can run automations like: when a property status changes to Under Offer, notify the associated buyer; or when a new property matching a buyer's saved criteria is added, text that buyer automatically. Without Custom Objects, this requires ugly workarounds; with them, it is clean and scalable.
A recruitment agency needs three object types: Candidates (can be contacts), Job Vacancies (a Custom Object) and Applications (a Custom Object linking a candidate to a vacancy). A Vacancy object holds the role, client, salary, status and location. An Application object links a candidate to a vacancy with a stage (applied, interviewing, offered, placed). This lets one candidate apply to many vacancies and one vacancy receive many candidates, which a contact-only CRM cannot model. Workflows then drive interview reminders, status updates and placement notifications.
A training provider creates a Course object (course name, dates, capacity, location, price) and an Enrolment object linking students (contacts) to courses. This tracks who is enrolled in what, drives reminder sequences before course start dates, and reports on capacity. Again, the many-to-many relationship (one student, many courses; one course, many students) is only possible with Custom Objects and associations.
If your business sells or manages a thing that is not a person, that thing probably wants to be a Custom Object. We often combine Custom Objects with a conversational layer from our AI chatbot development service so customers can query availability, such as which properties match their criteria, directly.
Associations are the relationships between objects, and they are what make Custom Objects more than isolated spreadsheets. An association defines how records of one type link to records of another.
When you set up an association, you define the labels for each direction (for example, Landlord and Owned Properties) so the relationship reads naturally on each record. On a contact record you then see the associated objects, and on an object record you see the associated contacts. This bidirectional view is what gives your team the full picture: open a property and see every interested buyer; open a buyer and see every property they have enquired about.
This is where the value is realised. GoHighLevel workflows can be triggered by and act on Custom Object records. Common patterns:
This is exactly the kind of bespoke automation we build as part of our GHL automation services, because off-the-shelf snapshots rarely model a client's specific objects out of the box.
Custom Objects are powerful but not unlimited. Plan around these constraints:
Our advice: design the object schema on paper first. Decide what your objects are, what fields each needs, and how they associate, before you touch the builder. A clean schema makes every workflow afterwards simple; a messy one makes everything fragile.
A common confusion is when to use a Custom Object, when a custom field on the contact is enough, and when the built-in Opportunities object already does the job. Getting this decision right saves a lot of rework.
The quick test: if you find yourself creating contact fields like property_1_address, property_2_address, property_3_address, stop. That repetition is the unmistakable sign you need a Custom Object with a one-to-many association instead.
To make this concrete, here is how we would model a small UK lettings agency from scratch:
That entire system is impossible to build cleanly in a contact-only CRM and straightforward with Custom Objects. It is also the kind of bespoke schema we design and build for clients rather than relying on a generic snapshot, because every business models its objects slightly differently.
Custom Objects are user-defined record types beyond the built-in contacts, opportunities and companies. You can create objects like Property, Vehicle, Course or Vacancy, each with its own custom fields and associations to contacts. They turn GoHighLevel from a contact-only CRM into a flexible database that models what your business actually sells or manages.
Custom Objects require the Unlimited plan ($297/mo, ~£235) or the Pro/SaaS plan ($497/mo, ~£395). They are not available on the Starter plan at $97/mo. If Custom Objects are central to your CRM model, the Unlimited plan is the minimum tier you need.
The strongest use cases involve managing things that are not people: property and lettings (a Property object linked to buyers and sellers), recruitment (Vacancy and Application objects), education (Course and Enrolment objects), and automotive dealerships (a Vehicle object). Any business selling or managing a non-person entity benefits from Custom Objects.
Associations define relationships between records, such as one landlord owning many properties (one-to-many) or many candidates applying to many vacancies (many-to-many, via a linking object). You set labels for each direction so the relationship reads naturally, and both records show the linked records, giving your team a full bidirectional view.
Yes. Workflows can be triggered when an object record is created or updated, reference object fields in messages (such as a property address), update object records automatically, and trigger contact automations based on associated object changes. This is where Custom Objects deliver their real value: driving bespoke, data-aware automations.
Custom Objects have caps on fields and total records, so they are not suited to datasets of hundreds of thousands of records. Object-level reporting is less mature than contact reporting, association depth is limited compared with a true relational database, and setup requires careful schema planning. Map your data model on paper before building.
We protect the real names of all clients featured in examples and case studies. Every testimonial is from a real client.
Work with us
Book a free 30-minute discovery call with DD and get a personalised automation roadmap.
Deen Dayal Yadav
Online
We use essential cookies to keep the site running. With your permission, we also use analytics cookies to understand how visitors use our site so we can improve it. No data is sold. Privacy Policy