Blog
/
Product

Pull stale open quotes in one chat turn

·
2
min read

Every morning someone asks chat which open quotes need a nudge. The model picks a different CRM filter, a different export, a different meaning of “last activity.” You get a different list.

That job is not a conversation. It is a fixed pull: same columns, same aging rule, same owners — so you can chase the overdue ones before lunch.

What breaks when the list is improvised

Open quotes go stale quietly. A next call date slips. The PDF on the deal is not the one the customer saw. Two people follow up on the same row, or nobody does. Finance thinks the pipeline is fuller than it is because nobody closed the silent ones.

Ops teams already know this pattern. A stale quote rate is just the share of open quotes with no meaningful activity past a threshold you define — not a vibe check of “hot vs cold.”

The job: one tool, one morning list

Build a single tool — call it list_stale_open_quotes — that always returns the same fields:

Wire it to the systems you already use: CRM open-quote view, the sheet that tracks expiry, the Drive folder for PDFs. Lock the inputs. The assistant should not invent a new filter path each run.

How you use it in chat

In ChatGPT, Claude, or Cursor, type something short: “Pull stale open quotes.” The tool returns the pack. You pick who gets a nudge, who needs a revised scope, and which rows to mark lost or expired. You still write the email. The tool only stops the scavenger hunt.

How to verify it worked

Run the tool twice the same morning. Same rows, same columns. Move one next-action date in the CRM and run again — that row should flip to overdue (or clear) on the next pull. If the second run invents new columns or drops owners, the tool is still a prompt in disguise.

On Smia you design that small tool as a graph, host it on a server URL, and call it from the chat you already use. Keep the surface narrow: list stale quotes, maybe mark a close reason — not “do anything in the CRM.”