How do I check if a contact already has an opportunity in a pipeline?
Add a condition from the Opportunities tab inside a Router (or Conditional) step. It answers, at the moment the contact reaches the step, whether they have or do not have an opportunity — in any pipeline, or in the pipeline, stage, status or owner you choose. Use it to avoid creating a second opportunity for someone already in your sales pipeline, or to send a different message to contacts who already closed a deal.
Role: any member with edit access to the workspace.
Before you start
- An automation with the contact in the path (contact, form, purchase, conversation trigger, etc.).
- The pipelines you want to check already created under Opportunities.
Steps
-
On the canvas, click + where the split should happen and choose Router (or Conditional).
-
Click Add condition and, in the left column, open the Opportunities tab.
-
Pick the shortcut closest to your question:
-
Fill in what is still open — for example, the Pipeline and the Stage. The condition can only be published once every criterion is filled in.
-
To invert the question, switch Has an opportunity to Has no opportunity at the top of the condition.
-
To narrow it down, use + Add criterion and combine pipeline, stage, status and owner. Click the X next to a criterion to remove it.
-
Connect each path output to the step that should happen next, including the Otherwise output.
Criteria apply to the same opportunity
When you combine criteria, a single opportunity must meet all of them. "Has a won opportunity in the Sales pipeline" only matches when there is an opportunity in Sales that was won — a won opportunity in another pipeline plus an open one in Sales is not enough.
For "has an opportunity in Sales or in Post-sale", add two conditions to the same path and choose Any of the following options? under the match selector.
Which opportunities count
- Any opportunity the contact is linked to counts, whether they are the primary contact or not.
- Deleted opportunities do not count.
- Has no opportunity in pipeline X also matches contacts with no opportunity at all.
Avoiding duplicate opportunities
A common setup sits right before the step that creates an opportunity:
- A Router with an Already in sales path using Has an opportunity in pipeline →
Sales. - That path continues without creating anything (or moves the existing opportunity).
- The Otherwise output goes to the step that creates the opportunity.
If the pipeline or stage is deleted
The condition stays saved, but the criterion shows as Removed item. Open the condition and pick another pipeline or stage — otherwise the path no longer splits contacts the way you planned.