Create GoHighLevel Custom Objects

How to Create Custom Objects in GoHighLevel Using Snapshots

This step-by-step guide explains how to build and deploy custom objects in GoHighLevel using snapshots. If you are familiar with other workspace tools like ClickUp, you can think of custom objects as specialized data structures you design once and reuse across accounts.

By the end of this tutorial, you will know how to create a custom object in a sub-account, package it into a snapshot, and install it into other GoHighLevel accounts while preserving relationships and layouts.

What Are Custom Objects in GoHighLevel?

Custom objects in GoHighLevel let you store structured data that does not fit into standard records such as contacts, opportunities, or companies. They are especially useful when you need to model unique business entities, like memberships, subscriptions, or specialized assets.

When you combine custom objects with snapshots, you can design a reusable data model and push it into any target location that supports custom objects.

  • Define new tables and fields.
  • Create relationships between objects.
  • Share your model across multiple GoHighLevel accounts.

Requirements Before You Start in GoHighLevel

Before creating custom objects through snapshots in GoHighLevel, confirm the following:

  • You have access to a sub-account where custom objects are enabled.
  • You have permission to create and manage snapshots in the agency or account.
  • Your target locations also support custom objects.

If you are documenting processes for a team or agency, you may also want to maintain a central SOP hub, such as a knowledge base or external documentation system like Consultevo, to keep your GoHighLevel data models consistent.

Step 1: Access the Custom Objects Area in GoHighLevel

You must begin in the sub-account that will serve as the source for your snapshot.

  1. Log in to your GoHighLevel account.

  2. Switch to the desired sub-account (location) where you want to build your custom object.

  3. Open the settings or configuration area where custom objects are managed. This is usually under the developer or data settings section, depending on your version of GoHighLevel.

At this point you are ready to define the structure of the custom object that will later be exported by snapshot.

Step 2: Create a New Custom Object in GoHighLevel

Once you are inside the custom objects section, follow these steps:

  1. Select the option to create a new custom object.

  2. Enter a clear name and description so other users can understand its purpose when they install your snapshot.

  3. Configure primary settings, such as:

    • Plural and singular label (for UI display).
    • Key or API name, if applicable.
    • Visibility and access options.
  4. Save the new object before you begin adding fields.

Use meaningful names because the labels will appear inside GoHighLevel forms and lists once the snapshot is installed elsewhere.

Step 3: Add Fields to the Custom Object

Each custom object is made up of fields that define what data it stores. To configure fields:

  1. Open the newly created custom object in GoHighLevel.

  2. Add fields one by one, selecting the correct field type (text, number, date, dropdown, boolean, etc.).

  3. For each field, configure options like:

    • Field label and API name.
    • Required or optional status.
    • Default values, if supported.
    • Validation constraints where applicable.
  4. Save your changes frequently to avoid losing any configuration work.

Design your field set so that it captures all the information your workflow requires while remaining simple enough for users to complete quickly.

Step 4: Configure Relationships Between Custom Objects

Many data models in GoHighLevel require relationships such as one-to-many or many-to-many. To link your new custom object with other data:

  1. Open the relationships or associations tab for the custom object.

  2. Create new relationships to existing objects, including:

    • Standard records (contacts, opportunities, companies, etc.).
    • Other custom objects in the same sub-account.
  3. Configure the relationship type and direction according to your process. For example, one subscription might be linked to one contact, but a contact can have many subscriptions.

  4. Save relationship settings.

These relationships are crucial because they determine how data is displayed and connected when the custom object is deployed to another GoHighLevel location via snapshot.

Step 5: Prepare a Snapshot That Includes Custom Objects

After the structure of your custom object is complete, the next step is to create or update a snapshot that contains it.

  1. From the agency or account level, navigate to the snapshots section of GoHighLevel.

  2. Choose to create a new snapshot or edit an existing one that you want to update.

  3. Select the source sub-account where you built the custom objects.

  4. When configuring snapshot contents, be sure to include:

    • The custom objects you created.
    • Any related assets that depend on those objects, such as forms, pipelines, or automations.
  5. Save the snapshot and give it a descriptive name so you can recognize it when installing it into other locations.

If you need more detail about the original behavior and limits of custom objects in snapshots, review the official documentation at this GoHighLevel help article.

Step 6: Install the Snapshot in a Target GoHighLevel Location

Now you can apply your custom object model to any compatible location.

  1. Go to the agency or main account dashboard in GoHighLevel.

  2. Open the snapshots area and locate the snapshot that includes your custom objects.

  3. Choose the option to install or update a location from that snapshot.

  4. Select the target sub-account where you want the custom objects to appear.

  5. Confirm the installation and wait for the process to complete.

After installation, open the target sub-account and verify that the custom objects, fields, and relationships have been applied correctly.

Step 7: Verify Layouts, Permissions, and Usage

Once your snapshot is installed, you must ensure the new custom objects are usable by end users.

  • Check layouts: Confirm that list views and record layouts inside GoHighLevel show the correct fields and relationships.
  • Review permissions: Ensure that appropriate roles and users can create, view, and edit records for the custom object.
  • Test workflows: If any automations or funnels reference the custom object, run tests to confirm they behave as expected.

Make adjustments in the source sub-account if necessary, then refresh or reapply the snapshot to the target locations.

Best Practices for Managing GoHighLevel Custom Objects

  • Plan your data model first: Outline entities, relationships, and fields before creating anything in GoHighLevel.
  • Use consistent naming: Standardized labels across all snapshots make support and training easier.
  • Version your snapshots: When you change custom objects, create new snapshot versions so you can track deployments.
  • Document everything: Maintain written SOPs and diagrams explaining how each custom object is used inside GoHighLevel.

Summary: Deploying Custom Objects with GoHighLevel Snapshots

By creating custom objects in a source sub-account and packaging them with snapshots, you can standardize complex data models across multiple GoHighLevel locations. Follow these steps each time you need a reusable structure:

  1. Access the sub-account and create the custom object.

  2. Add fields and configure relationships.

  3. Include the custom object in a snapshot.

  4. Install the snapshot into target locations.

  5. Verify layouts, permissions, and automations.

Using this repeatable process ensures your GoHighLevel implementations remain scalable, consistent, and easy to manage as your agency or business grows.

Need Help With ClickUp?

If you want expert help building, automating, or scaling your GHL , work with ConsultEvo — trusted GoHighLevel Partners.

Scale GoHighLevel

“`