How to Bulk Edit Associations in HubSpot
Associations are the connective tissue of your HubSpot CRM. They link contacts to companies, contacts to deals, companies to deals, tickets to contacts, and so on. When associations are accurate, your CRM tells a coherent story: this person works at this company, they are involved in this deal, and they submitted this support ticket.
When associations are wrong -- missing, incorrect, or duplicated -- that story falls apart. Sales reps do not see the full picture of an account. Reports that aggregate data by company miss contacts that are not properly linked. Workflows that trigger based on associated records fail to fire.
Fixing associations one at a time is manageable for a handful of records. When you have hundreds or thousands of broken associations, you need a bulk approach.
How HubSpot associations work
Before diving into bulk editing, it helps to understand the association model.
Standard associations
HubSpot automatically creates associations in certain scenarios:
- When a contact fills out a form, they are associated with the company that matches their email domain (if company matching is enabled).
- When a deal is created from a contact record, the contact (and their primary company) is automatically associated with the deal.
- When a ticket is created from a contact record, the contact is associated with the ticket.
These automatic associations are based on HubSpot's internal logic and your portal settings. They are generally reliable but not infallible.
Association labels
Starting with HubSpot Professional, you can add labels to associations to describe the relationship. For example, a contact associated with a company might have the label "Decision Maker," "End User," or "Billing Contact." A company associated with a deal might be labeled "Primary" or "Partner."
Labels add context that plain associations lack. But they also add complexity to bulk management, because you may need to update not just which records are associated but what label the association carries.
Association types and cardinality
Associations in HubSpot have types that define which object types can be linked:
- Contact to Company
- Contact to Deal
- Contact to Ticket
- Company to Deal
- Company to Ticket
- Deal to Ticket
- Any object to itself (e.g., Company to Company for parent/child relationships)
- Custom objects to any standard object
Most association types allow many-to-many relationships: a contact can be associated with multiple companies, and a company can have multiple contacts. The exception is the "primary company" designation, which is a one-to-one relationship from a contact to their main company.
Common association problems
Missing associations
The most common problem. Causes include:
- Bulk imports without association mapping. When you import contacts via CSV, you can map a column to create associations (typically by matching email domain to company domain). But if the column is not mapped correctly, or if the company records do not exist yet, the associations are not created.
- Manual record creation. When contacts or deals are created manually without navigating from an associated record, the association may not be created automatically.
- Integration gaps. Third-party integrations sometimes create records without creating the expected associations.
- Deleted and recreated records. If a company is deleted and recreated, all contacts previously associated with it lose their association.
Incorrect associations
Contacts associated with the wrong company are a serious data quality issue. Common causes:
- Email domain matching errors. If a contact uses a generic email (gmail.com, outlook.com), HubSpot's automatic matching creates an association with whichever company record has that domain -- which could be wrong.
- Job changes. A contact switches companies but their company association is not updated.
- Merges gone wrong. When duplicate records are merged, associations from both records are combined. If one of the duplicates was associated with the wrong company, that incorrect association persists in the merged record.
Missing or incorrect labels
Associations exist but lack the context that labels provide. Or labels were assigned incorrectly -- a "Decision Maker" who is actually a "Technical Evaluator."
Bulk-editing associations: your options
Option 1: CSV import with association columns
HubSpot's import tool can create associations during import. For contact-to-company associations, you include a "Company Domain Name" or "Company Name" column in your contact CSV. HubSpot matches the value to an existing company record and creates the association.
How to do it:
- Export the contacts that need association updates.
- In the spreadsheet, add or correct the "Company Domain Name" column.
- Import the CSV, mapping the company domain column and selecting "Update existing contacts."
- During the import mapping step, choose to associate contacts with companies.
Limitations:
- This only works for contact-to-company associations using domain matching or company name matching.
- You cannot set association labels via import.
- You cannot create deal-to-contact or other non-standard associations via CSV import easily. HubSpot supports multi-object imports (e.g., importing contacts and deals in the same file), but the mapping is limited.
- If the company record does not exist, the association will not be created (unless you also create the company in the same import).
- There is no preview -- you do not see which associations will be created or changed before the import runs.
Option 2: HubSpot's native bulk association from the UI
From the CRM index page, you can select multiple records and use the "Assign" or "Associate" option in the bulk action toolbar to associate them with a specific record. For example, you can select 50 contacts and associate them all with a single company.
Limitations:
- You can only associate with one target record at a time. If you need to associate 50 contacts with 50 different companies, you are back to one-at-a-time.
- You cannot set labels in the bulk association step.
- You cannot remove or change existing associations in bulk from the UI.
Option 3: Workflows
Workflows can set the primary company association based on a property value. For example, you can build a workflow that triggers when a contact's email domain matches a specific pattern and then associates them with the corresponding company.
Limitations:
- Workflow-based association is limited. The "Associate record" action in workflows can link records, but it requires you to specify the target record (or use a property value to look it up).
- You cannot bulk-reassociate records from one company to another via workflows without complex logic.
- No labels can be set via workflow actions.
- No preview or rollback.
Option 4: HubSpot API
The Associations API (/crm/v4/associations) gives you full control over creating, updating, and deleting associations, including association labels.
Key endpoints:
PUT /crm/v4/associations/{fromObjectType}/{toObjectType}/batch/create-- Create associations in batches of up to 500.POST /crm/v4/associations/{fromObjectType}/{toObjectType}/batch/archive-- Delete associations in batches.
What you can do:
- Create associations between any object types
- Set association labels
- Remove specific associations
- Handle thousands of records with pagination and batching
Limitations:
- Requires development skills (or a developer on your team)
- You need to build rate limiting, error handling, and logging yourself
- No built-in preview or rollback
- You need to know the record IDs for both sides of every association
Option 5: Combination approach -- search, identify, then fix
For scenarios where associations are incorrect (not just missing), you often need to first identify which records have wrong associations before you can fix them. This is where search tools become valuable.
For example, if you need to find all contacts associated with "Old Company Name" and reassociate them with "New Company Name" (after a merger or rename), you can:
- Use a search tool to find all contacts where the associated company name matches a pattern.
- Export or note the affected record IDs.
- Use the API or import to update the associations.
The search step is often the hardest part, because HubSpot does not natively let you filter contacts by their associated company's properties in all contexts.
Practical scenarios and solutions
Scenario: Company rebranding
Company A acquires Company B. You need to reassociate all of Company B's contacts with Company A.
- Go to Company B's record in HubSpot and view all associated contacts.
- If the number is small (under 50), you can manually reassociate them via the UI.
- If the number is large, export the contact IDs associated with Company B, then import them with Company A's domain to create new associations.
- Separately, remove the old associations with Company B (this requires the API or manual removal).
Scenario: Missing associations after bulk import
You imported 2,000 contacts but forgot to map the company association column. Now none of them are associated with companies.
- Re-export the contacts (or use your original import file).
- Ensure the "Company Domain Name" column has the correct domain for each contact.
- Re-import the file, this time mapping the company domain column and selecting the option to create company associations.
Scenario: Fixing primary company assignments
Contacts can have one primary company. If the primary company was set incorrectly (common with generic email domains), you need to update it.
The primary company can be changed by:
- Going to each contact record and manually updating the primary company.
- Using the Associations API to remove the old primary association and create a new one.
- Using a bulk import with the correct company domain -- HubSpot will update the primary company association.
Tips for association management
Audit associations regularly. As part of your quarterly CRM audit, spot-check a sample of records to verify associations are correct. Look especially at recently imported or integrated records.
Use company domain matching consistently. The most reliable way to maintain contact-to-company associations is through email domain matching. Make sure your company records have accurate "Company Domain Name" values.
Document your association labels. If you use custom association labels, maintain a document that defines each label and when it should be used. Without clear definitions, labels get applied inconsistently.
Clean up before associating. Before running a bulk association fix, make sure the underlying data is correct. If company names or domains are inconsistent, fix those first with a search-and-replace operation, then create or update associations based on the clean data.
Back up before bulk changes. Before running any bulk association update (import, API script, or workflow), export the affected records with their current associations. This gives you a rollback point if something goes wrong.
Association management in HubSpot is one of those areas where small inaccuracies compound into big problems. A contact with the wrong company association will have incorrect data flowing into reports, wrong context showing up in sales dashboards, and broken workflow logic. Getting associations right -- and keeping them right -- is fundamental to CRM data quality.
Keep working through the cleanup
Related HubSpot guides for planning, previewing, and validating the next step.
How to Bulk Edit Date Properties in HubSpot
Date properties in HubSpot have specific format requirements and timezone handling that make bulk editing tricky. Here's how to update dates across many records without breaking things.
Read guideHow to Bulk Edit Multi-Select Properties in HubSpot
Multi-select properties in HubSpot are notoriously difficult to edit in bulk. Here's how they work under the hood and the best approaches for updating them across many records.
Read guideHow to Bulk Edit Number Properties in HubSpot
HubSpot's native editing tools fall short with number fields. Learn how to bulk update number properties across contacts, companies, and deals — without CSV exports or API scripts.
Read guideHubSpot Regex Find and Replace: Complete Guide
Learn how to use regular expressions for powerful find-and-replace operations in HubSpot. From basic patterns to advanced techniques for CRM and CMS data.
Read guideStill editing HubSpot records one by one?
Start with 100 free applied records — no credit card required.