Documents

Bulk Associate Records

Overview

What it does: Automatically creates associations between your enrolled record and multiple other records based on matching property values

When to use it: When you need to connect one record to many related records at once - like associating a company with all its employees, or linking deals to related contacts

Business value: Saves hours of manual association work and ensures your HubSpot data stays connected and organized automatically


Quick Setup

Prerequisites

  • HubSpot CRM permissions for the object types you want to associate
  • Properties set up on both object types with matching values
  • Understanding of which records should be connected

Basic Configuration

  1. Choose your Enrolled Object Type (the record that triggered the workflow)
  2. Select the Object Type to Associate (what you want to connect to)
  3. Pick the Association Condition (currently only "Matching Property Values")
  4. Select properties on both objects that should match
  5. Optionally choose association labels for better organization

Input Fields

Required Fields

Enrolled Object Type Required

  • Type: Dropdown (dynamic)
  • Description: The type of record that's enrolled in this workflow
  • Options: Contact, Company, Deal, Ticket, Custom Objects
  • Example: Company
  • Notes: This determines what properties are available for matching

Object Type to Associate Required

  • Type: Dropdown
  • Description: The type of records you want to associate with the enrolled record
  • Options: Contact, Company, Deal, Ticket, Invoice
  • Example: Contact
  • Notes: You can associate different object types (e.g., Company to Contacts)

Association Condition Required

  • Type: Dropdown
  • Description: How to determine which records should be associated
  • Options: Matching Property Values
  • Example: Matching Property Values
  • Notes: Currently only supports property-based matching

Enrolled Object Property Required

  • Type: Dropdown (dynamic)
  • Description: The property on your enrolled record to use for matching
  • Example: Company Domain Name, Email Domain
  • Notes: Available properties depend on your Enrolled Object Type

Associate Object Property Required

  • Type: Dropdown (dynamic)
  • Description: The property on records you want to associate that should match
  • Example: Email, Company Domain Name
  • Notes: Available properties depend on your Object Type to Associate

Optional Fields

Association Labels Optional

  • Type: Dropdown (dynamic, appears based on object type)
  • Description: Specific labels to apply to the associations for better categorization
  • Example: Primary Company, Employee, Decision Maker
  • Notes: Different label options appear for each object type

Create Association Without Label Optional

  • Type: Checkbox
  • Description: Create the association but don't apply the selected label
  • Default: Unchecked
  • Notes: Useful when you want the connection but not the specific categorization

Common Use Cases

Use Case 1: Associate Company with All Employees

Scenario: When a company is created, automatically associate it with all contacts who have matching email domains

Setup:

  • Enrolled Object Type: Company
  • Object Type to Associate: Contact
  • Association Condition: Matching Property Values
  • Enrolled Object Property: Company Domain Name
  • Associate Object Property: Email
  • Association Labels: Primary Company

Result: All contacts with email addresses matching the company domain get automatically associated with the company

Use Case 2: Link Deals to Related Contacts

Scenario: When a deal is created, associate it with all contacts from the same company

Setup:

  • Enrolled Object Type: Deal
  • Object Type to Associate: Contact
  • Association Condition: Matching Property Values
  • Enrolled Object Property: Associated Company ID
  • Associate Object Property: Associated Company ID
  • Association Labels: Deal Contact

Result: All contacts from the deal's company get associated with the deal

Use Case 3: Connect Tickets to Company Contacts

Scenario: When a support ticket is created, associate it with all contacts from the customer's company

Setup:

  • Enrolled Object Type: Ticket
  • Object Type to Associate: Contact
  • Association Condition: Matching Property Values
  • Enrolled Object Property: Company
  • Associate Object Property: Company
  • Association Labels: Support Contact

Result: All company contacts get visibility into the support ticket


How It Works

  1. Property Value Extraction: Gets the value from your enrolled record's specified property
  2. Search for Matches: Finds all records of the target type with matching property values
  3. Association Creation: Creates associations between your enrolled record and all matching records
  4. Label Application: Applies the specified association labels (if selected)
  5. Result Reporting: Returns the count of successful associations

Processing Details

  • Batch Processing: Large association jobs are processed in batches of 100 to prevent timeouts
  • Duplicate Prevention: If an association already exists, it won't create a duplicate (but will apply new labels if specified)
  • Rate Limiting: The action respects HubSpot's API rate limits and will retry if limits are hit
  • Transaction Safety: If any association fails, the others still succeed (partial success is possible)
  • Performance: Typical processing time is 1-3 seconds for up to 100 associations, longer for larger batches

Advanced Configuration

Association Labels

Association labels help categorize relationships:

  • Primary Company - Main company association
  • Employee - Person works for company
  • Decision Maker - Key contact for deals
  • Support Contact - Person involved in tickets

Matching Logic

  • Exact Match: Property values must match exactly (case-sensitive)
  • Empty Values: Records with empty matching properties are skipped
  • Multiple Matches: All matching records get associated
  • Partial Matching: For email domains, the system can match "company.com" in the enrolled record to "john@company.com" in the target record
  • Whitespace Handling: Leading and trailing spaces are automatically trimmed before matching
  • Null vs Empty: Both null values and empty strings are treated as "no value" and skipped

Output Fields

After execution, this action provides:

  • associations_created_count (number): How many associations were successfully created
  • status (text): Execution status - "SUCCESS", "SUCCESS_NO_MATCHES", or "ERROR"

Use these outputs to track performance and create conditional logic in your workflows.

Last updated: November 23, 2025