If you're running a digital marketing agency on GoHighLevel, you know how easy it is for workflows to get messy. Contacts get enrolled in multiple automations, companies trigger duplicate sequences, and related records pile up in workflows they shouldn't be in. That's where the Remove Associated Records action becomes your best friend.
This powerful feature automatically unenrolls related contacts, companies, and custom objects from workflows—all triggered by a single parent record. It's the difference between chaotic workflow management and a clean, scalable CRM system. In this guide, I'll walk you through exactly how to use it, when to deploy it, and the real-world scenarios where it saves agencies hours of manual cleanup.
Ready to see how it works? Let's dive in. And if you want to experiment with these workflows yourself, start your free 30-day GoHighLevel trial here—that's double the standard trial period.
What Is Remove Associated Records in Workflows?
The Remove Associated Records action is a cross-object workflow tool that automatically removes related records from specified workflows based on a parent-child relationship. When a trigger fires in your workflow—say, a contact reaches a certain step—this action can simultaneously unenroll all companies, opportunities, or custom objects linked to that contact from another workflow.
Think of it as a cascade deletion for workflow enrollments. A single action triggers a chain reaction of removals across related records, preventing duplicate automations and keeping your CRM data clean.
This feature is available in all workflow types: Contact-based, Company-based, and Custom Object-based workflows. It's especially valuable for agencies managing multiple clients, teams, and complex relationship hierarchies.
Remove Associated Records vs. Standard Workflow Removal
Here's the critical difference: standard workflow removal removes only the record that triggered the workflow. If you remove a contact from a workflow, that contact is gone—but any associated companies or custom objects remain enrolled.
Remove Associated Records, by contrast, removes the related objects too. You specify which object type (e.g., Company) and the relationship label (e.g., "Primary Company"), and GoHighLevel automatically unenrolls all matching related records.
Example: A contact completes your sales sequence and is removed from the "Sales Nurture" workflow. Using Remove Associated Records, their associated company is simultaneously removed from the "Company Outreach" workflow. No manual cleanup. No orphaned records.
💡 Pro Tip
Always audit your relationship labels before setting up Remove Associated Records. If your labels aren't consistent (e.g., "Primary Company" vs. "Main Company"), the action won't catch all related records. Standardize your naming conventions first.
How to Set Up Remove Associated Records in GoHighLevel
Step 1: Create or Open Your Workflow
Navigate to your GoHighLevel account, select the sub-account, and open the workflow where you want to remove associated records. This can be triggered by any standard workflow event (contact added, form submission, tag applied, etc.).
Step 2: Add the Remove Associated Records Action
In your workflow builder, click the "+" button to add a new action. Search for and select "Remove Associated Records from Workflow."
Step 3: Configure the Object and Label
You'll see two dropdown menus:
- Object Type: Select what you want to remove (Contact, Company, Opportunity, Custom Object, etc.)
- Relationship Label: Choose the specific relationship (Primary Company, Related Contact, etc.)
Step 4: Select the Target Workflow
Choose which workflow the associated records should be removed from. This is typically a different workflow than your current one.
Step 5: Test and Publish
Always test with a sample record before going live. Verify that the correct associated records are being removed from the target workflow.
This is built into GoHighLevel. Try it free for 30 days →
Using Associated Records in Contact-Based Workflows
Contact-based workflows are where most agencies start, and Remove Associated Records shines here.
Common Use Case: Lead Qualification Workflow
You have a workflow triggered when a contact fills out a "Contact Us" form. At the end of your qualification sequence, if they don't engage, you remove them from the workflow. Using Remove Associated Records, you also remove their associated company from your "Account-Based Marketing" workflow. This prevents the company from receiving outreach if the key contact has gone cold.
Another Example: Customer Onboarding
When a contact completes your onboarding workflow and becomes a customer, you remove them from the "Sales Nurture" workflow. Simultaneously, you remove their associated company from the "Prospect Outreach" workflow. Clean, automated, efficient.
In contact-based workflows, you can remove associated Companies, Opportunities, Custom Objects, and even other Contacts (if your data model supports linked contacts).
Using Associated Records in Company-Based Workflows
Company-based workflows operate at the organizational level, making associated record removal especially powerful here.
Real-World Scenario: Account Lifecycle Management
Your "Enterprise Sales" workflow is triggered when a company reaches a certain MRR threshold. Once a company churns or downgrades, they're removed from this workflow. Using Remove Associated Records, all contacts at that company are simultaneously removed from the "Enterprise Support" workflow—preventing inappropriate communications to a company that's no longer in your pipeline.
Another Scenario: Multi-Stakeholder Outreach
You're running a company-level workflow focused on C-suite outreach. When a company goes to "Closed Lost," you remove it from that workflow and automatically unenroll all contacts at that company from related contact workflows. This prevents your team from reaching out to contacts at companies you've already closed.
Associated Records in Custom Object Workflows
Custom Objects are GoHighLevel's most flexible feature for complex business models. Remove Associated Records works seamlessly here too.
Example: Project-Based Agency Model
You track Projects as a Custom Object, related to both Contacts and Companies. When a project status changes to "Complete," you remove it from the "Active Project Management" workflow and simultaneously remove all associated contacts from the "Project Team" workflow. This prevents your project coordinators from receiving notifications for completed work.
Custom Object workflows give you infinite flexibility. You could be tracking Deals, Contracts, Memberships, Subscriptions, or anything else your business needs.
Real-World Examples and Best Practices
Best Practice 1: Use Clear Relationship Labels
Before building workflows, establish consistent naming conventions for relationships. "Primary Contact," "Primary Company," "Account Manager"—whatever you choose, be consistent. This makes Remove Associated Records predictable and reliable.
Best Practice 2: Document Your Workflow Dependencies
Create a simple spreadsheet mapping which workflows remove which associated records. This prevents confusion when your team scales and others need to modify workflows.
Best Practice 3: Test with Small Segments First
Before rolling out Remove Associated Records across your entire client base, test with a small segment. Verify the cascading removals work as expected.
Best Practice 4: Monitor for Edge Cases
Some associated records might belong to multiple parent records. If a contact is associated with two companies, and you remove associated records for one company, that contact stays in related workflows (which is usually correct). But always verify this matches your business logic.
Best Practice 5: Use in Combination with Conditions
You don't have to remove all associated records. Use conditional logic to remove associated records only if certain criteria are met. For example: "Remove associated company from workflow only if contact status is 'unqualified' AND company size is under 50 employees."