# Reschedule or reassign a Workiz technician's jobs for a day

> A tech calls in sick: hand their Workiz jobs to free techs at the same time, move the rest to the next open day and list the clients to call.

Source: https://cotlet.dev/integrations/workiz-api-mcp-server/reschedule-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.

[Request access](https://cotlet.dev/app/signup?app=workiz) [All Workiz tools](https://cotlet.dev/integrations/workiz-api-mcp-server)

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

1. Open Schedule in Workiz and switch to the Timeline view to see the absent tech's jobs next to everyone else's.
2. Drag each job onto another tech's row to reassign it, or to a later slot to reschedule it.
3. 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.
4. Add a Time off entry for the tech: drag on the Schedule canvas, select Time off > Continue and fill in the dates.
5. 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.
```

1. 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.
2. 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.
3. 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.
4. 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.
5. 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](https://help.workiz.com/hc/en-us/articles/18054366940177-Making-bulk-changes-to-multiple-jobs-at-once) · [Workiz Help: Sending automated notifications for rescheduled jobs](https://help.workiz.com/hc/en-us/articles/38897470437777-Sending-automated-notifications-for-rescheduled-jobs) · [Workiz Help: Avoiding scheduling conflicts when assigning jobs](https://help.workiz.com/hc/en-us/articles/44450075204369-Avoiding-scheduling-conflicts-when-assigning-jobs) · [Workiz Help: Submitting and managing time off requests](https://help.workiz.com/hc/en-us/articles/33035093567505-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 cron](https://cotlet.dev/integrations/workiz-api-mcp-server#automations)

Tools

## Workiz tools this automation uses

__Cotlet Workiz tools used to reschedule or reassign a Workiz technician's jobs for a day__
| 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 |

[All 15 Workiz tools with descriptions](https://cotlet.dev/integrations/workiz-api-mcp-server#tools)

## 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.

## More Workiz automations

- [Invoice completed Workiz jobs and send the invoices](https://cotlet.dev/integrations/workiz-api-mcp-server/invoice-completed-jobs)
- [Log cash and check payments on Workiz jobs](https://cotlet.dev/integrations/workiz-api-mcp-server/record-job-payments)
- [Book Workiz jobs from new leads](https://cotlet.dev/integrations/workiz-api-mcp-server/book-jobs-from-new-leads)
- [Workiz API and MCP server: every tool](https://cotlet.dev/integrations/workiz-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## 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.

[Request access](https://cotlet.dev/app/signup?app=workiz)
