All workflow kits

For owners and sales coordinators

Follow up on open quotes with the right context

A quote can sit unanswered while your team works out who last contacted the customer and whether the terms still apply. This kit checks those supplied facts before offering a draft for review.

Free, stateless starter kit. Real connections and actions require a separately agreed implementation.

The job

When this check is useful

Review a quote when its agreed follow-up interval has elapsed. The free kit checks one supplied record; it does not watch your inbox, read a CRM or run a reminder schedule.

Start with these source facts

quoteId
A short source identifier so your reviewer can locate the original quote. The kit does not use it as instructions or put it in the draft.
status, currency, amountCents
Whether the quote is open, accepted or declined, plus its stated currency and total in integer cents. An unknown amount needs review.
lastContactAt, validUntil, followupAfterDays
Last recorded contact, quote expiry and your explicit interval of 1–30 days. The fictional example uses three days; that is a sample policy, not a CRM setting.
asOf, observedAt
When to evaluate the record and when its source facts were observed, as UTC timestamps. A future snapshot or one older than seven days needs review.

Supported currencies: USD, EUR, GBP, CAD, AUD. Amounts are integer cents; no exchange-rate conversion is performed.

Computed examples

See what passes and what needs review

These are fictional records evaluated at their stated asOf time, not live business data. Results below come from the same rules as the free kit. A ready state permits preparing an unsent draft; it does not authorize an action.

Known source facts

Result: ready

An open, unexpired quote is due for a reviewable follow-up draft.

Follow-up timing
Applied the supplied 3-day sample follow-up policy; this is not a CRM setting or a promise.Source: lastContactAt / followupAfterDays

Evaluated at 2026-10-12T12:00:00Z. Simulation: true. No draft requested; nothing sent or saved.

Inspect the fictional source record
{
  "asOf": "2026-10-12T12:00:00Z",
  "observedAt": "2026-10-12T11:00:00Z",
  "quoteId": "FICTIONAL-Q-1",
  "currency": "USD",
  "amountCents": 125000,
  "status": "open",
  "validUntil": "2026-10-20T12:00:00Z",
  "lastContactAt": "2026-10-07T12:00:00Z",
  "followupAfterDays": 3
}

A source needs review

Result: needs_review

Check the source data before proceeding.

Source review
Quote amount, supported currency (USD/EUR/GBP/CAD/AUD), status, dates and follow-up interval must be known and valid.Source: quote source

Evaluated at 2026-10-12T12:00:00Z. Simulation: true. No draft requested; nothing sent or saved.

Inspect the fictional source record
{
  "asOf": "2026-10-12T12:00:00Z",
  "observedAt": "2026-10-12T11:00:00Z",
  "quoteId": "FICTIONAL-Q-1",
  "currency": "USD",
  "amountCents": null,
  "status": "open",
  "validUntil": "2026-10-20T12:00:00Z",
  "lastContactAt": "2026-10-07T12:00:00Z",
  "followupAfterDays": 3
}

Where the workflow stops

  • Expired terms: confirm a current quote before following up.
  • Contact recorded after the snapshot, or expiry before contact: resolve the conflicting dates.
  • Accepted or declined quote: no follow-up draft. Interval not yet elapsed: no action.

What a useful result must do

  • An open, unexpired quote with known facts and an elapsed interval produces a ready result.
  • Missing amounts and impossible calendar dates produce needs_review and no draft.
  • A reviewer confirms the recipient, last correspondence and current terms before any sending in a separately implemented system.

Check what you already have

Your existing tool may cover this

  • Can your CRM filter open quotes by last contact and expiry without a new integration?
  • Does an existing reminder stop when a quote is accepted or declined?
  • Can the sales owner review a template and record the decision in the current tool?

A scoped implementation would first map the quote record, contact history, ownership and stop conditions. Only then would we decide whether to configure an existing reminder, connect tools or build a small extension.

Run the free kit yourself

Use an AI client that supports local MCP tools and Node.js 20 or later. This pinned command starts the quote-followup kit over standard input/output:

npx -y mainstreet-mcp@0.1.4 kit quote-followup

The two tools analyze a supplied record and prepare an unsent draft. The kit makes no provider calls and does not persist the input. Review your chosen AI client’s data handling before supplying business records; that client may require its own subscription or model charges.

See MCP client setup

A separate implementation

Check fit before connecting your systems

Start with the workflow, current tools and the person who reviews exceptions. We agree the scope and fee in writing before paid work. Connections, sending, record updates, ongoing monitoring and maintenance are outside the free kit and must be scoped explicitly.

Check this workflow’s fit