Wispcode cover graphic reading Create the Record and the Link at Once with two record cards joined by a chain link icon on a navy background with a pink accent

Let the Workflow Create the Record and the Link

August 31, 20268 min read

How to Keep Related CRM Records Connected Using the Create Associated Record for Contact Action in GoHighLevel

Most CRMs are good at storing people and bad at storing the things attached to those people. A roofing company does not just have a customer, it has a roof, with a survey date, a material and a warranty. A property agency does not just have a buyer, it has the four houses that buyer is circling. Push all of that into contact custom fields and you end up with a record that reads like a spreadsheet nobody wants to open.

GoHighLevel solves the storage half with custom objects and the connection half with associations. The Create Associated Record for Contact action is what joins the two inside a workflow. It builds a brand new object record while the automation runs and links it to the contact in the same step, so the relationship exists the moment the record does.

What the action actually does

Inside the workflow builder the panel is titled Create Associated Record For Contact, and the line underneath reads create an associated object record for Contact. That is the whole job. It creates one record on a custom object, fills whichever fields you tell it to fill, and attaches that record to the contact running through the workflow under a label you choose.

	GoHighLevel Create Associated Record For Contact action panel showing the Action Name field, an Object Record To Create dropdown set to House, two field rows filled with merge fields, an Add field link and an Association Label set to Buyer
The whole action in one panel. Name it, pick the object, fill the fields, choose the label that describes the relationship.

Four things sit in the panel. The Action Name, which is just for you and the rest of the team reading the canvas later. The Object Record To Create, which lists the custom objects that exist in the sub account. A stack of field rows, where each row is a field on that object plus the value it should be given. And the Association Label, which decides what the new relationship is called.

Notice the helper text under the object dropdown, telling you to visit Associations. It is there because the action cannot invent a relationship. It can only use one you already built.

Two things have to exist before this action is any use

The official article is blunt about the prerequisite: this action is possible only after creating custom objects in the sub account and creating an association label between at least one of those objects and contacts. Skip either step and the dropdowns come up empty.

The first piece is the object itself. Go to Settings, then Objects. Standard objects such as Opportunities, Contacts and Companies are listed at the top, and anything you have built sits underneath in Custom Objects. Add Custom Object is where a House, a Policy, a Pet or a Vehicle gets created, along with its own fields.

GoHighLevel Settings Objects page listing the standard objects Opportunities, Contacts and Companies above a Custom Objects section containing Surfboards and Dogs, with the Add Custom Object button highlighted
Settings, then Objects. Standard objects sit at the top, anything you built yourself sits under Custom Objects.

The second piece is the association. Open the object, click the Associations tab, then Create Association. You pick the object to connect to, then you name the relationship. A single label works when both sides read the same way, for example Deal. A pair of labels works when each side has its own word, for example Buyer on one end and Seller on the other. After that you set the relationship type, one to one, one to many, many to one or many to many, and HighLevel shows you a plain English preview before you save.

	GoHighLevel Create Association panel with a field to select the object to associate with, a choice between a single label and a pair of labels, relationship settings set to Many and a preview box describing the limit of 1000 associated records per label
The association itself. One label or a pair, then the relationship type, then a preview that spells out the limit before you save.

Those labels become the vocabulary your workflows use later, so name them the way your team already talks.

Building the action into a workflow

Open a contact based workflow, click the plus icon on the canvas and pick the action from the Contact group. From there it is four decisions:

  • Name the action so the canvas stays readable. Create Associated House record beats Action 3.

  • Choose the object record to create. Only objects that already have an association with contacts will be worth picking here.

  • Add a field row for every value the new record should start life with, and use Add field for more.

  • Choose the association label. The new record gets linked to the contact under that label the moment it is created.

Then Save Action. There is no branch to handle, no found and not found path like the Find Contact action gives you. The record is created and linked, and the workflow moves on.

Filling the new record with data you already hold

The field values are not limited to text you type in. Each row has a merge field picker, so a value can be pulled straight off the contact or out of a custom value. In HighLevel's own screenshot the ID No field is set to {{contact.id}} and a second row pulls {{contact.first_name}}, which is how a brand new object record arrives already stamped with who it belongs to.

That matters more than it sounds. If the record is created empty, somebody has to go back and fill it, and nobody ever does. Populate it at creation time and it is useful straight away, filters and reports included.

Where the link shows up afterwards

Once the workflow has run, open the contact and look at the Associations panel. Each object you have connected gets its own section with a count, and the linked records sit inside it under the label that ties them together. Click one and it opens without dragging you out of the contact.

GoHighLevel contact record with the Associations panel open on the right showing Companies, Surfboards with one linked record named Short Board tagged Potential Fit, plus Dogs, Projects and Jobs sections each with an Add button
The payoff. Every linked record shows on the contact under the label that connects them.

It travels further than the record page too. Association fields can be added to Opportunity cards and list views through Manage Fields, so a sales team sees the linked property or policy on the card itself.

The manual version of the same job

It helps to see what you are replacing. Without the action somebody opens the record, finds the related objects panel, clicks Associate new, searches, links, then repeats that for every customer.

GoHighLevel record panel titled Related objects showing Contacts, Opportunities, Houses and Cars sections, each with an Associate new button for linking a record by hand
The manual route. Open the record, scroll to the related objects, search, link, repeat for every single customer.

For ten records a month that is fine. For a few hundred it quietly stops happening, and half your object records end up attached to nobody.

The rest of the associated record family

Create is one of three contact actions that work on associated records.Update an Associated Record for Contact edits records that already exist, and its panel adds an Association Label field where you can target something like all associated Pets. The helper text is worth reading: if specified, the related records with the selected association labels will be updated, so the label is how you aim it.

GoHighLevel Update Associated Record For Contact action panel showing an Object To Update dropdown set to Pet, an Association Label set to All associated Pets and a field row updating a Vaccination Number using a merge field
The sibling action. Same shape as the create version, except it edits records that already exist.

Clear Fields of Associated Record for Contact is the third, and it wipes chosen fields without deleting the record. There is also a newer Associate Records action, in beta behind Settings and Labs, which works the other way around. Instead of making a record it searches for existing ones with filters and links whichever match, using the earliest created record, the latest created record, or all of them.

The distinction is worth holding on to. Use Create when the thing genuinely does not exist yet, such as a new install job. Use Associate Records when the thing already exists and you are matching a person to it, such as a buyer to a listing.

Limits and behaviour worth knowing

  • You can create up to10 labels per pair of objects.

  • Each label supports up to1,000 linked records per side, plenty for a customer with a few policies and tight for anything larger.

  • Delete a record and its associations go with it. There is no orphan link left behind.

  • The action creates a record every time the workflow reaches it, so a contact who re enters the workflow gets a second record. Put a condition or a wait step in front of it if that is not what you want.

  • Association data can be used in reports and exports, which is usually the real reason a business wants the records connected at all.

A worked example from HighLevel

The documentation uses a solar company tracking a Site Survey Date and an Install Date. When an opportunity is marked as won, the workflow creates an Install record, fills both dates, and links it to the contact with the label Installation Scheduled.

The deal closing is the moment you know an install is happening, so it is the right moment to create the thing that tracks it. Nobody has to remember, and the record cannot exist without being connected to the customer.

Frequently Asked Questions

Why is my object missing from the Object Record To Create dropdown?
Almost always because there is no association between that object and contacts yet. Build the object, create the association from its Associations tab, then reopen the action.

Can one action create the record and fill several fields at once?
Yes. Use Add field for each extra field on the new record, and mix fixed values with merge fields as needed.

What is the difference between this and the Associate Records action?
This one creates a brand new record and links it. Associate Records finds existing records with filters and links those instead, and it is still in beta behind Labs.

Does the association work in both directions?
Yes. Open the object record and the contact is listed there too, under the paired label if you set one up.

Need Expert Help with GoHighLevel?

New to GoHighLevel and ready to get started? Buy your GoHighLevel account here and launch with confidence.

Already know what you need and want our team to handle everything, from complete setup and customization to funnels, workflows, automations, CRM, and pipelines? Click here.

Wispcode Team

Wispcode Team

Wispcode team provides the gohighlevel updates to give understanding to the agency owners.

LinkedIn logo icon
Youtube logo icon
Back to Blog

At Wispcode, we deliver pioneering digital engineering strategies that empower businesses to grow with confidence.

Get in touch with us

Email:

Phone:

Hours: 24/7 avaailable

Copyright @2026 Wispcode. All Rights reserved.