How to Automate Quote Approvals
You send a quote. Then you wait — a call, a reply-all email, a sticky note on someone’s desk — before anyone updates the work order to say the customer said yes. WOStatusAction closes that gap: it’s a button you drop right into your quote email that moves the work order to whatever status you choose, the moment your customer clicks Approve and confirms. No login, no phone tag, no manual update.
This walks through setting it up end to end, and covers every option the button supports.
How it works
Your quote document template renders as an HTML email. The Approve button's link is built in automatically — nothing for you to trigger by hand.
Their browser opens a confirmation page — the one you designed — showing the quote one more time and a button to confirm.
The work order status moves automatically — no login, no manual update, and a note is left on the work order recording how it happened.
Two pieces make this work: the confirmation page your customer lands on (built once, in Administration), and the Approve button in your quote email (built once, in your quote template). Set up both, and every quote you send from then on carries it.
Step 1: Build the confirmation page
Before you touch your quote template, build the page your customer sees after they click Approve. In BigWave, go to Administration → Document Templates → HTML Snippets and create a new one.
Give it a short, memorable Token — this is the name you’ll reference from your quote template in Step 2. We’ll use APPROVEQUOTE.
For the content, write whatever reassures your customer before they commit — a line reminding them what they’re approving, and a clearly styled button:
<p>You're about to approve this quote. Click below to confirm.</p>
<a href="[WOStatusAction status='QUOTE APPROVED']"
style="background:#16a34a;color:#fff;padding:12px 28px;border-radius:6px;text-decoration:none;display:inline-block">
Yes, Approve This Quote
</a>
Notice this button only needs status — no snippet. That’s because it already lives on the confirmation page; there’s nothing further to show once they click it. snippet only comes into play on the button that gets emailed out, which brings us to Step 2.
Want a Reject option too? Add a second button right below the first, pointed at whatever status you use for a declined quote (e.g.
status='QUOTE REJECTED'), styled differently so the two are easy to tell apart. Each button works independently — the customer picks one, and only that one applies.
Step 2: Add the Approve button to your quote email template
Now open your quote’s HTML template — the same document template you already use to lay out and brand your quotes — and drop the button in wherever makes sense (near the total, or right in the cover message):
<a href="[WOStatusAction status='QUOTE APPROVED' snippet='APPROVEQUOTE']"
style="background:#16a34a;color:#fff;padding:12px 28px;border-radius:6px;text-decoration:none;display:inline-block">
Approve This Quote
</a>
Save it, and every quote sent from that template now carries a working Approve button.
The parameters
| Parameter | What it does |
|---|---|
status | The status name to move the work order to (e.g. QUOTE APPROVED). Must match a status name that exists on that work order’s project — spelling matters, but case doesn’t. |
snippet | The Token of the HTML Snippet (from Step 1) to show your customer as the confirmation page. Any button that goes out in an email needs a snippet — without one, your customer lands on a blank page after clicking. |
Use single quotes around the value (status='QUOTE APPROVED') since the token sits inside a double-quoted href="…" — that’s true anywhere you use this button, quote or otherwise.
A few things worth knowing
- The link is single-use. Once your customer confirms, the button is spent — clicking it again just shows a “you already confirmed this” message. If a quote goes to more than one person, the first to confirm wins.
- Links expire after 30 days. After that, the page tells them it’s expired and to reach out to you for a fresh one.
- No BigWave login required. Your customer clicks, confirms, and they’re done — nothing to sign into.
- It’s a no-op until the quote is actually sent. Previewing your template never triggers anything, so you can safely preview and tweak the layout as many times as you like.
This same button works anywhere BigWave sends an HTML email — alerts, reminders, and invoices, not just quotes. If you haven’t already, it’s worth reading through our series on HTML email templates to see everything else you can do with field codes, repeating line items, and conditional text in the same templates.