Skip to main content
Best Practices

Follow up on quotes and manage your pipeline

Start every quote from an opportunity, set expiry and reminder emails, review open quotes each week, and keep pipeline stages in step with your PSA.

Written By Mike Forte

Last updated About 1 hour ago

Every Salesbuildr quote sits on an opportunity. The opportunity is the deal: company, contact, owner, pipeline stage, expected close date, and revenue. The quote is the proposal you send. Follow-up works when those two stay together β€” one deal, one primary quote, dates that expire on purpose, and a pipeline that moves when the quote moves.

This article is for quoters and sales managers. How to assemble a proposal from catalog and templates is in Quoting best practices for new quoters. This one is what to do after the quote exists, and how not to lose the deal in the list.

Start every quote from an opportunity

Do not start a live deal from a blank New Quote on the Quotes list if the opportunity is already in the pipeline. Open the opportunity first, then create the quote there. Company, contact, owner, and stage are already on the record, so the proposal inherits them instead of spawning a second deal.

From the opportunity

  1. Open Opportunities and find the deal (list or swimlane).
  2. Open the opportunity. Confirm company, contact, owner, and pipeline stage.
  3. Click Create quote in the sidebar (Active opportunities only), or New quote in the quotes empty state.
  4. Pick a template, confirm company and currency, and click Create.

Create quote is available only while the opportunity is Active. Lost, closed, implemented, and not-ready-to-buy deals do not show it. You also need quote-editor permission; viewers can open the opportunity and its quotes but will not see the button. If the button is disabled, a Professional Services Automation (PSA) system is not connected yet.

The opportunity you started from is locked on the create dialog. You cannot point that quote at a different deal.

If you press Q or use New Quote from Quotes

Q and New Quote (Dashboard or Quotes list) still create a quote that belongs to an opportunity β€” every quote must. The dialog defaults to Quick quote, which creates a new opportunity with the same name as the quote. That is the right path only when the deal does not exist yet.

For a deal that is already in the pipeline:

  1. Turn Quick quote off.
  2. Choose the existing opportunity in the Opportunity dropdown. The list only includes Active opportunities.
  3. Company and contact come from that opportunity.

Leaving Quick quote on for an existing customer is how you get two opportunities for one conversation, split revenue, and a pipeline that no longer matches the PSA.

You can add more than one quote to the same opportunity. Click the star next to the quote that should be primary. Only the primary quote drives opportunity revenue (when Use revenue/cost of quoted items is on) and automatic stage updates. Detail: Managing Opportunities.

Set expiry dates and reminder emails

An open quote with no expiry date never forces a next step. Set Expires at when you send, and schedule the customer reminder so the quote does not go quiet until it drops off.

Tenant defaults

Admins set the defaults once at Settings β†’ Quotes β†’ Configuration, under Quote extra settings:

  • Default expiration time β€” how long a new send is valid unless the quoter changes it (for example two weeks).
  • Days before expiry to send reminder β€” how far before Expires at the send dialog pre-fills Expiry notification at (for example two days).

Those values apply to new sends. They do not rewrite quotes already waiting for approval.

On each send

When you Send or Mark as sent, the dialog requires Expires at. Expiry notification at sits next to it.

  • Pick an expiry that matches the deal (a hardware quote might be days; a managed-services proposal might be weeks).
  • Leave the reminder date if the default is right, or pick another date that is today or later and on or before Expires at.
  • Clear Expiry notification at if this quote should not email the customer a reminder.

If the default reminder would fall before today (short validity, or a long default reminder window), Salesbuildr leaves Expiry notification at empty instead of filling a past date. Set a reminder yourself, or leave it empty to skip it.

Weekend reminder dates move to the previous Friday at 09:00. Salesbuildr checks for due reminders and reached expiry dates hourly on weekdays. A reminder goes out only after the quote has been sent (or marked as sent), the customer can see it (internal approval is complete), and the quote is still open β€” not approved, declined, or expired.

After send, and when it expires

On a sent quote, Manage Settings still lets you change Expires at and Expiry notification at. Clear the reminder field and save to cancel a reminder that has not gone out yet.

When Expires at is reached, the quote becomes Expired. The opportunity owner is notified. If Quote Stages Map With Opportunity Stages maps Expired to a pipeline stage or status, the primary quote’s expiry can move the opportunity too (for example to a follow-up stage; see the mapping below).

Resend an expired quote to put a new Expires at on it. After resend, set or clear Expiry notification at in Manage Settings if you need a different reminder. Full per-quote steps, including why there is no organization-wide off switch: Managing (or disabling) quote expiry reminder emails.

Expiration times are stored in UTC. If your account timezone is not UTC, the clock time you type can look shifted after save β€” check Expires at on the quote after you send. See Quotes (admin).

A weekly review of open quotes

Use Quotes and Opportunities once a week so drafts, waiting approvals, and expired proposals do not pile up.

On Quotes

Open Quotes. Nothing is filtered by default; the list is every proposal, newest last-updated first.

Work the list in this order:

  1. Status β†’ Waiting approval β€” still with the customer. Each row shows sent date, expected close, and Expires at. The eye icon is how many times the customer opened the proposal. Follow up before expiry: reminder already scheduled, a quote chat message, or a call.
  2. Status β†’ Internal approval β€” stuck inside your team. Filter Approver (or Approver manager) if you are clearing a queue.
  3. Status β†’ Draft β€” never sent. Each row shows created and expected close. Send it, retract the deal, or delete a quote that should not exist.
  4. Status β†’ Expired β€” the customer never approved in time. Resend with a new expiry, or leave it expired. Admins can select expired rows and Archive Selected. Turn on Show Deleted Quotes if you need those rows back in the list.

Useful filters for a manager: Owner, Manager, Company, Opportunity Status, Opportunity Pipeline stage. Sort by Expires at or Sent date when you are hunting what goes stale this week.

On Opportunities

Then open Opportunities and switch to swimlane (pipeline stage columns). Drag only Active cards. Each card shows age, days in stage, and revenue.

Filter Status β†’ Active, then Owner or Expected close date. Cards that have sat in β€œproposal sent” for weeks usually have a quote in Waiting approval or Expired β€” fix the quote, and let stage mapping move the opportunity (next section) instead of dragging the card by hand.

When the deal is dead and no quote is approved, Lose opportunity on the opportunity. Draft quotes are deleted; sent quotes are declined with reason β€œOpportunity lost.” You cannot lose an opportunity that already has an approved quote.

Keep opportunity stages in sync with the PSA

Quote in Salesbuildr. Let the primary quote move the opportunity, and let the opportunity push to the connected PSA (Autotask, ConnectWise, or HaloPSA). Do not treat the PSA quote screen as the system of record, and do not keep a second set of stages in the PSA that nobody mapped.

Map quote status to pipeline stage

Admins configure this at Settings β†’ Opportunities β†’ Settings β†’ Quote Stages Map With Opportunity Stages. For each quote status (Draft, Sent, Approved, Declined, Expired), pick the opportunity pipeline stage and status (Active, Not ready to buy, Lost, Closed, Implemented).

Only the primary quote triggers the mapping. If a row is empty, that quote status does not move the opportunity. When the stage changes, win probability follows the stage’s configured probability unless you typed one on the opportunity in the same save.

Typical mapping:

Quote statusOpportunity stage (example)Opportunity status
DraftQualifyingActive
SentProposal sentActive
ApprovedClosedClosed
DeclinedLostLost
ExpiredFollow up (or your re-engage stage)Active

Map Expired to an active follow-up stage rather than Lost. An expired quote usually means the buyer was slow, not that the deal is dead, and you will often resend it. Use Lose opportunity when the deal is actually over.

Your stage names come from the PSA on first sync (or from Settings β†’ Opportunities β†’ Pipeline stages if you added local ones). PSA-imported stages cannot be renamed in Salesbuildr β€” change them in the PSA, then refresh field lists.

A separate row maps what happens when a fulfillment ticket is created. If the quote has services, that ticket row does not auto-move the stage β€” move those deals yourself, or leave them on the list until implementation is done.

What you do on each deal

  1. Keep one primary quote (the star). Extra options stay on the opportunity without driving the forecast.
  2. Send, approve, decline, retract, or expire in Salesbuildr. The mapping updates the opportunity; Salesbuildr pushes that opportunity to the PSA as it saves.
  3. If you must change stage by hand, edit the opportunity or drag the swimlane card. That write also goes to the PSA. If mapping is on, the next quote-status change can overwrite a hand edit.

What comes back from the PSA

Edits in Salesbuildr go out immediately. What comes back, and when, depends on the PSA:

  • Autotask β€” no opportunity webhooks. Stage, status, probability, expected close, and revenue from Autotask land after the scheduled pull (about 10 minutes), or immediately if you use Import from Autotask / Fetch updates from Autotask on the opportunity. Closed, lost, or deleted Autotask rows can stay Active in Salesbuildr if they fell outside that window β€” pull those rows on demand.
  • ConnectWise β€” opportunity callbacks plus a scheduled pull about every 10 minutes, once statuses are mapped both ways under Settings β†’ Integrations β†’ ConnectWise β†’ Opportunities. The pull waits a few minutes so it does not overwrite a stage Salesbuildr just wrote.
  • HaloPSA β€” ticket webhooks plus a scheduled pull about every 10 minutes, once statuses are mapped under Settings β†’ Integrations β†’ HaloPSA β†’ Opportunities. A stage change in Halo updates the opportunity. It does not approve the quote. Always approve, decline, or send the quote in Salesbuildr.

If a PSA opportunity never appears, the usual skip reasons are a missing company, contact, owner / sales rep, or unmapped stage. Fix those, then import. Checklists: Pipeline & Importing and PSA integration best practices.

See also