Best Practices for Enforcing Entry Criteria into a Deal Stage
SOLVE
We're currently in the process of optimizing how we use our CRM system, and as part of that, we’ve decided to replace our outdated sales pipeline with a new, improved one that includes updated deal stages.
The first deal stage in this new pipeline is called "Prospect", and it has a set of entry criteria that are based primarily on company-level information, rather than deal-level data. The entry criteria include examples like:
Lead matches our ICP
Outreach owner is known
Buyer persona is identified.. Etc.
Since these criteria are tied to company data, I'm concerned that we don't have a way to control whether the sales team is creating or moving deals into the Prospect stage without first ensuring these entry criteria are actually met.
So my question is: Is there a smart or best-practice way to ensure that deals cannot be created or moved into the Prospect stage unless all entry criteria are fulfilled — especially when most of the necessary information lives on the company or contact record?
ChatGPT came up with this workflow solution: Create deal properties that act as checkboxes or confirmations that the data exists on company level. Also suggested that i could then use a second workflow for automate validation. (I'm not stoked about this solutions, as I anticipate it could lead to several future problems)
Any guidance or setup suggestions would be greatly appreciated!
Best Practices for Enforcing Entry Criteria into a Deal Stage
SOLVE
Hi @NT_! There is NOT a way to ensure Company data is complete prior to creating a Deal.
However, you may consider auto-creating a Deal when all the Company data is complete!
So for example, the Company has the right ICP info, Outreach Owner = known, Buyer Persona is correct, and your team clicked a custom "Create Deal" company field... using a workflow, once all the criteria is met you can create a new Deal!
You're absolutely right to be cautious here — implementing manual checkboxes or duplicated data logic from companies to deals can quickly lead to inconsistency, user error, and long-term maintenance overhead. Here’s a smarter, more scalable way to approach this in HubSpot, given the limitation that workflows can’t directly enforce pipeline movement rules based on associated object properties (like company data affecting a deal stage change):
1. Define Your Entry Criteria (example for “Prospect” stage): These are company or contact properties that must be true before a deal enters "Prospect":
Company → ICP Match = Yes
Company → Outreach Owner is known
Contact → Persona is identified
2. Create a Workflow: “Validate Deal Entry to Prospect” Type: Deal-based Enrollment trigger:
Deal Stage = Prospect
In the workflow:
Use “Check Associated Records” (via filters or if/then branches) to inspect whether:
The associated company has ICP Match = Yes
The associated company has a known owner
The primary contact has a value for Buyer Persona
If the criteria are NOT met:
Set Deal Stage back to the previous one (e.g., “Pre-qualification” or whatever your stage is before "Prospect")
Send internal notification to the deal owner: “This deal was moved to 'Prospect' but doesn't meet entry criteria. Please update the associated company/contact record.”
Hope this helps! Let me know if you have any questions.
You're absolutely right to be cautious here — implementing manual checkboxes or duplicated data logic from companies to deals can quickly lead to inconsistency, user error, and long-term maintenance overhead. Here’s a smarter, more scalable way to approach this in HubSpot, given the limitation that workflows can’t directly enforce pipeline movement rules based on associated object properties (like company data affecting a deal stage change):
1. Define Your Entry Criteria (example for “Prospect” stage): These are company or contact properties that must be true before a deal enters "Prospect":
Company → ICP Match = Yes
Company → Outreach Owner is known
Contact → Persona is identified
2. Create a Workflow: “Validate Deal Entry to Prospect” Type: Deal-based Enrollment trigger:
Deal Stage = Prospect
In the workflow:
Use “Check Associated Records” (via filters or if/then branches) to inspect whether:
The associated company has ICP Match = Yes
The associated company has a known owner
The primary contact has a value for Buyer Persona
If the criteria are NOT met:
Set Deal Stage back to the previous one (e.g., “Pre-qualification” or whatever your stage is before "Prospect")
Send internal notification to the deal owner: “This deal was moved to 'Prospect' but doesn't meet entry criteria. Please update the associated company/contact record.”
Hope this helps! Let me know if you have any questions.
Best Practices for Enforcing Entry Criteria into a Deal Stage
SOLVE
Hi @NT_! There is NOT a way to ensure Company data is complete prior to creating a Deal.
However, you may consider auto-creating a Deal when all the Company data is complete!
So for example, the Company has the right ICP info, Outreach Owner = known, Buyer Persona is correct, and your team clicked a custom "Create Deal" company field... using a workflow, once all the criteria is met you can create a new Deal!
Best Practices for Enforcing Entry Criteria into a Deal Stage
SOLVE
Hi Emma,
Thank you for taking the time to elaborate and for creating the helpful video—I really appreciate it.
I like the automation aspect, and we actually already have something similar set up that triggers a new deal whenever a new meeting is booked. However, that setup isn’t perfect.
I have a question regarding this approach: Wouldn’t it only work for companies that don’t already have an existing deal? I assume I’d need to use a filter to ensure there isn’t already an active deal, otherwise it could trigger multiple deals unnecessarily. And if that’s not the case, how would it handle companies with a closed lost deal? Would it immediately create a new deal after it's been closed lost?