Automatically assign leads to the right owners based on criteria like territory, company size, or lead source.
Lead routing rules
HubSpot workflows assign contact owners based on criteria you define. Common routing approaches:
By territory: Assign based on location (country, region, postal code).By company size: Route SMB leads to one team, enterprise leads to another.By lead source: Assign inbound leads to SDR team, event leads to field marketing rep.By product interest: Route Product A leads to specialists in Product A.
Define your routing logic first, then build workflows to execute it.
Example routing logic for a B2B software company:
- UK leads with 500+ employees → Enterprise AE (Sarah)
- UK leads with 50-499 employees → Mid-market AE (James)
- UK leads with <50 employees → SDR team (round-robin)
- EU leads → EU sales team (round-robin)
- US leads → US sales team (round-robin)
Round-robin assignment
Round-robin distributes leads evenly across a team. Each rep receives leads in rotation.
Create workflow: "Round-robin lead assignment - UK SMB."
Enrollment trigger: "Lifecycle stage changed to MQL" AND "Country is United Kingdom" AND "Number of employees is less than 50."
Add action: "Rotate record to owner."
Configure rotation:
- Select team members in rotation: Add all SDRs who should receive leads
- Order: Choose "Rotating" (cycles through list) or "Least recently assigned" (gives leads to whoever hasn't received one longest)
- Assign records to: Contact owner
This distributes UK SMB MQLs evenly across your SDR team.
Ownership automation
Beyond initial assignment, maintain ownership as contacts progress.
When contacts become opportunities, reassign from SDR to AE:
Create workflow: "Reassign to AE when opportunity created."
Enrollment trigger: "Associated deal pipeline is [your pipeline]" AND "Contact owner is any of [SDR names]."
Add action: "Set property value" > Contact owner > [AE who owns the deal].
This transfers contact ownership from the SDR who generated the opportunity to the AE who's working the deal.
When customers convert, reassign to customer success:
Create workflow: "Reassign to CS when customer."
Enrollment trigger: "Lifecycle stage changed to Customer."
Add action: "Set property value" > Contact owner > [Customer success team member or round-robin across CS team].
This ensures customers have a dedicated success owner, separate from the sales rep who closed them.
Configure territory-based assignment and fair distribution systems that prevent lead hoarding or unbalanced workloads.
Internal notification workflows
Territory routing assigns leads based on geographic or account-based territories.
Create property: "Sales territory." Navigate to Settings > Properties > Contact properties > Create property. Name: "Sales territory." Type: Dropdown select. Options: UK, France, Germany, Benelux, Nordics, US East, US West (or whatever your territories are).
This property can be set manually or automatically via workflow based on country/postal code.
Create workflow: "Auto-assign sales territory."
Enrollment triggers (use OR logic between groups):
- Filter group 1: Country is United Kingdom → Set sales territory to UK
- Filter group 2: Country is any of (France, Belgium, Netherlands, Luxembourg) → Set sales territory to Benelux
- Filter group 3: Country is any of (Sweden, Norway, Denmark, Finland) → Set sales territory to Nordics
After territory is assigned, route to appropriate owner:
Create workflow: "Assign owner by territory."
Enrollment trigger: "Sales territory is known."
Add if/then branches:
- If sales territory is UK → Rotate record to owner (UK sales team members)
- If sales territory is Benelux → Set owner to [Benelux rep]
- If sales territory is Nordics → Set owner to [Nordics rep]
This creates automated territory-based routing that scales as you add territories and reps.
Lead assignment automation
Beyond territories, route by other criteria:
By company size:
Create workflow: "Route by company size."
Enrollment trigger: "Lifecycle stage changed to MQL."
Add if/then branches:
- If number of employees is greater than or equal to 500 → Set owner to [Enterprise AE]
- If number of employees is between 50 and 499 → Set owner to [Mid-market AE]
- If number of employees is less than 50 → Rotate record to owner (SMB team)
By lead source:
Create workflow: "Route by lead source."
Enrollment trigger: "Lifecycle stage changed to MQL."
Add if/then branches:
- If original source contains "Trade Show" → Set owner to [Field marketing rep]
- If original source contains "Partner referral" → Set owner to [Partner manager]
- If original source is "Organic search" or "Paid search" → Rotate record to owner (Inbound sales team)
Territory and round-robin routing
Combine territory and round-robin for sophisticated routing:
Example: Within UK territory, route by company size using round-robin at each tier.
Create workflow: "UK territory routing."
Enrollment trigger: "Sales territory is UK" AND "Lifecycle stage changed to MQL."
Add if/then branches:
- If number of employees >= 500 → Rotate record to owner (UK enterprise AEs)
- If number of employees 50-499 → Rotate record to owner (UK mid-market AEs)
- If number of employees < 50 → Rotate record to owner (UK SDRs)
This distributes leads evenly within territory and company size segments.
Ensure deal data flows correctly during routing changes.
When opportunities are reassigned from SDR to AE, the associated deal should also be reassigned:
Create workflow: "Sync deal owner with contact owner."
Enrollment trigger: "Contact owner is any of [AE names]" AND "Associated deal pipeline is known."
Add action: "Set property value" > Deal owner (of associated deal) > "Same as contact owner."
This keeps deal ownership aligned with contact ownership.
When deals close, ensure the contact's lifecycle stage updates:
Create workflow: "Update lifecycle on deal close."
Enrollment trigger: "Associated deal stage changed to Closed Won."
Add action: "Set property value" > Lifecycle stage > Customer.
Add action: "Set property value" > Contact owner > Rotate record to owner (Customer success team).
This updates contact records automatically when deals close, maintaining data integrity across objects.