Guide
Salesforce has no assignment rules for opportunities.
Assignment rules exist for leads and cases only. So when a deal ends up with the wrong owner, there is no rule to read. The owner came from one of a few places, and each can go wrong on its own.
Where a deal's owner comes from
- Conversion. Whoever converts the lead chooses the owner, and by default it is the lead's owner.
- A record-triggered flow. A flow on Opportunity that sets the owner, for example at a stage change.
- The account owner. Many teams expect a deal to follow its account.
- A routing tool, where it routes opportunities as well as leads.
- A person, changing it by hand.
What goes wrong
- Two flows both set the owner. Which one wins depends on the order they run in.
- A flow assigns to a hard-coded user. When that person leaves, deals keep going to them.
- The owner keeps changing. A flow and a person, or two automations, each overwrite the other.
- The deal and its account have different owners where they are meant to match.
Check it yourself
SELECT Id, OwnerId, Account.OwnerId FROM Opportunity WHERE IsClosed = false AND AccountId != null
SELECT OpportunityId, COUNT(Id) n FROM OpportunityFieldHistory WHERE Field = 'Owner' AND CreatedDate = LAST_N_DAYS:7 GROUP BY OpportunityId HAVING COUNT(Id) > 6
In the first, count the rows where the two owners differ. The second needs history tracking on Opportunity Owner; each owner change is written as two rows, so more than 6 rows is more than 3 changes in a week. Then, in Setup, list the active record-triggered flows on Opportunity and open every step that sets the owner.
Have it checked every night instead.
Routing Forensics connects as a read-only user and checks this, and the rest of your routing, against your real leads. Register interest and you will be first to get a free health report: what is leaking, where, and what it is worth.
Register interestMore guides
- Your Salesforce lead assignment rule is not working. Here is why.
- Leads are stuck in a Salesforce queue. Where and why.
- Your round robin is still giving leads to people who left.
- Traction Complete is not pulling untouched leads back.
- LeanData is routing, but some leads are going nowhere.
- HubSpot contacts are arriving without an owner.
- A Flow is overriding your lead assignment rule.
- How fast do your reps really respond to a new lead?
- Omni-Channel is holding leads nobody accepts.
- The same person is arriving as two leads.
- A share of your leads have no source.
- Leads are sitting at "Open" and nobody has started.
- The lead owner keeps changing, and nobody works the lead.
- Leads are converted, and no opportunity is created.
- Leads are still owned by the integration user.
- Your HubSpot rotation is not sharing leads evenly.
- Deals are still sitting with your SDRs.