workiz
Manage Workiz jobs and leads: create, update, assign team members and convert leads to jobs.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"workiz": {
"url": "https://workiz.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://workiz.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (19)
🟢workiz_list_jobs(start_date, offset, records, only_open, status)
List jobs, most recently scheduled first (sorted by JobDateTime, descending). Filter by start date, open-only, and status; page with offset/records (max 100). Without start_date Workiz returns the last 14 days. Workiz: GET /job/all/.
Eingabe-Schema
{
"type": "object",
"properties": {
"start_date": {
"description": "Return records from this date (yyyy-MM-dd) until today. For jobs, Workiz defaults to the last 14 days when omitted.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"offset": {
"description": "Record offset for paging (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"records": {
"description": "Number of records to return, 1-100 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"only_open": {
"description": "Only open records, excluding Done and Canceled statuses (Workiz default: true).",
"type": "boolean"
},
"status": {
"description": "Only these statuses, e.g. [\"Submitted\", \"In progress\"].",
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢workiz_get_job(uuid)
Fetch one job by UUID: schedule, status, client contact and address, totals and amount due, notes, tags and assigned team. Workiz: GET /job/get/{UUID}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"minLength": 1,
"description": "The job's UUID (e.g. XYZ56X)."
}
},
"required": [
"uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢workiz_list_leads(start_date, offset, records, only_open, status)
List leads, most recent first (sorted by LeadDateTime, descending). Filter by start date, open-only, and status; page with offset/records (max 100). Workiz: GET /lead/all/.
Eingabe-Schema
{
"type": "object",
"properties": {
"start_date": {
"description": "Return records from this date (yyyy-MM-dd) until today. For jobs, Workiz defaults to the last 14 days when omitted.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"offset": {
"description": "Record offset for paging (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"records": {
"description": "Number of records to return, 1-100 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"only_open": {
"description": "Only open records, excluding Done and Canceled statuses (Workiz default: true).",
"type": "boolean"
},
"status": {
"description": "Only these statuses, e.g. [\"Submitted\", \"In progress\"].",
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢workiz_get_lead(uuid)
Fetch one lead by UUID: schedule, status, client contact and address, source, notes and assigned team. Workiz: GET /lead/get/{UUID}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"minLength": 1,
"description": "The lead's UUID (e.g. XYZ56X)."
}
},
"required": [
"uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢workiz_list_team
List the account's active team members: id, name, role, whether they are a field tech, email, service areas and skills. Use the name to assign people to jobs or leads. Workiz: GET /team/all/.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢workiz_get_team_member(user_id)
Fetch one team member by user id: name, role, field-tech flag, email, service areas, skills and active status. Workiz: GET /team/get/{USER_ID}.
Eingabe-Schema
{
"type": "object",
"properties": {
"user_id": {
"type": "string",
"minLength": 1,
"description": "The user's id, from workiz_list_team."
}
},
"required": [
"user_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢workiz_list_time_off(all)
List FUTURE time off (start, end, userName — 'Entire Business' for company-wide closures). Set all=true to include every user and company time off. Useful before scheduling. Workiz: GET /TimeOff/get/.
Eingabe-Schema
{
"type": "object",
"properties": {
"all": {
"description": "Include all users' and company time off (Workiz default: false).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢workiz_get_user_time_off(user_name)
List one team member's FUTURE time off, by their name. Workiz: GET /TimeOff/get/{USER_NAME}.
Eingabe-Schema
{
"type": "object",
"properties": {
"user_name": {
"type": "string",
"minLength": 1,
"description": "The team member's name as Workiz shows it, e.g. Joe Acme."
}
},
"required": [
"user_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴workiz_create_job(JobDateTime, JobEndDateTime, ClientId, FirstName, LastName, ...)
WRITE: create a new job (schedule, client contact and address, type, source, notes). Returns the new job's UUID, ClientId and app link. Workiz: POST /job/create/.
Eingabe-Schema
{
"type": "object",
"properties": {
"JobDateTime": {
"description": "Scheduled start. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
"type": "string"
},
"JobEndDateTime": {
"description": "Scheduled end. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
"type": "string"
},
"ClientId": {
"description": "Existing Workiz client id to attach this to.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"FirstName": {
"description": "Client first name.",
"type": "string"
},
"LastName": {
"description": "Client last name.",
"type": "string"
},
"Company": {
"description": "Client company name.",
"type": "string"
},
"Phone": {
"description": "Primary phone, digits only, e.g. 6195555555.",
"type": "string"
},
"PhoneExt": {
"description": "Primary phone extension.",
"type": "string"
},
"SecondPhone": {
"description": "Secondary phone.",
"type": "string"
},
"SecondPhoneExt": {
"description": "Secondary phone extension.",
"type": "string"
},
"Email": {
"description": "Client email.",
"type": "string"
},
"Address": {
"description": "Street address, e.g. 123 W Main Street.",
"type": "string"
},
"Unit": {
"description": "Unit / apartment.",
"type": "string"
},
"City": {
"description": "City.",
"type": "string"
},
"State": {
"description": "State, e.g. CA.",
"type": "string"
},
"PostalCode": {
"description": "Postal / ZIP code.",
"type": "string"
},
"Country": {
"description": "Country code, e.g. US.",
"type": "string"
},
"JobType": {
"description": "Job type, e.g. Repair.",
"type": "string"
},
"JobSource": {
"description": "Lead/job source, e.g. Google.",
"type": "string"
},
"Timezone": {
"description": "Timezone, e.g. US/Pacific.",
"type": "string"
},
"ServiceArea": {
"description": "Service area, e.g. metro1.",
"type": "string"
},
"CreatedBy": {
"description": "Name recorded as the creator.",
"type": "string"
},
"ReferralCompany": {
"description": "Referral company, e.g. Thumbtack.",
"type": "string"
},
"JobNotes": {
"description": "Internal job notes.",
"type": "string"
},
"Created": {
"description": "Creation timestamp to record. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴workiz_update_job(UUID, Status, SubStatus, JobDateTime, JobEndDateTime, ...)
WRITE: update fields on an existing job — status/sub-status, reschedule (JobDateTime/JobEndDateTime), contact, address, type, source, notes, tags. Only the fields you pass are sent. Workiz: POST /job/update/.
Eingabe-Schema
{
"type": "object",
"properties": {
"UUID": {
"type": "string",
"minLength": 1,
"description": "The job's UUID (e.g. XYZ56X)."
},
"Status": {
"description": "New job status, e.g. \"In progress\".",
"type": "string"
},
"SubStatus": {
"description": "New job sub-status.",
"type": "string"
},
"JobDateTime": {
"description": "New scheduled start. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
"type": "string"
},
"JobEndDateTime": {
"description": "New scheduled end. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
"type": "string"
},
"ClientId": {
"description": "Existing Workiz client id to attach this to.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"FirstName": {
"description": "Client first name.",
"type": "string"
},
"LastName": {
"description": "Client last name.",
"type": "string"
},
"Company": {
"description": "Client company name.",
"type": "string"
},
"Phone": {
"description": "Primary phone, digits only, e.g. 6195555555.",
"type": "string"
},
"PhoneExt": {
"description": "Primary phone extension.",
"type": "string"
},
"SecondPhone": {
"description": "Secondary phone.",
"type": "string"
},
"SecondPhoneExt": {
"description": "Secondary phone extension.",
"type": "string"
},
"Email": {
"description": "Client email.",
"type": "string"
},
"Address": {
"description": "Street address, e.g. 123 W Main Street.",
"type": "string"
},
"Unit": {
"description": "Unit / apartment.",
"type": "string"
},
"City": {
"description": "City.",
"type": "string"
},
"State": {
"description": "State, e.g. CA.",
"type": "string"
},
"PostalCode": {
"description": "Postal / ZIP code.",
"type": "string"
},
"Country": {
"description": "Country code, e.g. US.",
"type": "string"
},
"JobType": {
"description": "Job type, e.g. Repair.",
"type": "string"
},
"JobSource": {
"description": "Lead/job source, e.g. Google.",
"type": "string"
},
"Timezone": {
"description": "Timezone, e.g. US/Pacific.",
"type": "string"
},
"ServiceArea": {
"description": "Service area, e.g. metro1.",
"type": "string"
},
"CreatedBy": {
"description": "Name recorded as the creator.",
"type": "string"
},
"JobNotes": {
"description": "Internal job notes.",
"type": "string"
},
"Tags": {
"description": "Job tags, e.g. [\"estimate\", \"callback\"].",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"UUID"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴workiz_assign_job(UUID, User)
WRITE: assign a team member (by name) to a job. Reversible with workiz_unassign_job. Workiz: POST /job/assign/.
Eingabe-Schema
{
"type": "object",
"properties": {
"UUID": {
"type": "string",
"minLength": 1,
"description": "The job's UUID (e.g. XYZ56X)."
},
"User": {
"type": "string",
"minLength": 1,
"description": "The team member's NAME exactly as Workiz shows it (e.g. Alex Wilson) — see workiz_list_team."
}
},
"required": [
"UUID",
"User"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴workiz_unassign_job(UUID, User)
WRITE: remove a team member (by name) from a job. Reversible with workiz_assign_job. Workiz: POST /job/unassign/.
Eingabe-Schema
{
"type": "object",
"properties": {
"UUID": {
"type": "string",
"minLength": 1,
"description": "The job's UUID (e.g. XYZ56X)."
},
"User": {
"type": "string",
"minLength": 1,
"description": "The team member's NAME exactly as Workiz shows it (e.g. Alex Wilson) — see workiz_list_team."
}
},
"required": [
"UUID",
"User"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴workiz_create_lead(LeadDateTime, LeadEndDateTime, ClientId, FirstName, LastName, ...)
WRITE: create a new lead (client contact and address, requested time, job type, source, notes). Returns the new lead's UUID, ClientId and app link. Workiz: POST /lead/create/.
Eingabe-Schema
{
"type": "object",
"properties": {
"LeadDateTime": {
"description": "Scheduled start of the lead appointment. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
"type": "string"
},
"LeadEndDateTime": {
"description": "Scheduled end of the lead appointment. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
"type": "string"
},
"ClientId": {
"description": "Existing Workiz client id to attach this to.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"FirstName": {
"description": "Client first name.",
"type": "string"
},
"LastName": {
"description": "Client last name.",
"type": "string"
},
"Company": {
"description": "Client company name.",
"type": "string"
},
"Phone": {
"description": "Primary phone, digits only, e.g. 6195555555.",
"type": "string"
},
"PhoneExt": {
"description": "Primary phone extension.",
"type": "string"
},
"SecondPhone": {
"description": "Secondary phone.",
"type": "string"
},
"SecondPhoneExt": {
"description": "Secondary phone extension.",
"type": "string"
},
"Email": {
"description": "Client email.",
"type": "string"
},
"Address": {
"description": "Street address, e.g. 123 W Main Street.",
"type": "string"
},
"Unit": {
"description": "Unit / apartment.",
"type": "string"
},
"City": {
"description": "City.",
"type": "string"
},
"State": {
"description": "State, e.g. CA.",
"type": "string"
},
"PostalCode": {
"description": "Postal / ZIP code.",
"type": "string"
},
"Country": {
"description": "Country code, e.g. US.",
"type": "string"
},
"JobType": {
"description": "Job type, e.g. Repair.",
"type": "string"
},
"JobSource": {
"description": "Lead/job source, e.g. Google.",
"type": "string"
},
"Timezone": {
"description": "Timezone, e.g. US/Pacific.",
"type": "string"
},
"ServiceArea": {
"description": "Service area, e.g. metro1.",
"type": "string"
},
"CreatedBy": {
"description": "Name recorded as the creator.",
"type": "string"
},
"ReferralCompany": {
"description": "Referral company, e.g. Thumbtack.",
"type": "string"
},
"LeadNotes": {
"description": "Internal lead notes.",
"type": "string"
},
"Created": {
"description": "Creation timestamp to record. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴workiz_update_lead(UUID, Status, LeadDateTime, LeadEndDateTime, ClientId, ...)
WRITE: update fields on an existing lead — status, schedule, contact, address, type, source, notes, tags. Only the fields you pass are sent. Workiz: POST /lead/update/.
Eingabe-Schema
{
"type": "object",
"properties": {
"UUID": {
"type": "string",
"minLength": 1,
"description": "The lead's UUID (e.g. XYZ56X)."
},
"Status": {
"description": "New lead status, e.g. \"In progress\".",
"type": "string"
},
"LeadDateTime": {
"description": "New scheduled start. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
"type": "string"
},
"LeadEndDateTime": {
"description": "New scheduled end. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
"type": "string"
},
"ClientId": {
"description": "Existing Workiz client id to attach this to.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"FirstName": {
"description": "Client first name.",
"type": "string"
},
"LastName": {
"description": "Client last name.",
"type": "string"
},
"Company": {
"description": "Client company name.",
"type": "string"
},
"Phone": {
"description": "Primary phone, digits only, e.g. 6195555555.",
"type": "string"
},
"PhoneExt": {
"description": "Primary phone extension.",
"type": "string"
},
"SecondPhone": {
"description": "Secondary phone.",
"type": "string"
},
"SecondPhoneExt": {
"description": "Secondary phone extension.",
"type": "string"
},
"Email": {
"description": "Client email.",
"type": "string"
},
"Address": {
"description": "Street address, e.g. 123 W Main Street.",
"type": "string"
},
"Unit": {
"description": "Unit / apartment.",
"type": "string"
},
"City": {
"description": "City.",
"type": "string"
},
"State": {
"description": "State, e.g. CA.",
"type": "string"
},
"PostalCode": {
"description": "Postal / ZIP code.",
"type": "string"
},
"Country": {
"description": "Country code, e.g. US.",
"type": "string"
},
"JobType": {
"description": "Job type, e.g. Repair.",
"type": "string"
},
"JobSource": {
"description": "Lead/job source, e.g. Google.",
"type": "string"
},
"Timezone": {
"description": "Timezone, e.g. US/Pacific.",
"type": "string"
},
"ServiceArea": {
"description": "Service area, e.g. metro1.",
"type": "string"
},
"CreatedBy": {
"description": "Name recorded as the creator.",
"type": "string"
},
"LeadNotes": {
"description": "Internal lead notes.",
"type": "string"
},
"Tags": {
"description": "Lead tags, e.g. [\"estimate\", \"callback\"].",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"UUID"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴workiz_assign_lead(UUID, User)
WRITE: assign a team member (by name) to a lead. Reversible with workiz_unassign_lead. Workiz: POST /lead/assign/.
Eingabe-Schema
{
"type": "object",
"properties": {
"UUID": {
"type": "string",
"minLength": 1,
"description": "The lead's UUID (e.g. XYZ56X)."
},
"User": {
"type": "string",
"minLength": 1,
"description": "The team member's NAME exactly as Workiz shows it (e.g. Alex Wilson) — see workiz_list_team."
}
},
"required": [
"UUID",
"User"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴workiz_unassign_lead(UUID, User)
WRITE: remove a team member (by name) from a lead. Reversible with workiz_assign_lead. Workiz: POST /lead/unassign/.
Eingabe-Schema
{
"type": "object",
"properties": {
"UUID": {
"type": "string",
"minLength": 1,
"description": "The lead's UUID (e.g. XYZ56X)."
},
"User": {
"type": "string",
"minLength": 1,
"description": "The team member's NAME exactly as Workiz shows it (e.g. Alex Wilson) — see workiz_list_team."
}
},
"required": [
"UUID",
"User"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴workiz_convert_lead_to_job(UUID)
WRITE (no API undo): convert a lead into a job. Creates a new job from the lead and returns its UUID and link; the API cannot reverse the conversion. Workiz: POST /lead/convert/.
Eingabe-Schema
{
"type": "object",
"properties": {
"UUID": {
"type": "string",
"minLength": 1,
"description": "The lead's UUID (e.g. XYZ56X)."
}
},
"required": [
"UUID"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴workiz_mark_lead_lost(uuid)
WRITE: mark a lead as lost. Reversible with workiz_activate_lead. Workiz: POST /lead/markLost/{UUID}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"minLength": 1,
"description": "The lead's UUID (e.g. XYZ56X)."
}
},
"required": [
"uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴workiz_activate_lead(uuid)
WRITE: change a lost lead back to active. Workiz: POST /lead/activate/{UUID}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"minLength": 1,
"description": "The lead's UUID (e.g. XYZ56X)."
}
},
"required": [
"uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis