If you're running a digital agency or managing complex customer data in GoHighLevel, you've probably realized that a people-only CRM doesn't cut it anymore. Custom objects let you build a data model that mirrors how your business actually works—but only if you can find and access those records efficiently.
In this guide, I'll show you exactly how to use the Find Object Record and Find Company actions in GoHighLevel workflows to search your CRM and automate critical business processes. Whether you're matching webhook payloads to existing records or triggering actions based on company data, mastering these techniques will save your team countless hours of manual work.
Ready to see this in action? Start your free 30-day GoHighLevel trial today and double the standard trial period with no credit card required.
Why Custom Objects Matter for Your CRM
Before diving into the technical mechanics of finding custom objects, let's establish why this capability is critical for modern agencies and service businesses.
A traditional contact-based CRM forces you to squeeze all your business data into a single record structure. This creates problems:
- Data clutter: You end up cramming unrelated information into contacts and opportunities, making records difficult to navigate and maintain.
- Poor scalability: As your business grows, custom fields multiply until your CRM becomes sluggish and confusing.
- Workflow inefficiency: You can't easily search or filter the specific data types your business actually manages.
Custom objects solve this by letting you create distinct data models—projects, assets, properties, subscriptions, or whatever your business needs. But creating these objects is only half the battle. You need the ability to find them quickly in your workflows.
That's where the Find Object Record and Find Company actions become invaluable for automation.
Understanding the Find Object Record Action
The Find Object Record action is a workflow step that searches your custom objects based on criteria you define. It's the bridge between incoming data (like webhook triggers) and your stored object records.
When you use this action, you're essentially telling GoHighLevel: "Search my CRM for a custom object record that matches these specific criteria." If it finds a match, the workflow continues with that record's data available for downstream actions.
Here's the basic workflow setup:
- Trigger your workflow (typically via webhook or a manual action)
- Add the "Find Object Record" action to your workflow canvas
- Select the custom object type you want to search (e.g., "Properties," "Projects," or "Assets")
- Define one or more filter conditions to match records
- Configure what happens if a record is found or not found
The power here is that once a record is found, all of its associated data becomes available to subsequent workflow steps. You can then trigger emails, update fields, create related records, or execute other automations—all without manual intervention.
💡 Pro Tip
Always use the most specific matching criteria available. Searching by a unique identifier (like a property ID or asset number) is faster and more reliable than searching by a general field like "name." This reduces processing time and eliminates false matches.
This is built into GoHighLevel. Try it free for 30 days →
Mapping Webhook Payloads to Custom Object Fields
One of the most common use cases for Find Object Record is matching incoming webhook data to existing custom objects. This requires precision mapping to ensure your workflow finds the right record.
Here's how the mapping process works:
When a webhook arrives at GoHighLevel, it carries a payload—structured data from an external system. Your job is to match fields from that payload to fields in your custom object.
Example scenario: Your property management software sends a webhook whenever a lease renewal is due. The payload includes a property ID. You've stored the same property ID in your custom "Properties" object in GoHighLevel. The Find Object Record action matches the incoming property ID to the corresponding custom object record.
To map correctly:
- Inspect the webhook payload to identify the relevant field names and values
- In the Find Object Record action, set the filter field to the corresponding custom object field
- Use dynamic merge fields to reference the webhook data (GoHighLevel will show available fields when you click the mapping icon)
- Test with a real webhook to confirm the match is working
Accurate mapping is non-negotiable. A mismatch means your workflow won't find the intended record, and your automation breaks. Always test in a sandbox or staging environment first if possible.
Using the Find Company Action for Company-Based Workflows
While custom objects give you flexibility to create any data model, the Find Company action is specifically designed for workflows centered around company records—a built-in object type in GoHighLevel.
The Find Company action works similarly to Find Object Record but is optimized for company-level data. This is useful when your automation depends on company attributes rather than individual contacts.
Common use cases for Find Company:
- Triggering onboarding sequences when a new company signs a contract
- Updating company-wide settings based on a subscription level change
- Creating tasks or alerts when company billing information needs renewal
- Running reports or automations based on company location, industry, or size
The key difference: Find Company searches against company fields (like company name, industry, location, or custom company fields), whereas Find Object Record searches custom objects you've defined.
Setup is straightforward:
- Add the Find Company action to your workflow
- Define one or more filter criteria (e.g., "Company Name equals XYZ Corp")
- Specify the action if the company is found or not found
- Use the found company's data in downstream steps
For agencies managing multiple client companies, this action becomes a cornerstone of efficient automation—especially when combined with webhook triggers that pass company identifiers.
Best Practices for Efficient Object Record Searches
Knowing how to use Find Object Record and Find Company is one thing. Using them efficiently is another. Here are the practices that separate clean, fast workflows from bloated, slow ones.
1. Use unique identifiers whenever possible
Searching by a one-to-one unique field (like an ID number) is exponentially faster than searching by a common field like a name. If your custom object includes an ID field, use it.
2. Avoid redundant searches
If your workflow already has access to a record's data, don't search for it again. For example, if a contact triggers the workflow and you have the contact's associated properties already loaded, use that data directly instead of running a new Find Object Record action.
3. Plan for "not found" scenarios
Every Find Object Record action should have conditional logic for when a record is not found. This might mean creating a new record, sending a notification to a team member, or terminating the workflow gracefully. Unhandled "not found" cases lead to silent failures.
4. Test with realistic data
Before running a workflow in production, test it with actual records from your CRM. This catches mapping errors and logic flaws early.
5. Document your field mappings
As workflows grow, it becomes easy to forget why you're matching Field A to Field B. Leave notes or use clear field naming conventions so future edits are straightforward.
Mastering Find Object Record and Find Company actions unlocks a new level of automation in GoHighLevel. Instead of manually tracking down records or building convoluted workarounds, you can search your CRM with surgical precision and trigger powerful automations on the results.
Start by identifying one workflow where you currently have a bottleneck—perhaps a manual search or a missing connection between systems. Replace that friction with a Find Object Record action, map your fields correctly, and watch how much faster your team operates.
The platform is built for this. You just need to know how to use it.