runbookify
← All plans
Sales & CRM / Quotes & Proposals

Quote Expiration & Follow-up Tracker

Build an internal tool that watches the validity date on every quote you've sent, nudges the owner to follow up before it lapses, and flags expired quotes for re-quote or close - so deals never die quietly. The AI drafts the customer follow-up; a person approves before anything sends.

BeginnerAn afternoonBuilds onNext.js (App Router) on VercelSupabase (Postgres, Storage, Auth + RLS)Resend (follow-up emails, expiry-digest alerts)
What you'll build

A login-protected quote tracker: import your sent quotes, compute days-to-expiry for each, nudge the owner as a quote nears its validity date, let the rep disposition each one (follow up, extend with a reason, re-quote, or mark lost), draft a customer follow-up email that a person approves before it sends via Resend, and export a status CSV plus a stale-quote report - with value-at-risk sorting so the biggest deals get chased first, and a guard so the same quote is never double-nudged.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.

Before you start

  • A free Vercel account
  • A free Supabase account
  • A free Resend account (and a sender address you can use)
  • A quotes export (quote #, customer, amount, sent date, validity/expiry date, status, owner)
  • Your follow-up cadence rules (how many days before expiry to nudge, and how often)

The problem this kills

You sent the quote. The customer said "let me think about it." And then... nothing. The quote sits in your sent folder with a validity date nobody is watching. Three weeks later the prices you quoted are stale, the deal has gone cold, and when you finally remember to check, the quote already expired - so now it's an awkward "actually those numbers have changed" conversation instead of a clean close.

Most sales desks track this in their head, in a CRM nobody updates, or in a spreadsheet that's accurate for about a day after someone touches it. The result is predictable: quotes lapse without anyone noticing, big-ticket proposals get the same attention as tiny ones, two reps chase the same customer, and the same quote gets a "just following up!" email three times because nobody logged the first two. Real revenue evaporates not because the customer said no, but because nobody followed up before the clock ran out.

This tool turns your pile of outstanding quotes into a watched, prioritized list - it knows exactly how many days each quote has left, nudges the owner before it dies, lets the rep decide what to do, and drafts the follow-up email for a human to approve and send. No quote lapses silently again.

What you'll build

A small internal web app, just for your team, that:

  • Imports your sent quotes from a CSV (quote #, customer, amount, sent date, validity/expiry date, status, owner).
  • Computes days-to-expiry for every open quote and surfaces the ones about to lapse.
  • Nudges the owner as a quote nears its validity date, on your own cadence - and never double-nudges the same quote.
  • Sorts the worklist by value-at-risk so the biggest deals about to expire rise to the top.
  • Lets the rep disposition each quote - follow up, extend validity (with a reason), re-quote, or mark lost - so the list stays honest.
  • Drafts a personalized customer follow-up email for any quote, in your wording, with the quote number, amount, and expiry date.
  • Sends every follow-up through Resend - but only after a person reviews and approves it.
  • Produces a status CSV export and a stale-quote report of everything that lapsed without action.

What's inside the Implementation Plan

The plan is a single markdown file you paste into Claude Code (a free AI coding agent). It walks the agent through building the whole tool, step by step, each step ending with a ready-to-paste prompt.

The most important part: the plan opens by interviewing you about your business. Before it writes a single line, the agent asks how you send and track quotes today, what CRM or quoting system they live in, the real column names in your export, what "expired" actually means for you and whether you allow extensions, how many days before expiry you want the first nudge and how often to repeat it, how you measure value-at-risk, and your messiest edge cases - quotes with no expiry date, re-quotes, multi-quote deals, quotes already won. It reads a short tailored spec back to you, you confirm it, and only then does it build - so you get a tracker shaped to how your team actually sells, not a generic template you have to fight.

Inside you'll find:

  • The discovery interview and how the agent turns your answers into the data model, the days-to-expiry math, and your nudge cadence.
  • The full build: database, login, CSV import with duplicate guards, the expiry engine, owner nudges, the disposition workflow, the follow-up email drafting, the approve-then-send gate, and the reports.
  • The hard human approval gate, the one-open-follow-up-per-quote rule, the anti-double-nudge guard, and value-at-risk prioritization.
  • Verification steps so you can prove it works, and the CSV-export fallback so the tool is fully usable today even before you connect it to your CRM.

The governance it includes (this is the point)

This isn't a toy. The plan builds in the controls a real sales operation needs:

  • Login so only your team can see or touch anything.
  • Row-level security so people only ever see the quotes, customers, and follow-ups that belong to your organization.
  • A complete audit trail - every import, nudge, disposition, draft, approval, and send logged with who and when.
  • A hard human-in-the-loop gate - the AI drafts the follow-up email and proposes the action, but a real person reviews and approves before anything is sent or any quote is marked lost.
  • Duplicate guards - dedupe on quote number, one open follow-up record per quote, and an anti-double-nudge rule so the same quote can't be chased twice on the same cadence.

Who it's for

Sales reps, sales ops, account managers, and ops/BPM folks sitting on a pile of sent quotes with no system telling them which ones are about to die. If you've ever lost a deal because a quote quietly expired - or sent the same "just following up" three times - this is for you. You don't need to write code. You need your quotes export, your follow-up cadence, and an afternoon.

You've got this - paste the first prompt and let the agent interview you.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.