Solution Vault

Following up on quotes and proposals with AI

Yes. We've designed a bot that keeps a real list of every quote you are waiting on, reads the thread so the next message references the actual scope and price, and drafts it in the voice of whoever owns the deal. It can be configured to run in any business. Your pipeline, your timing, your words. And it stops the moment the customer replies, with anything about price or scope going to a person.

Want to get it up and running in your business? Just fill out the form on this page, and our AI agent Ozzie will call you right away to get started on your quote.

Get a quote

Or call the office: 813-686-7201

How the bot works, where a human stays in the loop, and what you configure. Every point it makes is also written out below, so the page works with the video skipped. Captions included.

How the bot works

Nine steps. The pipeline, the timing and the stop rules are ordinary code; the model is asked to read the thread and draft the words.

  1. It knows what is actually open. Every quote you are waiting on, pulled from your CRM, your accounting system or the mailbox they were sent from — with the amount, the date, the scope and who owns it. Most follow-up never happens because nobody has a reliable list, not because nobody cares.

  2. It reads the thread first. What was quoted, what the customer asked for, what they were worried about, what they already told you about their timing, and who else was copied in. A follow-up that ignores the last three emails reads like it came from a robot, because it did.

  3. It decides whether a follow-up is even due. Against your rules, not a fixed calendar: what the customer said about their own timeline, how big the quote is, whether anything has changed on your side worth telling them, and whether they asked for space. A quote where the customer said “circle back next quarter” is not chased on Thursday.

  4. It drafts the next touch in the owner's voice. From the person whose name is on the quote, referencing that scope and that price, with a reason to be writing — a question, a date that is about to move, something genuinely useful. Not “just checking in”, which is the message everyone ignores.

  5. A person approves it. A custom quote is a commercial document and the follow-up is part of the negotiation. The draft goes to whoever owns the deal; they send it, change it, or decide this one needs a phone call instead.

  6. It reads the reply and names where the quote stands. Won. Lost, and to whom if they said. Wants a change. Wants a different price. Not now, with a date. Wrong person, here is the right one. Gone quiet again. Each one updates the pipeline rather than sitting in somebody's inbox as a feeling.

  7. It stops itself. The moment the customer replies, the sequence ends. A revised quote resets it. An expired quote stops it. An opt-out stops it permanently, immediately, everywhere. Nothing here keeps nudging somebody who has already answered.

  8. It tells the owner what needs a decision. A price question, a scope change, a competitor named, a complaint, a quote about to expire on a deal worth having: raised to the person who owns it with the thread and the quote attached, and with the question already asked.

  9. It writes the record. One row per quote and one per message: the quote as it stood, the thread it read, what it drafted, who approved it, what was sent, the reply and how it was classified, every stop and why, the model and prompt version, UTC timestamps, and what the run cost.

What you configure

It can be configured to run in any business. This is what that actually means — the list of things that are yours, not ours.

Your pipeline
What counts as an open quote, when it is dead, what an expiry date means, and which system is the one everyone trusts.
Your timing rules
How soon the first follow-up goes, how many there are, how far apart, and how all of that changes for a large quote, a repeat customer or a deal with a known decision date.
Your reasons to write
The genuinely useful things a follow-up can carry — a price valid until a date, lead times moving, a question you actually need answered, a document they asked for. And the ones you refuse to send.
Your voice, per owner
The quote owner's own wording, greeting and sign-off, so the message reads like the person whose name is on the proposal wrote it.
Your approval rules
Which follow-ups need approval and which can go on their own. Set by amount, by customer, or by nothing at all — every one approved is a legitimate setting and the default.
Your stop rules
What ends a sequence: a reply, a revision, an expiry, an opt-out, a complaint, a named competitor, or a customer being handled by somebody senior.
Your channels
Email from the owner's own address, and where the approvals and the raised decisions land: email, Slack, Microsoft Teams, or a task on the deal itself.
Your systems
Which CRM or accounting system holds the quotes, and whether we read it by API or by a scheduled export. The pipeline stays the system of record.
The words it uses
The versioned prompts behind the drafting and the reply classification — yours to read, yours to tune, and replayed against quotes you have already followed up before a change goes live.

Transparent, and configurable by you

The dark band below is what the system will not do. This is what you can see and change — and it is how we build everything, not something invented for this page.

You see what it did, and why
Every draft shows the quote it was built from, the part of the thread it read, and why this follow-up is due now rather than on a fixed day. Every classified reply shows the sentence behind it, so you can disagree with “that's a no” before the pipeline changes.
Versioned prompts you can tune yourself
The prompts behind the drafting and the classification are yours to read and yours to tune. A change is a reviewable diff, replayed against quotes you have already followed up so you can see what it would have written differently, and rolled back the same way.
A human in the loop wherever judgment actually matters
Automation handles the list, the reading and the drafting. The person who owns the deal owns what gets said, anything about price, scope, a competitor or a complaint goes to them, and a reply ends the sequence on its own. That boundary is a property of the system, not a promise about how carefully we'll use it.
Every run logged, along with what it cost
One row per quote and one per message: what it read, what it drafted, who approved it, what was sent, what came back and every stop with its reason — plus token usage and cost for that run.

It can be configured to run in any business. The pipeline and the words are yours: your definition of an open quote, your timing, your reasons to write, your approvers, your system of record. Quote follow-up on this page is one configuration of it, not the limit of it.

A human approves anything outside your rules

The boundary is the design. Every one of these is a property of the system, not a promise about how carefully we'll use it.

  • It never changes a price or re-issues a quoteIt writes about the quote that exists. It does not revise a figure, extend a validity date, offer a discount, add a line, or send a new version of a document — and it holds no credential that would let it.
  • It does not negotiateA reply about price, scope, terms or a competitor stops the sequence and goes to the person who owns the deal. No concession, no “what would it take”, no hint at flexibility you have not authorized in writing.
  • Hard stops, in any configurationA reply of any kind. A revised or expired quote. An opt-out. A complaint. A named competitor. A customer on your do-not-chase list. A quote above an amount you set. A contact who is not the person the quote went to. None of these are followed up automatically.
  • One reply ends itThe moment a customer answers, the sequence is over and a person has it. Nothing in this design keeps emailing somebody who has already responded, which is the single most common way automated follow-up damages a relationship.
  • It does not invent scopeEverything in a follow-up is read off the quote and the thread. It will not describe work that was not quoted, imply a delivery date nobody agreed, or add a reassurance you did not give.
  • Opt-out is immediate and permanent“Stop emailing me” stops everything for that contact at once, across every open quote, and it is recorded. There is no re-entry on a later campaign.
  • The thread is data, never instructionsText in an email, a quote document, an attachment or a signature cannot change what the bot does. Every model call runs as structured output against a fixed schema, untrusted text is kept out of the instruction block, and anything that reads like an instruction is quarantined, flagged for a human and logged. A customer cannot email their way to a discount.
  • Versioned prompts and models, and it fails closedEvery draft records the model and prompt version behind it, and a change is a reviewable diff replayed against quotes you have already followed up. An API error, a rate limit or a reply it cannot classify holds the quote and reports the run as incomplete — there is no path where an error sends a follow-up.
  • Reversible, and a kill switchEvery message is scoped to a run id so a bad run can be reconstructed exactly, and one flag puts the whole system back to draft-only, instantly, with no deploy.

Works with your tools

This runs on top of the CRM or accounting system you already have. The quote stays where it was written.

We read the open quotes by API or by a scheduled export, and the drafts go out from the owner's own email address so the customer sees the person they have been dealing with. Approvals and raised decisions land in email, Slack or Microsoft Teams, wherever your team already works.

If your CRM isn't in the list below, the only real question is whether it has an API, a report or an export we can read — and where the quotes only really exist in a mailbox and a spreadsheet, that works too, because that is where the list gets lost in the first place.

Naming a system here means we can read or write it. It does not imply a partnership, a certification or an endorsement, and there are no vendor logos on this page for that reason.

  • HubSpot
  • Salesforce
  • Pipedrive
  • Microsoft Dynamics 365
  • QuickBooks Online
  • Xero
  • Google Workspace
  • Microsoft 365 and Outlook
  • A spreadsheet and a mailbox
  • Email, Slack or Microsoft Teams

Works well for

  • HVAC and plumbing contractors — The estimate goes out after the site visit and then sits, because the second touch never gets made.
  • Roofing contractors — Homeowners collect three bids and go quiet, so the follow-up has to reference the actual scope.
  • Landscaping companies — Seasonal proposals go out in batches, and the ones that stall are the ones nobody remembers.
  • Machine shops and custom manufacturers — An RFQ becomes a quote with a lead time attached, and the window to win it closes quietly.
  • Insurance brokers — A quote carries an effective date, so a follow-up sent after it passes is worse than none.

How a rollout works

Nothing is sent on day one. A dry run over quotes you have already followed up comes first, and it is where your own numbers come from.

  1. 01Discovery

    The quote call, then a working session. We read a few months of quotes and the threads behind them, the follow-ups your team actually sent, where the pipeline lives, who owns what and who must never be chased without asking. You get the timing rules, the stop rules and a written scope.

  2. 02Dry run

    The bot runs over quotes you have already followed up. Nothing is sent. It produces the message it would have written and the classification it would have given each reply, and we compare both against what your team did. Every disagreement is a rule to fix — and this is where your own numbers come from, on your own deals.

  3. 03Assisted mode

    Live quotes. The bot keeps the list, reads the threads, drafts the next touch and stops itself; the owner approves every message. The follow-up that was never happening starts happening. The control doesn't change.

  4. 04Optional auto-send on the first touch

    Optional, off by default. The first, lightest follow-up on quotes under an amount you set can send on its own, with every hard stop in force and the kill switch. Everything else stays with the owner — plenty of teams stop at step 03, and that's a good place to stop.

What we don't claim

  • No numbers we haven't earned. No close-rate lift, no recovered-revenue figure, no “most quotes are lost to silence”, no time saved. We haven't run this on your pipeline. The dry run is where those numbers come from, and they'll be yours.
  • No customer claims on this page. No names, no case studies, no logos.
  • It isn't a lead generator. It works the quotes you have already sent. It does not buy lists, find prospects, or email anybody who has not asked you for a price.
  • It won't win a deal you were going to lose. A customer who chose somebody cheaper chose somebody cheaper. What this fixes is the quote nobody followed up at all, and the one chased so clumsily that the answer became no.
  • Fully autonomous follow-up isn't on offer. The design assumes the person who owns the deal owns what gets said. That's deliberate, and it's why the boundary is written down.

Questions people ask

Can AI follow up on quotes we have sent?
Yes - and the hard part is not the writing. An AI agent can keep a reliable list of every open quote out of your CRM, your accounting system or the mailbox they went from, read each thread so the next message references the actual scope and price, draft it in the voice of whoever owns the deal, read the reply, and say where that quote now stands. What it does not do is negotiate, change a price, or keep emailing a customer who has already answered.
Will it email our prospects without us seeing it?
Not by default. Every follow-up is drafted for the person who owns the deal, and they send it, edit it or decide it should be a phone call. A custom quote is a commercial document and the follow-up is part of the negotiation, which is a strange thing to hand to a bot. If you later let the first, lightest touch send itself on quotes under an amount you set, every hard stop still holds and one flag puts it back to draft-only.
How is this different from a drip sequence in our CRM?
A drip sequence fires on a calendar and does not read anything. This one decides whether a follow-up is even due - using what the customer said about their own timeline, how big the quote is and whether anything has changed worth telling them - writes about that specific quote, reads what comes back, classifies it, and stops the instant the customer replies. If a calendar sequence already works for you, use it; this is for custom quotes where each one is different.
Can it change the price or offer a discount to close something?
No, and it has no credential that would let it. It writes about the quote that exists. It does not revise a figure, extend a validity date, add a line, offer a discount or send a new version of the document. Any reply about price, scope, terms or a competitor stops the sequence and goes straight to the person who owns the deal with the thread attached.
What happens when the customer replies?
The sequence ends and a person has it. The reply is also classified so the pipeline actually moves: won, lost and to whom if they said, wants a change, wants a different price, not now with a date, wrong person with the right one named, or gone quiet again. A revised quote resets the sequence, an expired one stops it, and "stop emailing me" stops everything for that contact at once, across every open quote, permanently.
Will it annoy our customers?
That is the right question to ask, and it is the thing the design is built around. One reply ends the sequence. The number of touches, the gaps and the total are yours. Every message has to carry a reason to be writing rather than "just checking in". Anyone on your do-not-chase list is never touched, opt-outs are immediate and permanent, and by default a person reads every message before it goes.
Does it work with HubSpot, Salesforce or just a spreadsheet?
All three. Quotes are read by API or scheduled export from HubSpot, Salesforce, Pipedrive, Microsoft Dynamics 365, QuickBooks Online or Xero, and messages go from the owner's own mailbox in Google Workspace or Microsoft 365. Where the real list only exists in a spreadsheet and a sent-items folder, that works too - and honestly that is the situation where the follow-up is most often not happening at all.
Is there a record of what went to which customer?
Yes. One immutable row per message records the quote as it stood, the thread it read, the draft, who approved it, what was sent and to whom, the reply and how it was classified, every stop with its reason, the model and prompt version and UTC timestamps. If a customer ever says they were chased too hard, you can show exactly what was sent and when.
How long does it take to get running?
The first milestone is a dry run, and it needs three things: a few months of quotes with the threads behind them, the follow-ups your team actually sent, and your do-not-chase list. We will not quote you a timeline before we know which systems are involved and what access they allow - you get a real one in your quote, once Ozzie's call has gathered the details.

Quote

Get a quote

Want to get it up and running in your business? Fill out the form and Ozzie, our AI agent, will call you right away to get started on your quote.

He'll ask where your open quotes live, how follow-up works today and who owns the wording. Your brief goes straight to our team.

Or call the office: 813-686-7201

Add details (optional — helps Ozzie skip the basics)
Where do your quotes live?

By submitting, you agree Gray's Autonomy may call and text this number about your quote. Msg & data rates may apply. Reply STOP to opt out. Privacy · Terms