How to Auto-Assign Contact Owners to Match the Account Owner (HubSpot and Salesforce)

Last updated: August 4, 2026

When to Use This

Use this when contacts sync into your CRM from Pursuit and you want each one to land with the same owner as its account, so territory ownership stays correct without anyone reassigning records by hand.

Before You Start

  • You have Admin access to your CRM

  • Your CRM sync with Pursuit is live

  • Account owners (Salesforce) or company owners (HubSpot) are already set, since contacts inherit ownership from them

If you're on HubSpot, follow the HubSpot steps. If you're on Salesforce, skip to the Salesforce steps.

Steps

HubSpot

HubSpot has a native setting that assigns the company owner to the contact. This is the fastest path and takes about two minutes.

  1. Click the settings icon in the top navigation bar.

  2. In the left sidebar, go to Objects, then Contacts.

  3. In the Automation section, check the box for Assign company owner to contact by default.

From now on, when a contact's primary company has an owner, HubSpot sets the contact owner to match.

Note: This applies to the contact's primary company association only. It won't overwrite a contact owner that already has a value, and it isn't retroactive.

Tip: To back-fill existing contacts or to override owners already set, build a workflow instead. Enroll contacts on "Company owner is known," then use the "Set property value" action to copy the associated company owner into the contact owner. This route requires Sales or Service Hub Professional or Enterprise.

Salesforce

Salesforce doesn't have a one-click setting, so you build a record-triggered Flow. Plan about ten minutes, and build it in a sandbox first so you can test it before it goes live.

  1. Go to Setup, then Flows, and click New Flow. Choose Record-Triggered Flow.

  2. Set the object to Contact and the trigger to A record is created. Under Optimize the Flow for, choose Fast Field Updates. This runs before the record saves, which keeps it fast and safe even during large Pursuit syncs.

  3. Under Set Entry Conditions, add one condition: Field = Account ID, Operator = Is Null, Value = False. This runs the Flow only for contacts that come in linked to an account.

  4. Click Done, then add an Assignment element and name it Set Owner to Account Owner.

  5. Add a single row: Variable = {!Record.OwnerId}, Operator = Equals, Value = {!Record.Account.OwnerId}. That one line tells Salesforce to set the contact's owner to match its account's owner.

  6. Save the Flow, name it Contact Owner = Account Owner, then click Activate.

From this point on, any contact that syncs in with an account attached lands with the correct territory owner.

What Success Looks Like

You create or sync a test contact with an account attached, and the contact owner matches the account (HubSpot: company) owner without anyone touching the record.

Common Issues

Problem: A contact came in with no owner. Fix: It arrived without an account, so there's no owner to inherit. Route these to a queue or a default rep with a small catch-all rule if you want every contact covered.

Problem: You reassigned an account, but its existing contacts kept the old owner. Fix: Both setups act when the contact is created, not when an account owner changes later. Extend the Salesforce Flow, or add a HubSpot workflow, to re-assign contacts when the account owner changes.

Problem (HubSpot): Existing contacts didn't update after you turned the setting on. Fix: The setting isn't retroactive and won't overwrite an owner that's already set. Use a workflow to back-fill and override.

Once it's live, reach out to your Pursuit CX contact if you'd like help adding the catch-all or the account-reassignment rule.