A prospect who views your proposal three times over two weeks is interested. A prospect who views it twice in fifteen minutes is deciding. Those are two completely different signals, and they call for two completely different responses.
The first is worth a check-in email. The second is worth picking up the phone right now.
I build product at Portant, and one of the patterns I keep seeing in teams that close faster is this: they don't just track whether a document has been viewed. They track how quickly the views stack up. That speed, what I think of as a buyer interest spike, tells you something that raw view count never will. It tells you the buyer is actively working your deal right now, not tomorrow, not next week.
This article walks through what a buyer interest spike actually looks like, why it matters, how to build a HubSpot workflow that catches it, and what to do (and not do) when the alert fires.
Why velocity matters more than volume
In B2B sales, engagement volume is useful but it's noisy. A prospect might open your proposal six times across a month because they keep losing the link. That tells you very little about where they are in their decision.
Velocity is different. Two or more views packed into a short window, say an hour, carries a specific meaning. Something is happening on the buyer's side right now. Maybe they're in a meeting and pulled your proposal up on a screen. Maybe an internal champion just forwarded it to someone with signing authority. Maybe a procurement team is comparing your document side by side with a competitor's.
All of these are moments where your deal is actively in play. And every one of them is time-sensitive. The buyer's attention is on your deal for a compressed period, and when that window closes, their focus moves to something else. Tomorrow morning, they'll be back in their own inbox with their own priorities.
The sales teams that win disproportionately during these moments aren't better closers. They're faster responders. They have a system that surfaces the signal while it's still fresh, so the rep can make a call when the buyer is already thinking about the deal.
How this differs from a cumulative view threshold
If you've read our article on setting up a three-view hot prospect alert, you might wonder why you need a separate workflow. The distinction matters.
A cumulative threshold, like alerting at three total views, catches sustained interest. It tells you the prospect has come back to your document multiple times, which is a solid buying signal on its own. That workflow is great for identifying deals that are warming up over days or weeks.
A spike workflow catches urgency. It does not care whether the total view count is two or twelve. It cares about the concentration. Two views in one hour is a fundamentally different event than two views over two weeks.
Think of it this way. The cumulative alert is your "this deal is heating up, follow up soon" signal. The spike alert is your "someone is in a meeting with your proposal on the screen, call them before they leave the room" signal.
Both belong in your workflow library. They just serve different moments in the buying process, and they should trigger different levels of response urgency.
What rapid views actually look like
Before building anything, it helps to understand the real-world scenarios that produce a spike. Here are the three most common ones I see across teams using Portant with HubSpot.
The decision meeting. A prospect is in a room (or a Zoom) with two or three stakeholders. They open your proposal on a shared screen, scroll through pricing, flip back to the scope section, then jump to terms. The document gets opened and re-opened as the conversation moves. This is the strongest buying signal you can get from document analytics because it means your deal is literally on the table.
The internal champion sharing. Your primary contact forwards the document link to someone new, maybe their VP or their CFO. That person opens it. Your contact opens it again five minutes later to reference the same section during a Slack thread. You see two or three views in quick succession from what is really a handoff to a decision maker.
The comparison shopper. The prospect has your proposal in one tab and a competitor's in another. They're switching back and forth, comparing pricing, scope, and terms. Each switch registers as a view. This is the scenario where speed of response matters most, because the buyer is literally making a choice between you and someone else right now.
In all three cases, the window is short. Thirty minutes to two hours. After that, the meeting ends, the Slack thread moves on, and the browser tabs close. The spike is over.
The Portant properties that make this possible
When Portant creates a document from a HubSpot deal, it saves that document as its own record inside HubSpot. This is the Document Object, and it carries properties that update automatically as the buyer interacts with the file.
For a spike workflow, you need two properties working together:
- Number of Times Viewed: the running total of how many times the shared document link has been opened
- Date Last Viewed: the timestamp of the most recent open
The combination is what creates the spike detection. Number of Times Viewed tells you the count went up. Date Last Viewed tells you it happened recently. Together, they answer the question: "Did this document get opened multiple times in a short window?"
Two other properties are useful for context in the alert itself:
- Document Status: where the document sits in its lifecycle (created, sent, viewed, signed)
- Document Link: the shareable URL so the rep can see exactly what the buyer is looking at
Because Portant is a HubSpot Certified App, these properties behave like native HubSpot fields. They show up in the workflow builder, in lists, and in reports without any custom API work. You can read more about how they function as triggers in the Portant documentation on triggering HubSpot workflows.
Building the workflow step by step
This takes about ten minutes if Portant is already installed in your HubSpot portal.
Step 1: Create a deal-based workflow
In HubSpot, go to Automation > Workflows and choose Deal-based. The Document Object lives on the deal record, so deal-based is the right scope. It also gives you access to deal context like name, amount, and stage, which you'll want in the alert message.
Step 2: Set the enrollment trigger
This is where the spike detection happens. You need two conditions joined by AND:
- Portant > Number of Times Viewed is greater than or equal to 2
- Portant > Date Last Viewed is within the last 1 hour
The first condition confirms that views have happened. The second confirms they happened recently. Together, they filter for the specific pattern you care about: repeated engagement within a compressed window.
Set re-enrollment to off for now. You can turn it on later if you want the alert to fire again on subsequent spikes, but start simple. One alert per spike is enough to learn whether the workflow is producing useful signals.
Tip: If you already have the three-view cumulative alert from this article, keep both workflows active. They catch different signals. The cumulative alert might fire on a Monday after three views spread across a week. The spike alert might fire on a Wednesday when two views land in twenty minutes. Both are worth acting on, just with different urgency.
Step 3: Add a high-priority Slack alert
For a spike, Slack is the right channel. Email is too slow. By the time a rep notices an email notification, the buyer's meeting might already be over.
Use the HubSpot Slack integration to send a message to the deal owner. Structure the alert like this:
Active buyer: engage now
[Contact name] has viewed the [Deal name] proposal [Number of Times Viewed] times. Last viewed: [Date Last Viewed].
Document: [Document Link]
The phrase "Active buyer: engage now" does two things. It separates this alert from every other Slack notification the rep gets during the day. And it communicates the appropriate urgency: this is not a "follow up when you get a chance" message. This is a "stop what you're doing and call" message.
Step 4: Add a backup HubSpot task
Not every rep will be watching Slack at the exact right moment. Add a task creation action as a safety net. Set the subject to something like "Urgent: proposal spike, call [Contact name]" and assign it to the deal owner with a due date of today. Include the deal name, contact name, document link, and view count in the task body.
The task ensures the signal doesn't vanish if the rep is in a meeting when the Slack alert fires. When they clear their task queue, the spike follow-up will be there.
What to say when you call during a spike
The hardest part of this workflow isn't the technical setup. It's what the rep says when they pick up the phone. Get the tone wrong and you sound like you're surveilling the buyer. Get it right and you sound like the most helpful person they talked to that day.
Never open with "I saw you were looking at the proposal." It doesn't matter that you know. It matters that you showed up at the right time with something useful.
Here are three openers that work well:
- "Hi [Name], I wanted to make sure you had everything you needed on the proposal. If anything needs adjusting, I can update it right now."
- "Hey [Name], just following up on the [Deal name] proposal. Any questions from your team I can help with?"
- "Hi [Name], I had a few minutes and wanted to check in on the proposal. If your team is reviewing it, I'm happy to jump on a quick call to walk through any sections."
All three share the same structure. Lead with value. Offer to help. Keep it short. The rep should have the proposal open on their own screen so they can reference specific sections if the buyer asks.
The goal is to be useful during the buyer's decision window, not to close the deal in one call. If the prospect says "actually, we're comparing you to [Competitor]," the rep now has the most valuable piece of competitive intelligence they could ask for, and they got it because they called at the right time.
When not to act on a spike
Not every spike is a buying signal. False positives exist, and acting on them can waste rep time or annoy the buyer. Here are the cases where I'd suppress or ignore the alert.
Internal testing. If your team previews documents before sending them to prospects, those views register. Add a workflow filter that excludes deals in a testing pipeline stage, or exclude deals owned by specific internal users. This one filter alone eliminates the most common source of false positives.
Deals already in active negotiation. If the rep spoke with the buyer an hour ago and the buyer is now reviewing the updated proposal, a "call them now" alert is redundant. The rep already knows the deal is active. A simple workflow filter on deal stage can suppress alerts for deals past a certain point, like "contract sent" or "in negotiation."
Known sequential review processes. Some enterprise buyers have structured procurement workflows where legal, finance, and the business sponsor each review the document in sequence. This can produce three or four views in an hour without any urgency. If you know a deal is in this kind of review cycle, the spike is expected, not exceptional. The rep should note this on the deal record so the team doesn't treat routine reviews as buying signals.
Low-value deals below your calling threshold. If you sell both self-serve plans and enterprise contracts, a spike on a $200 deal probably doesn't justify a phone call. Add a minimum deal amount filter to keep the workflow focused on deals where a real-time call is worth the rep's time.
Tuning the workflow over time
Start with the configuration above: two views within one hour, Slack alert, backup task. Run it for two weeks. Then ask your reps three questions.
- How many alerts led to a useful conversation?
- How many were false positives?
- Did you ever get an alert and feel like the window had already closed?
If most alerts are useful, leave the settings alone. If false positives are high, tighten the filters: raise the view count to three, narrow the time window to thirty minutes, or add stage and amount filters. If reps feel like they're always too late, the problem might not be the workflow. It might be that the Slack channel is too noisy or the rep didn't see it in time. Consider a dedicated channel for buyer alerts, separate from general team chatter.
The teams I see getting the most from this workflow treat it as a living system, not a set-and-forget automation. The right thresholds depend on your sales cycle length, average deal size, and how many documents you send. The workflow gives you the infrastructure. The tuning makes it yours.
If you're using Portant workflows to generate proposals and contracts from HubSpot deals, the spike alert layers on top of what you already have. The document generation handles the "send the right file at the right time" part. The spike alert handles the "know when the buyer is paying attention" part. Together, they close the gap between sending a proposal and knowing when to follow up.
Frequently asked questions
How is a buyer interest spike different from a three-view alert?
A three-view alert fires when total views reach a threshold, regardless of timing. A buyer interest spike workflow fires when two or more views happen within one hour. The first measures cumulative interest over days or weeks. The second measures urgency in the moment. Both are useful. They catch different signals.
Can I use this workflow for documents other than proposals?
Yes. The Portant Document Object properties work on any document type Portant generates, including quotes, contracts, and statements of work. I'd focus the spike workflow on documents that carry real buying signal, like proposals and contracts. A spike on a receipt or a certificate probably doesn't need a phone call.
What if the spike is caused by internal testing?
Add a workflow filter that excludes deals in a testing pipeline stage or deals owned by specific users. You can also set a minimum deal amount to filter out test records. This single adjustment eliminates the most common source of false positives.
Should I use Slack or email for the alert?
Slack, every time. The whole point of a spike alert is urgency. Email is too easy to miss when the window is measured in minutes. If your team doesn't use Slack, a HubSpot in-app notification or a high-priority task with a same-day due date is the next best option. The goal is to reach the rep within minutes, not hours.
What if I get too many false positives?
Tighten your filters. Raise the view count from two to three. Narrow the time window from one hour to thirty minutes. Add conditions based on deal stage or deal amount. Start loose and tighten based on what your reps report over the first two weeks. The right sensitivity depends on your sales cycle and deal volume.