HubSpot can do this on its own and it is worth building before considering buying anything. Fifteen minutes.
One check first, to save you the trouble: workflows need Professional or above. They do not exist on Free or Starter. If that is you, skip to the end, where there is an alternative that does work.
The mistake to avoid before you start
Almost every tutorial on this uses the Last activity date field. That is the problem.
Last activity date means when something was last logged on this record. It does not mean when the deal moved. Two different things:
- A rep leaves a note on Tuesday. The record looks alive. The client has not answered in six weeks.
- Another rep talks to their client every other day from their phone, logs nothing, and the record looks dead.
Build the alert on that field and it will warn you about the second case and not the first. And the first is the one that wrecks a forecast.
Use Date entered <stage>. HubSpot writes it on its own every time a deal changes stage, with no dependency on anybody logging anything. It measures what you want to measure: how long the deal has been where it is.
Building the workflow
1. Automation → Workflows → Create workflow → From scratch → Deal-based.
2. Set the enrolment trigger. Click the trigger and add two conditions with AND:
Deal stageis any of→ tick the open stages you want to watch. Usually from the second one on: the first is normally the inbox and fills itself.Date entered <the stage you are watching>more than21days ago.
That 21 is not a magic number. Set it against your real cycle: if you sell in six weeks, three in the same box is already odd. If you sell in six months, three weeks is nothing.
3. Turn on re-enrolment. It is a separate setting on the enrolment tab and it is off by default. Without it a deal enrols once in its life and never warns again, however long it then sits.
4. Add the action. Three options here, and they change the outcome quite a bit:
- Create task, assigned to the
Deal owner. The best one if you want somebody to do something. It shows up in that person's task list rather than in an email that gets archived. - Send internal email notification, to whoever runs the pipeline. Useful for the head of sales, terrible for the rep: a weekly email with fifteen alerts gets ignored by the third.
- Slack notification, if you have it connected. The most read, and the fastest to burn out if the threshold is wrong.
5. Before turning it on, look at how many it affects. HubSpot shows you how many deals would enrol right now. If it is eighty, the threshold is wrong: nobody will act on eighty alerts and the workflow becomes noise in week one. Raise the days until the list fits in a meeting.
What you have got
An alert that fires when a deal has sat too long in its stage, measured with the CRM's own clock rather than anybody's memory.
That is more than most teams have, and it is good.
And where it falls short
The workflow watches the stage. The stage is typed by your team.
A deal can have spent three weeks in "Negotiation" because it genuinely is in negotiation and things are slow. Or because the client said no by email a month ago, nobody logged it, and the record froze on the last known truth.
To the workflow those look identical, because both are "21 days in the same stage". Telling them apart means checking whether there has actually been a conversation, and there the CRM has a limit that is not a matter of configuration.
We measured a freshly created HubSpot portal: out of the box, with no Sales extension installed, not one email was logged. And nothing at all is ever logged from somebody who is not on file as a contact, by construction.
So the alert is measuring the movement of the record, which is the best a CRM can measure, and not the movement of the client.
Cross-checking the two is what CERUNA does: it reads the headers of your team's email and calendar, compares them against what the CRM has logged, and flags where they disagree. It does not compete with this workflow, it feeds it: it writes its verdict onto the deal itself so your own automations can fire on it.
If you are on Free or Starter
No workflows, but not nothing:
- Build the saved view. Deals → filter by
Date entered <stage>more thanX days ago, and save it with a name. Same list, without the alert. - Schedule the report. Reports can be emailed on a schedule. Monday at eight with that list does 80% of the workflow's job.
- And give it an owner. The difference between a view that works and one that does not is somebody having it open in the Monday meeting.
When the list gets too long for a meeting, you will know whether the higher plan is worth it. And for reference: what each pipeline-hygiene indicator measures and how to check whether your forecast holds.