Workiz automation
Reschedule or reassign a Workiz technician's jobs for a day
A tech calls in sick at 6:30 in the morning with a full day on the Workiz schedule, and the dispatcher has to decide job by job who else can take it and which client gets moved.
Cotlet does it in your own Workiz account with list_jobs, get_schedule, assign_job, reschedule_job and get_job, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Official options
Can Workiz do this on its own?
The Workiz API can update a job's schedule and assignment on the Ultimate plan (checked 11 Oct 2026). In the app, bulk changes on the Jobs page apply one new date or one assignee to every selected job and do not check the other techs' calendars. The Job rescheduled / Client notification automation that texts or emails the client a new time is a beta feature you join through Workiz support (help center checked 12 Oct 2026).
By hand
How you do it in Workiz today
- Open Schedule in Workiz and switch to the Timeline view to see the absent tech's jobs next to everyone else's.
- Drag each job onto another tech's row to reassign it, or to a later slot to reschedule it.
- For many jobs at once, open Jobs, check the boxes and use the bulk Reschedule or reassign change, then reload the page when Workiz asks.
- Add a Time off entry for the tech: drag on the Schedule canvas, select Time off > Continue and fill in the dates.
- Workiz shows a conflict indicator but still accepts a busy tech, and the client hears nothing about the new time unless someone calls.
With an agent
How to reschedule or reassign a Workiz technician's jobs for a day
Prompt
Dana is out sick today. Give her jobs to whoever is free at the same time, move the rest to tomorrow at the same times, and list the clients I need to call. - 01
Pull the absent tech's day
Your agent calls list_jobs for today with that tech's tech_id and leaves out jobs already Done or Canceled, so only visits that still need a person are moved.
- 02
Look for cover first
get_schedule for the whole team shows who has no job and no time off during each window. A job only goes to a tech who is free for the full window. Workiz job skills and service areas are not part of the schedule, so the agent proposes each swap and you approve it.
- 03
Reassign what fits
assign_job with replace set to true hands the job over at the same time. The client keeps the appointment they booked, so nobody needs to call them.
- 04
Move the rest to the next open day
For jobs nobody can cover, get_schedule for the next day checks the original tech's same window. If it is taken, the agent picks the next free window that day and says so. reschedule_job then moves the job, after your OK.
- 05
Hand you the call list
get_job supplies each moved client's phone number, so the report ends with exactly who needs a call and their new time.
What you get back
Example data
Dana R. out today, 5 jobs
Reassigned to Mike R., same time: 2 (9:00 Drain cleaning, 13:00 Faucet repair)
Moved to Tue Oct 13, same time, still with Dana: 2
Moved to Tue Oct 13 at 15:00, 10:00 already taken: 1 (Water heater install, Priya Nair)
Clients to call: Priya Nair (555) 010-7714, Tom Beck (555) 010-3318, Ana Ruiz (555) 010-9020 Other ways to ask
- Mike is out Thursday and Friday: give his jobs to whoever is free and move the rest to Monday.
- Rain day: move every Gutter cleaning job today to the same time tomorrow.
- Before I change anything, show which of Dana's jobs tomorrow someone else could cover.
Before you automate it
What Workiz allows, and what to know first
- Workiz marks a tech with a scheduling conflict or a (Time off) label when you assign a job, but it never blocks the assignment.
- A Time off entry created by an authorized Workiz user skips approval and goes straight onto the schedule; with online booking set to Use tech availability, it also hides that tech from online booking.
- The Workiz Job rescheduled / Client notification rule fires only for jobs that were already scheduled, and with a delay set it sends once, for the latest change.
- Bulk changes on the Workiz Jobs page take a few seconds and ask you to reload the page before the new dates appear.
reschedule_job asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.
Sources: Workiz Help: Making bulk changes to multiple jobs at once · Workiz Help: Sending automated notifications for rescheduled jobs · Workiz Help: Avoiding scheduling conflicts when assigning jobs · Workiz Help: Submitting and managing time off requests
REST
Call reschedule_job from a script
curl
curl https://cotlet.dev/api/v1/workiz/reschedule_job \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"job_id":"3a9d41f2-85c0-4b7e-b6d2-91e7f0a35c48","start":"2026-10-13T09:00:00-07:00","end":"2026-10-13T11:00:00-07:00"}' Example response
{
"job_id": "3a9d41f2-85c0-4b7e-b6d2-91e7f0a35c48",
"status": "Submitted",
"start": "2026-10-13T09:00:00-07:00",
"end": "2026-10-13T11:00:00-07:00",
"previous_start": "2026-10-12T09:00:00-07:00"
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is workiz_reschedule_job. Example data.
Schedule it in n8n, Make, Zapier or cronTools
Workiz tools this automation uses
| Tool | Parameters |
|---|---|
| list_jobs | from, to, status, tech_id, limit, cursor |
| get_schedule | from, to, tech_ids |
| assign_job | job_id, tech_ids, replace |
| reschedule_job | job_id, start, end |
| get_job | job_id |
Frequently asked questions
Does the client get a text when a job moves?
Only if your account has the Job rescheduled / Client notification automation, which Workiz offers in beta through support. Without it Workiz sends nothing, so the agent lists the clients to call.
Give your agent access to Workiz.
Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Workiz.