Service Fusion automation
Draft a Service Fusion estimate and text it to the customer
The tech leaves the site with prices in a notes app, and the estimate waits in Service Fusion until someone in the office types it up and sends it that evening or the next morning.
Cotlet does it in your own Service Fusion account with list_customers, create_estimate and send_estimate, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Official options
Can Service Fusion do this on its own?
Service Fusion's Open API can create an estimate on the Pro plan but has no call to send it, and the Zapier connection has only a New Estimate trigger (checked 11 Oct 2026). In the app, Estimate Templates prefill the products, services and options of recurring jobs, and the Send button emails or texts the estimate (help center checked 12 Oct 2026). Turning a tech's notes into priced line items is still typed by hand.
By hand
How you do it in Service Fusion today
- Hover over Estimates and select the blue + New Estimate button, or open the customer account and choose +New Estimate or Job > New Estimate.
- Enter the products and services, select Edit to add options such as Good, Better and Best if the customer wants a choice, and select Save Estimate.
- On the estimate, select Send and choose Text Message; the To field shows the primary contact, Other Contacts lists the rest, and the Text an estimate template fills the message.
- Pick a custom document for the online view if Custom Documents are enabled, then select Send.
- Typing up notes after hours delays every quote by a day, and a texted estimate stays in Estimate Requested, so the Estimates Dashboard does not show it as sent.
With an agent
How to draft a Service Fusion estimate and text it to the customer
Prompt
Draft a water heater replacement estimate for Jane Doe from these notes and text it to her: 50 gal gas unit, install, haul away the old tank, $1,890. - 01
Find the customer first
Your agent looks the customer up with list_customers by phone or service address. No match means it stops and asks, because an estimate under a misspelled new account is hard to find later.
- 02
Turn the notes into line items
create_estimate gets each part and labor line from the notes with quantity and price, named the way your price book names them. When the notes mention an alternative the tech did not price, such as a tankless unit, the agent reports it rather than inventing a number.
- 03
Check the draft before it leaves
The agent reads the total back to you. A zero total, a line without a price or a missing mobile number holds the estimate as a draft.
- 04
Text it to the right person
send_estimate goes by text to the primary contact, or to the tenant or spouse your prompt names, with your own text template if you have one. You approve each send unless you switched confirmation off.
- 05
Say what the status will not show
Because a text does not move the estimate to Estimate Provided, the report lists every estimate texted in the run, so your follow-up calls are not based on the dashboard alone.
What you get back
Example data
Estimate #3318 drafted for Jane Doe, 48 Maple Court, Plano
Option 1: 50 gal gas water heater, install and haul-away, $1,890.00
Notes also mention a tankless unit, not priced: add it as Option 2 if you want to offer it
Texted to 555-0142 with your template "Quote ready" at 4:12 pm
Status stays Estimate Requested; Service Fusion sets Estimate Provided only after an email Other ways to ask
- Draft estimates from today's three site-visit notes and text each one, but show me the totals before anything goes out.
- Text estimate 3317 again to the tenant, Mark Lee, instead of the property owner.
- Every evening, find estimates still in Estimate Requested that have line items and text them to the primary contact.
Before you automate it
What Service Fusion allows, and what to know first
- Service Fusion moves an estimate to Estimate Provided automatically only when it is emailed to the primary contact while it is in Estimate Requested; a texted estimate keeps its status.
- The Service Fusion Estimate Accepted status is set automatically only when the customer accepts through the link from the {Estimate:AcceptOnlineLink} tag, which the estimate Communication Template must include.
- When a customer requests a change from an online Service Fusion estimate, the request arrives as an email to the default Outbound Email address.
- Service Fusion SMS consent applies to automated texts only, and the help center states that manual texts can still be sent to a contact whatever the consent status.
send_estimate asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.
Sources: Service Fusion Help: Sending Estimates and Invoices with a Text Message · Service Fusion Help: Automatic Estimate Status Behavior Overview · Service Fusion Help: Estimate Accept Online Link · Service Fusion Help: Customer Messaging Consent Overview
REST
Call send_estimate from a script
curl
curl https://cotlet.dev/api/v1/service-fusion/send_estimate \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"estimate_id":"3318","via":"text","to":"555-0142"}' Example response
{
"estimate_id": "3317",
"sent": true,
"via": "text",
"to": "555-0173",
"template": "Text an estimate"
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is service-fusion_send_estimate. Example data.
Schedule it in n8n, Make, Zapier or cronTools
Service Fusion tools this automation uses
| Tool | Parameters |
|---|---|
| list_customers | query, tags, page |
| create_estimate | customer_name, description, items, note_to_customer |
| send_estimate | estimate_id, via, to, template |
Give your agent access to Service Fusion.
Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Service Fusion.