ServiceTrade logo ServiceTrade automation · runs daily

Release ServiceTrade appointments to technicians

ServiceTrade schedulers hold a draft of the schedule until it is right, and someone has to check it and release it before the technicians start tomorrow.

Cotlet does it in your own ServiceTrade account with list_appointments, get_job and update_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 releases appointments from its own scheduling screens (checked 23 Oct 2026). The REST API has a released field on appointments and Zapier has Update Appointment with a Released field, but ServiceTrade has no MCP server, and neither checks the day before releasing it.

How you do it in ServiceTrade today

  1. The scheduler builds the day on a draft of the schedule in Dispatching.
  2. Before release the scheduler checks that every appointment has a technician and a window, and that the right services are on it.
  3. The scheduler then releases the schedule to the field technicians.
  4. Technicians see the updated schedule in the technician mobile app, so a release that is forgotten means a technician without a day.

How to release ServiceTrade appointments to technicians

Prompt

List tomorrow's ServiceTrade appointments that are scheduled but not released, check each has a technician, and release the ones that do.
  1. 01

    Read the day

    list_appointments runs with status scheduled, released set to false and the window of tomorrow, and follows next_cursor.

  2. 02

    Check each appointment

    An appointment with no technician, or without a window, is not released and goes on your list. For the rest, get_job reads the job so the agent can see its status first; a canceled job is skipped.

  3. 03

    Catch double bookings

    The agent compares the windows of each technician and holds back any pair that overlap, naming both appointments.

  4. 04

    Release

    update_appointment sets released to true, one call per appointment. The technician list is not sent, because ServiceTrade replaces the whole list on an update. Each call waits for your OK by default.

  5. 05

    Report

    You get the appointments released and the ones held back with the reason.

What you get back

Example data

Tomorrow's unreleased appointments: 14
Released 11
Held back 3:
- Fire pump test, Harbor Point Mall: no technician
- Sprinkler inspection, Delta Plaza: Dana Ruiz overlaps with another appointment
- Backflow test, Pier 9 Warehouse: job canceled

Other ways to ask

  • Release only the appointments of Marcus Hill for the whole week.
  • Every afternoon at 4, release tomorrow's appointments that have a technician and tell me about the rest.
  • List unreleased appointments for today and release nothing.

What ServiceTrade allows, and what to know first

  • A ServiceTrade appointment has a released flag, and an unreleased appointment is still a draft that field technicians have not been given.
  • When you update the technicians or services of a ServiceTrade appointment, the list you send replaces the existing one, so release calls leave them out.
  • An appointment moves through scheduled, completed, no_show, canceled_by_vendor and canceled_by_customer, and an unscheduled appointment has no window.
  • ServiceTrade shows technicians their schedule changes immediately in the technician mobile app once they are released.

update_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: Service dispatch software · ServiceTrade triggers and actions on Zapier

Call update_appointment from a script

curl

curl -X PATCH https://cotlet.dev/api/v1/servicetrade/appointments/90417 \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"released":true}'

Example response

{
  "appointment_id": 90417,
  "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": true
}

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is servicetrade_write → update_appointment. Example data.

Schedule it in n8n, Make, Zapier or cron

ServiceTrade tools this automation uses

Cotlet ServiceTrade tools used to release ServiceTrade appointments to technicians
Tool Parameters
list_appointments status, job_id, technician_id, window_from, window_to, released, cursor
get_job job_id
update_appointment appointment_id, status, window_start, window_end, technician_ids, released
All 14 ServiceTrade tools with descriptions

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.