What Your Agents Can Do With Workiz

Once Workiz is connected, your KarmaFlow agents can work your field-service business the way a good dispatcher does: look up a caller's history, say when a technician is free, book the appointment, move it when plans change, and capture the lead when the answer is "not yet".

This article covers what the agents can do, what they deliberately cannot, and how to build from a simple use case to an ambitious one. If you have not connected Workiz yet, start with Workiz Integration.

What agents can do

Thirteen tools are available. They appear in the Workiz (Field Service) group when you configure an agent, and only in workspaces where Workiz is connected.

Group Tools What it means for a conversation
Look things up workiz_find_jobs, workiz_find_leads, workiz_get_job "I can see your appointment on Tuesday at two." Search by phone, email, name, address or date range.
Check availability workiz_get_availability, workiz_list_team "We could do Thursday morning or Friday afternoon." Open slots computed from your real schedule and your business hours.
Book and change workiz_book_job, workiz_reschedule_job, workiz_assign_tech, workiz_update_job_status Create the job, move it, put a named technician on it, mark it in progress or done.
Capture demand workiz_create_lead, workiz_convert_lead, workiz_mark_lead_lost Take the enquiry now, turn it into a job when it firms up, close it honestly when it does not.
Take payment workiz_add_payment Record a cash, credit or cheque payment against a job.

Every one works on every channel — voice, chat, SMS, email strategies and task agents — because they share one implementation. An agent that can book on the phone can book over SMS without any extra setup.

How the answers stay accurate

Workiz has no availability API, so KarmaFlow keeps a local mirror and computes availability itself. Three channels keep that mirror true, and each carries something the others cannot:

flowchart LR
  W[Workiz Automations<br/>webhooks] -->|"changes as they happen<br/>invoices + estimates"| M[(KarmaFlow mirror)]
  C[Calendar Sync feed<br/>iCal] -->|"tasks + events"| M
  R[Developer API<br/>REST, on demand] -->|"jobs, leads, schedule<br/>read at the moment of answering"| M
  M --> A[Agents answer, and book]

Nothing polls on a timer. An agent refreshes the schedule at the moment it is about to reason about it, and keeps whatever it fetched. Answers are current because they are fetched to answer, not because a background job ran five minutes ago.

That has one consequence worth knowing: a brand-new workspace starts with an empty mirror and fills as agents use it. The first lookup for a given customer is the one that fetches their history.


Use cases, from simple to ambitious

1 · Answer "when can you come?"

The smallest useful thing, and often the highest value. A caller asks for availability; the agent checks the real schedule and offers times that are genuinely open.

Needs: business hours mirrored (step 4 of setup). Nothing else.

2 · Recognise a returning customer

A caller phones about "my appointment". The agent looks them up by the number they are calling from and answers from their actual record — date, time, job type, address — instead of asking them to repeat it.

Needs: nothing beyond a connected account. The lookup fetches their history on demand.

3 · Capture the lead you would otherwise lose

Out of hours, or while everyone is on a job, the agent takes the enquiry: name, number, what they need, where. It lands in Workiz as a lead, ready for the morning.

This is usually where a field-service business sees value first, because the alternative is a voicemail nobody returns.

4 · Book the job end to end

The agent offers slots, the caller picks one, the agent books it — and the job appears in Workiz with the caller's details, the job type, and a source stamp identifying it as agent-booked.

Needs: business hours mirrored. Strongly recommended: the Calendar Sync feed, so the agent can see tasks and events that occupy technician calendars.

5 · Handle the change of plan

"Something's come up, can we move it to Friday?" The agent finds the job, checks Friday, moves it, and confirms. Rescheduling correctly excludes the job being moved from its own conflict check, so an appointment can always be moved into a slot it already occupies.

6 · Close the loop after the visit

A task agent chases leads that have gone quiet, converts the ones that firm up into jobs, and marks the rest lost so the pipeline reflects reality. An SMS agent confirms tomorrow's appointments. A voice agent records payment when the customer pays over the phone.

7 · The ambitious version

Compose the above into one agent that runs your phone line after hours:

  1. Answers, recognises the caller from their number, and greets them by name.
  2. Understands the request and checks whether it is something you serve.
  3. Offers real slots, books one, and reads the confirmation back.
  4. If nothing suits, captures a lead rather than losing the call.
  5. Sends an SMS confirmation.
  6. Escalates to a human for anything unusual — and every record it created links back to the exact conversation that produced it, so the morning's dispatcher can listen to the call that made the booking.

The point is not that the agent is clever. It is that the same connector serves every step, so the capability grows without new integration work.


What agents cannot do

These are Workiz platform limits, not KarmaFlow choices. Design around them rather than being surprised by them.

Limitation What it means in practice
Nothing can be deleted in Workiz A job, lead or payment created by mistake is permanent. It can be cancelled or rescheduled, never removed.
Payments cannot be undone No API can void or correct a payment, and Workiz cannot reverse one at all after 60 days. Agents must confirm the amount with the customer before recording it.
Invoices and estimates only arrive by webhook There is no way to fetch them afterwards. Anything raised before you configure the automations is never captured.
Tasks and events only arrive by calendar feed They occupy technician calendars but are invisible to every other channel. Without the feed, availability is incomplete.
Subcontractors are not in the calendar feed Workiz excludes them, so their commitments are invisible even with the feed connected. If you dispatch to subcontractors, treat availability as more approximate.
Recurring series cannot be managed A single occurrence can be moved or cancelled like any job, but agents cannot see that it belongs to a series, and cannot create or change the recurrence.
Technicians are assigned by name Workiz has no id-based assignment, so two active technicians with the same name cannot be told apart. The agent refuses rather than guessing.
Scheduling settings do not sync Workiz exposes no API for them. If you change your availability in Workiz, change it in KarmaFlow too, or agents will offer times you no longer serve.
"Require approval" bookings are invisible If your Workiz online-booking portal is set to Require approval, those bookings sit in the Workiz Message Center, which no integration can read. Set the portal to Create job or Create lead so agents can see them.

What protects you

The connector is deliberately careful where mistakes are expensive.

Turning the tools on for an agent

Connecting Workiz makes the tools available; each agent still chooses which to use.

  1. Open the agent you want to give access to.
  2. Find the Enabled Tools section.
  3. Tick the tools you want from the Workiz (Field Service) group.
  4. Save.

Give an agent the smallest set that does its job. A booking agent rarely needs workiz_add_payment; a payment-taking agent rarely needs workiz_mark_lead_lost. Fewer tools makes an agent's behaviour easier to predict and to explain.

Related

Sign in to KarmaFlow