A quote goes cold when days pass without a response from the customer, when it is left without a dated next step, or when it nears its expiration without any conversation. To reactivate it in time, those signals have to show up on their own in your CRM and trigger a follow-up with a specific reason, not a "did you get a chance to look at it?".
In B2B sales in Latin America, whether it's industrial supplies, machinery, or wholesale distribution, the deal almost always stalls in the same place: after the quote is sent. The customer asked for it, received it, and stopped replying. Nobody said no, but the opportunity stays open with a close date nobody believes in anymore.
This guide is about the process: which signals to watch, what to configure in Salesforce or Oracle, what to write to the customer, and how to know whether it works. How an AI agent handles it, with its cadence and templates, is covered in quote follow-up over WhatsApp.
Why does a quote the customer asked for go cold?
There is almost never a single reason. When you review the opportunities that were lost with "no response", three causes show up, and they combine:
Late follow-up: the sales rep sends the quote and writes again when they remember. According to Salesforce's State of Sales (2026), 60% of a sales rep's week goes to tasks that aren't selling, and last week's quote is the first thing to fall off the agenda.
Incomplete data: the opportunity doesn't say who decides, when the offer expires, or what the next step is. Without that data, nobody knows which one is at risk.
Signals nobody sees: the customer changed contacts, asked for the price of a single item, or read the message and didn't reply. All of that happens on the sales rep's phone, not in the CRM.
The third cause weighs more than it seems. According to McKinsey (B2B Pulse, 2024), a B2B customer uses an average of 10 interaction channels over the course of a purchase. If the CRM only records what someone enters by hand, an opportunity can look stalled even though a conversation is going on, or look alive when the customer has already decided.
The signals that a quote is cooling off
A cold quote doesn't announce itself. What you can do is define what counts as a risk signal, make it visible in the CRM, and set how often it gets reviewed. This table is a starting point; adjust the days to your sales cycle and deal size.
Signal | What you see in the CRM | What to do | How often to review it |
|---|---|---|---|
Silence after sending | More days without a customer response than is normal for their cycle | Follow up with a specific question about quantities, lead time, or payment terms | Every day |
Empty or overdue next step | The opportunity has no next step, or its date has already passed | Have the sales rep define it or close the opportunity | Every day |
Expiration approaching, no conversation | The offer expires in two or three days and there has been no response | Flag the date and offer to adjust the quote | Every day |
A single contact | The opportunity has only one contact, and none with a decision-making role | Ask who else is involved and offer a summary to circulate | Every week |
Close date that keeps moving | The history shows the close date was pushed back two or more times | Review with the sales rep whether the opportunity is still alive | Every week |
Change in tone | Increasingly short replies, a price request for a single item, or a new contact asking the same thing | Ask openly whether something doesn't work for them | When it appears |
A signal is not a verdict: a customer who is slow may be waiting for purchasing to approve, and that silence is not the same as that of someone who has already chosen another supplier.
Also, without a record of the conversations, the CRM signals lie. If the sale's WhatsApp lives on each sales rep's phone, the days-without-activity field counts days that actually had conversations. That is why the WhatsApp integration with Salesforce comes first: it leaves a summary of each conversation in the record's activity.
What to configure in Salesforce or Oracle so no quote is left without a next step
The signals only show up if the CRM has the data. These five configurations don't require a big project:
Stages with exit criteria: a quote sent stage separate from negotiation, and a written rule for what has to happen to move from one to the other. If each sales rep uses the stages their own way, the days per stage mean nothing.
Required fields: when moving to quote sent, the opportunity needs an amount, an offer expiration, the decision-making contact, and a next step. In Salesforce this is enforced with a validation rule that doesn't let you save if any is missing.
Next step with a date: "call next week" written in free text can't be filtered. A date field can, and it lets you list every opportunity with an overdue next step.
Days without activity: a calculated field with the days since the last recorded activity, which feeds views and reports.
Loss reason: a closed list (price, lead time, competition, postponed purchase, no response) that is required when marking an opportunity as lost. Without it, there is no way to learn why quotes go cold.
With that foundation, alerts practically build themselves. In Salesforce, a scheduled Flow can check open quotes every morning and create a task for the sales rep when one passes the threshold of days without activity or is about to expire. If your team lives in Slack, the notice can go there, as we explained in Slack and Salesforce. In Oracle Sales, the sales application of Oracle CX, the same thing is configured with Application Composer: fields, validation rules, and flows that create tasks or send notices.
One caution: don't turn every signal into an alert. A sales rep who gets twenty notices a day stops reading them. It works better to have a daily view of at-risk quotes, sorted by amount, and alerts only for what is urgent, such as an approaching expiration or large accounts.
Is it worth tracking quotes in Excel?
It works as a starting point, especially if you have no record today. It has three limits that show up fast: it doesn't alert you, each sales rep ends up with their own version, and it can't see what happens in WhatsApp or email.
If you start there, build the spreadsheet with the columns you will later need in the CRM, so the move is direct: quote number, customer, contact, and who decides; amount, main products, and expiration; send date, date of the customer's last message, and days without a response, calculated with a formula; next step with its date; and outcome, with the reason if it was lost.
The day the spreadsheet has more open quotes than anyone can review in ten minutes, it's time to move it to the CRM. In Salesforce, each quote can live as its own record linked to the opportunity, with its expiration and its status.
A follow-up cadence that doesn't sound like collections
The most common mistake is the message that only asks whether the customer saw the quote. It adds nothing and, when repeated, sounds like someone demanding a debt. The rule that works is that every message brings something new: a resolved question, an alternative, a date.
A typical cadence for an offer valid for two weeks has four moments: the send, a first touch two or three business days later, a notice before expiration, and a close when it expires. The exact days, the templates, and their category with Meta are on the quote follow-up page. For the process, three channel rules matter:
24-hour window: as long as the customer has written within the last 24 hours, you can reply with free text; after that, only with a template approved by Meta (Meta for Developers, 2026).
Consent: to message them first, the customer must have agreed to receive messages from you, and the best time to ask is in the quote conversation itself.
Polite close: when the cadence ends with no response, you close with one last message and record the reason. Pushing beyond that wears down the relationship and lowers the quality of your number.
Follow-up messages for each situation
These examples are written for WhatsApp. What goes in square brackets comes from the CRM. If the message is sent after the 24 hours have passed, it has to be an approved template with those variables.
Situation | Example message |
|---|---|
When sending | Hi [name], I'm sharing quote [number] for [product]. It's valid until [date]. If it helps, I can summarize it in three lines so you can pass it to purchasing. |
Comparing options | [name], so you can compare on equal terms: our price includes [freight, installation, or warranty]. If another quote lists that separately, I can help you add it up. |
Depends on someone else | Want me to put together a one-page summary with price, delivery time, and payment terms for you to present? Who else is involved in the decision? |
The lead time doesn't work for them | I checked stock: we can deliver [quantity] on [date] and the rest in [lead time]. Would a split delivery work for you? |
Before expiration | Quote [number] expires on [date]. If you need more time or want to change quantities, let me know and I'll update it. |
Close | [name], I don't want to flood you with messages, so I'm closing quote [number] for now. If you tell me what weighed on the decision, it helps me quote you better next time. |
Expired offer, weeks later | Hi [name], a month ago we quoted you [product]. Is the project still on? If so, I'll update the price and lead time. |
What they have in common: every message can be answered in one line. A closed question or a concrete proposal gets more replies than a "looking forward to hearing from you", and any reply tells the sales rep what stage the opportunity is really in.
How to measure whether follow-up works
Before changing anything, take a snapshot of the last eight to twelve weeks: that is your baseline. Four indicators are enough, and all of them come from the CRM:
Days in quote: the average between sending and moving to negotiation, won, or lost. If it rises, something gets stuck after quoting.
Quotes without activity: what share of open quotes has gone more days without a response than its threshold. It's the earliest indicator.
Current next step: what share of open quotes has a future date entered. It measures the discipline of the process, not the customer's.
Close and reasons: the win rate of quotes and the distribution of why they are lost.
Together they explain pipeline velocity: how many days it takes a quote to become an order and how many are lost along the way. It's worth looking at them by sales rep and by customer type, because an average across the whole team hides where the problem is.
If building that report every week takes you hours, Metrix answers on WhatsApp with the numbers from your CRM, sends the scheduled report, and alerts you when a metric crosses the threshold you defined.
Where an AI agent comes in
Everything above can be done by people, and it makes sense to start that way to understand the process. The limit shows up with volume: when each sales rep has dozens of open quotes, the cadence holds for the first few weeks and then falls apart.
That's where Sellium comes in. It follows up on each quote on time over WhatsApp with the context of what was quoted, answers the questions your business rules allow it to resolve, logs every touch and the status in Salesforce, with the reason if the quote is lost, and notifies the sales rep when there is something to close. If you still build quotes by hand, the step before this is automated quotes over WhatsApp.
Negotiation, price exceptions, and large accounts stay in the sales rep's hands, who steps in with the full conversation thanks to the handoff with context. If you want to see what follow-up on your quotes would look like with your own data, book a demo.















