Sales

View pricing

Where it fits

Your proposal goes quiet the moment it lands.

The proposal is already written. Claude drafted it, or your CPQ exported it, and then it left as an attachment. An attachment cannot tell you anything: who opened it, which section they read twice, whether the name on the thread you have never met ever looked at it. The deal goes quiet at the exact moment the buyer starts reading.

HTMLvault does not replace your CRM. It replaces the attachment. Salesforce is still the record and Outreach still owns the sequence. It takes the proposal those tools already produce and does the two things none of them do: puts it at a URL on your own domain, and reports back the moment somebody reads it, with a name on the open instead of a company domain and a guess.

Nothing changes for the buyer. No viewer to install, no account to create, no login wall between them and the proposal. They click a link on your domain and the page is simply there. And you can still pull it back: expiry on a date you choose, and per-recipient revocation that says nothing to anyone else on the thread.

ONE STEP BETWEEN THE PROPOSAL AND THE PROSPECT

YOUR STACK, UNCHANGEDVAULT ITYOUR BUYERYOUR DATASalesforce, the price book,the approved discountYOUR TOOLSClaude, ChatGPT, your CPQ,already writing proposalsHTMLVAULTa URL on your domain,every open logged by nameYOUR PROSPECTopens a link,never an attachmentRECIPIENT.VIEWED FIRESCALL WHILE IT IS OPEN

How it works

From vault to pipeline signal

Step 1

Generate your link

Vault the HTML your AI assistant built. No dev queue, no hosting ticket. A live link in seconds.

Step 2

Set the terms

Expiry on a date you choose, and a password if the numbers need one. Last quarter’s pricing stops circulating on schedule.

Step 3

Send per-recipient links

Each stakeholder gets their own URL. Revoke access silently when someone leaves the deal.

Step 4

Read the signals

Time on page, scroll depth, and repeat visits tell you which deals are warm, per viewer.

Worked example · A deal with four names on it

One proposal, four recipients, four different stories.

Four people on the thread: the champion, her manager, a security reviewer, and someone from procurement who joined last week. Send one file to all four and every open looks identical, because there is nothing in a PDF to tell them apart.

Publish the proposal once, then mint a URL per person. Same page, four addresses. Every open now carries a label, a visit number, and how far down the page the reader actually got.

By Thursday you are not guessing. The champion read it twice and reached the end. Security opened it once and stopped at the architecture section. Procurement never opened it at all, which is the single most useful thing you learned all week.

  • The second open is the signal. A first open is curiosity. The same person coming back an hour later is intent, and intent has a shelf life.
  • Emails are hashed before storage. You get the label. The address itself never sits in the clear.
  • Revoke one, keep the rest. If procurement drops out, their URL 404s and nobody else on the thread notices.
MINT A TRACKED URL PER RECIPIENT
EVENT LOG7 EVENTS · 3 DAYS
TIMEStateEVENTTOOL / SOURCEDETAIL
TUE09:41HTMLvault stepPublish oncecreate_linkone page, one slug
TUE09:42HTMLvault stepMint four URLscreate_recipient_linkschampion, manager, security, procurement
TUE10:06Signal receivedChampion opensrecipient.viewedvisit 1, read to 94%
TUE10:41Signal receivedChampion returnsrecipient.viewedvisit 2, straight to pricing
WED15:12Signal receivedSecurity opensrecipient.viewedvisit 1, stopped at 38%
THU08:30HTMLvault stepRead the roomget_analytics3 of 4 opened, 1 read twice
THU08:30Signal expectedProcurement, nothingrecipient.viewedno view in three days

Use cases

Built for how deals actually move

  • Quotes that expire with the discount

    Set the pricing page to die at quarter end and the discount conversation ends with it. No stale quote resurfacing in a procurement thread five months later.

    • Auto expiry
    • Password protection
  • The name you never met

    One proposal, four recipient URLs. When someone outside the thread opens the pricing section twice, you know the deal went upstairs before anyone tells you.

    • Recipient tracking
    • Unique-view detection
  • Follow up on what they read

    Scroll depth and time on page, per viewer. Open the call with the section they lingered on instead of the section you wish they had reached.

    • Engagement analytics
    • Scroll depth
  • Links that look like you sent them

    Proposals go out on your own domain, not a short-link host that trips email filters and reads like phishing to whoever runs security.

    • Custom domains
    • Branded subdomain
  • Call while it is still open

    A link.viewed webhook reaches your CRM or Slack the moment they open it. The best minute to call is the one they are still reading in.

    • Webhooks
    • REST API
  • Fix the typo after you hit send

    Edit the HTML behind a published link without changing the URL. The version they open is always the version you meant to send.

    • Edit after publish

What actually changes

Five sentences you stop saying.

“attached is the proposal”
a URL you own, and can switch off
“just circling back on my last email”
a webhook the minute they open it
“Pricing_v4_FINAL.pdf”
one slug, edited in place
“I think procurement has it now”
procurement never opened it
“that quote was from last quarter”
the quote expired with the discount

Your next proposal can report back.

Vault the HTML, send the link, watch the signals.