ServiceTrade automation · runs weekly
Draft ServiceTrade repair quotes from deficiencies
Technicians record deficiencies on every inspection, and each one that is not quoted is repair revenue that waits for someone in the office to build the quote.
Cotlet does it in your own ServiceTrade account with list_deficiencies, list_service_requests, create_quote and submit_quote, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Can ServiceTrade do this on its own?
ServiceTrade builds quotes from deficiencies inside the app (checked 23 Oct 2026). Its REST API has Create Quote, and the Zapier app has Create Quote and Find Deficiency by Deficiency Number, but nothing lists deficiencies that have no quote and drafts one for each. ServiceTrade has no MCP server for it.
How you do it in ServiceTrade today
- Technicians record findings during mobile inspections in ServiceTrade, and the findings become deficiencies with a severity.
- The office reviews the deficiencies and builds a quote from them with the job details, equipment records, labor and materials.
- Photos go on the quote, which is sent to the customer as an online quote.
- The customer approves online with one click, from the link or from the quotes list in the customer portal.
How to draft ServiceTrade repair quotes from deficiencies
List ServiceTrade deficiencies found this week that are not on a quote yet, with severity inoperable or deficient. For each one, draft a repair quote from its open service request and show me the list before submitting anything. - 01
Find deficiencies without a quote
list_deficiencies runs with quoted set to false and your severities, and follows next_cursor. Deficiencies with the resolution fixed, rejected or invalid are left out.
- 02
Find the repair service
For each deficiency, list_service_requests with its deficiency_id returns the open services at that location. A deficiency with no open service request goes on your list instead of a quote, because a quote needs at least one.
- 03
Draft the quote
create_quote makes a quote in status draft with a name from the asset and the problem, the description from the deficiency and its proposed fix, and the service request ids. A draft reaches no customer.
- 04
Review before sending
The agent shows each draft with its number and waits. Only on your word does it call submit_quote, which moves the quote to submitted and so to the customer.
- 05
Report
You get the quotes drafted, the quotes submitted and the deficiencies that need a service request first.
What you get back
Deficiencies without a quote: 7
Drafted 5 quotes (not submitted):
- Fire pump controller, Harbor Point Mall: inoperable, quote 20418
- Emergency light, Delta Plaza: deficient, quote 20419
Left for you 2: no open service request (Dock door sensor, Pier 9 Warehouse) Other ways to ask
- Draft quotes only for inoperable deficiencies at Harbor Point Mall and submit them right away.
- Every Friday, list deficiencies with resolution out_for_quote that are still not submitted.
- List suggested-severity deficiencies from this month and group them by location, with no quotes yet.
What ServiceTrade allows, and what to know first
- ServiceTrade deficiencies have the severities inoperable, deficient and suggested, and the resolutions new, out_for_quote, notified, out_for_repair, fixed, rejected and invalid.
- A ServiceTrade quote has the statuses draft, new, submitted, accepted, rejected, canceled and pending_sales_tax, and only a draft or new quote can be submitted.
- The services on a quote must belong to the quote's location, so the agent only uses service requests from the deficiency's own location.
- A submitted quote reaches the customer as an online quote with an APPROVE button, and it is listed among the quotes in the customer portal.
create_quote and submit_quote ask for your OK by default. To run it weekly without you, switch confirmation off for those tools in your dashboard.
Sources: ServiceTrade API documentation · ServiceTrade: Job quoting software · ServiceTrade: Client portal software · ServiceTrade triggers and actions on Zapier
Call create_quote from a script
curl -X POST https://cotlet.dev/api/v1/servicetrade/locations/5120/quotes \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Repair: fire pump controller, Harbor Point Mall","description":"Replace the failed pressure switch and retest the fire pump controller.","job_type":"repair","service_request_ids":[77302],"status":"draft"}' {
"quote_id": 20418,
"ref_number": "20418",
"name": "Repair: fire pump controller, Harbor Point Mall",
"status": "draft",
"location": {
"id": 5120,
"name": "Harbor Point Mall"
},
"service_request_ids": [
77302
]
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is servicetrade_write → create_quote. Example data.
Schedule it in n8n, Make, Zapier or cronServiceTrade tools this automation uses
| Tool | Parameters |
|---|---|
| list_deficiencies | severity, status, resolution, location_id, quoted, created_after, cursor |
| list_service_requests | status, job_id, location_id, deficiency_id, cursor |
| create_quote | location_id, name, description, job_type, service_request_ids, status |
| submit_quote | quote_id |
Frequently asked questions
Is it safe to connect ServiceTrade to Cotlet?
Yes. You sign in to ServiceTrade yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get ServiceTrade once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.
Give your agent access to ServiceTrade.
Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with ServiceTrade.