ServiceTrade automation · runs daily
Schedule unscheduled ServiceTrade jobs with AI
Every morning a ServiceTrade dispatcher has a queue of jobs with no appointment, and each one needs a technician, a time window and a check that nobody is double-booked.
Cotlet does it in your own ServiceTrade account with list_jobs, list_technicians, list_appointments, get_job and create_appointment, 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 schedules in its own dispatch and schedule screens, and its Smart Assistants can recommend technicians and times for a scheduler to consider (checked 23 Oct 2026). Its REST API has an appointment endpoint and Zapier has Create Appointment, but ServiceTrade has no MCP server, so an agent cannot read the queue and book the appointments without code you write.
How you do it in ServiceTrade today
- Customer requests, from the service portal or by phone, land in the ServiceTrade account as work that still needs an appointment.
- The dispatcher opens Dispatching, where the map-based scheduler shows technician schedules and the unscheduled work.
- For each job the dispatcher picks a technician and a time window, working on a draft of the schedule.
- When the draft looks right, the dispatcher releases it to field technicians, who see it in the technician mobile app.
How to schedule unscheduled ServiceTrade jobs with AI
List ServiceTrade jobs with status Unscheduled, find a free technician for each on Monday morning, and create an appointment for them as a draft I can release later. - 01
Read the queue
The agent calls list_jobs with status new, which ServiceTrade shows as Unscheduled, and follows next_cursor to the end. It keeps jobs due soonest first, using the due date the tool returns.
- 02
See who is free
list_technicians gives names and ids, and list_appointments for the target window shows who already has an appointment then. Technicians with an overlapping appointment are skipped. The tools return no skills or certifications, so your prompt says who may take which job type.
- 03
Check the job again
Right before booking, get_job reads the job again. If another dispatcher has added an appointment in the meantime, the agent logs the job as already handled and leaves it alone.
- 04
Create a draft appointment
create_appointment sets the technician and the window with released set to false, so no technician is notified yet. Each call waits for your OK by default.
- 05
Report what is left
Jobs that no technician can take in the window stay unscheduled, each with the reason, so you can decide by hand.
What you get back
Unscheduled jobs: 9
Booked 6 as drafts for Monday (not released):
- Fire pump test, Harbor Point Mall: Marcus Hill 8:00-10:00
- Sprinkler inspection, Delta Plaza: Dana Ruiz 8:00-11:00
Left for you 3:
- No technician free before Wednesday: 2
- Another dispatcher booked it: 1 Other ways to ask
- Book every unscheduled emergency_service_call for today with the nearest free technician and tell me which ones had nobody.
- Spread this week's planned_maintenance jobs across Marcus and Dana, no more than 3 appointments a day each.
- Show me which technician has no appointment on Thursday, and book nothing.
- Every evening, list jobs due within 3 days that still have no appointment.
What ServiceTrade allows, and what to know first
- ServiceTrade jobs have the statuses new, scheduled, canceled, bidding, completed, pending_invoice, sending_invoice, invoiced and closed, and a job with status new is shown as Unscheduled.
- A ServiceTrade appointment has the statuses scheduled, unscheduled, canceled_by_vendor, canceled_by_customer, completed and no_show.
- An appointment carries the services of its job that you choose; with none chosen it is created without services.
- ServiceTrade lets a scheduler work on a draft of the schedule and release it to field technicians when it is final.
create_appointment asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.
Sources: ServiceTrade API documentation · ServiceTrade: Field service scheduling software · ServiceTrade: Client portal software
Call create_appointment from a script
curl -X POST https://cotlet.dev/api/v1/servicetrade/jobs/48213/appointments \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"technician_ids":[3301],"window_start":"2026-10-26T08:00:00-04:00","window_end":"2026-10-26T10:00:00-04:00","released":false}' {
"appointment_id": 90417,
"job_id": 48213,
"status": "scheduled",
"window_start": "2026-10-26T08:00:00-04:00",
"window_end": "2026-10-26T10:00:00-04:00",
"technicians": [
{
"id": 3301,
"name": "Marcus Hill"
}
],
"released": false
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is servicetrade_write → create_appointment. Example data.
Schedule it in n8n, Make, Zapier or cronServiceTrade tools this automation uses
| Tool | Parameters |
|---|---|
| list_jobs | status, location_id, customer_id, technician_id, due_by_before, cursor |
| list_technicians | search |
| list_appointments | status, job_id, technician_id, window_from, window_to, released, cursor |
| get_job | job_id |
| create_appointment | job_id, technician_ids, window_start, window_end, service_request_ids, released |
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.