As you build more advanced HubSpot workflows, you'll often encounter the need to connect contacts, such as automatically associating a new contact (Contact A) with an existing contact (Contact B) who shares the same company name.
Standard workflow functions can make this "dynamic search and associate" process difficult. This is where 3rd-party custom workflow actions become essential.
This article explains the purpose, common use cases, and setup steps for the "Contact Search Action" shown in your video, with the ultimate goal of automatic association.


The primary purpose of this action is to search your HubSpot database for a different contact (Contact B) based on information from the contact currently enrolled in the workflow (Contact A).
The action's only output is the Record ID (Contact ID) of the contact it finds. The ultimate goal is to use this ID in a subsequent step to automatically associate Contact A and Contact B.
This action is extremely powerful for automatically building relationships between your contacts.
The video demonstrates the setup and execution of the search action itself.
Step 1: Add the Action (0:04 - 0:09)In the workflow editor, click the "+" icon to add an action. The left sidebar opens, showing available actions. The video selects the app "Custom Workflow Business V2."
Step 2: Select the "Contact Search Action" (0:10 - 0:12)From the app's list of available actions, click on "Contact Search Action" to add it to the workflow.
Step 3: Configure Search Criteria (0:13 - 0:43)In the action's setup panel on the left, you define who you are looking for.
Condition - Property Name (e.g., First Name), the Condition - Search Operator (e.g., Equal to), and the Condition - Value (e.g., "Brian"). This value can be a static value, as shown, or a personalization token from the enrolled contact.Domain as an option).Operator between Conditions to set the logic to "AND (both must be true)" or "OR (either can be true)."Contact ID field can be used to exclude a specific contact from the search results (for example, using the enrolled contact's own ID token to avoid finding itself).Step 4: Save Configuration (0:44 - 0:46)Click the "Save" button. The workflow card updates to show a summary of your criteria (e.g., Search contacts where First Name Equal to Brian).
Step 5: Run Workflow & Check History (0:47 - 0:56)The workflow is turned on and run (using a manual trigger in the demo).After it runs, check the "History" tab. You can see the "Contact Search Action" has "Action succeeded."By clicking to see the log details (right panel), you can inspect the "OUTPUTS" section. It clearly shows the search_results with the Record ID it found (in the video, "501").
Step 6: Verify the Result (0:57 - 1:00)(As a supplement to the demo) You can then go to your HubSpot contact list and confirm that the contact with Record ID "501" is, in fact, "Brian Halligan," confirming the search was successful.
This action only finds the Record ID. To achieve your goal of associating the contacts, you must add these follow-up steps.
search_results) "is known". This creates a "Yes" path (if a contact was found) and a "No" path (if no contact was found).[Contact Record ID] token.[search_results] token from the search action.By completing these steps, you create a full automation: Contact A enrolls, the workflow searches for Contact B, and if B is found, the system automatically associates them. As we discussed, this action will create a standard association and does not support adding an association label (e.g., "Family" or "Referrer").
No, it is not. This is a custom action that becomes available by installing a third-party app called "Custom Workflow Business V2." A standard HubSpot workflow branch primarily checks conditions on the contact currently enrolled in the workflow (Contact A) (e.g., "What is Contact A's industry?"). The key difference with this action is that it can search the entire database for a different contact (Contact B) based on specific criteria (e.g., "Find Contact B who has the same company name as Contact A").
No, it does not. As emphasized in the article's "【Important】How to Use the Retrieved Record ID" section, this action's only job is to search for and find the Record ID of Contact B. To actually associate Contact B with Contact A, you must add these steps after this action: An "If/then branch" to check if a contact was found. A separate "Association Action" (likely provided by the same app) where you specify Contact A's ID and the search_results (Contact B's ID) retrieved from this action.
Yes, you can. As explained in the "Main Use Cases" (e.g., B2B contact linking), this is the primary purpose of the action. Instead of typing a fixed value like "Brian" into the Condition - Value field (Step 3), you would insert a property token from the contact enrolled in the workflow (Contact A) (e.g., the [Company Domain] token). This allows you to perform dynamic searches like "find Contact B who has the same domain as Contact A."
We can customize this sample to match your specific business requirements.
Book Free Consultation