Skip to content

Workiz MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

Manage Workiz jobs and leads: create, update, assign team members and convert leads to jobs.

Deletes · 11

19 tools: 11 can delete or cancel things and 8 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http workiz https://workiz.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

19 tools

Deletes or cancels 11Claude Code: deny
  • workiz_activate_leadWRITE: change a lost lead back to active.No findings

    Why it is in this group

    • The description's first verb is "write": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    WRITE: change a lost lead back to active. Workiz: POST /lead/activate/{UUID}/.

    Annotations the server declares

    • title: Reactivate a lost lead
    • destructiveHint: true
  • workiz_assign_jobWRITE: assign a team member (by name) to a job.No findings

    Why it is in this group

    • The name "workiz_assign_job" says "assign": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    WRITE: assign a team member (by name) to a job. Reversible with workiz_unassign_job. Workiz: POST /job/assign/.

    Annotations the server declares

    • title: Assign a team member to a job
    • destructiveHint: true
  • workiz_assign_leadWRITE: assign a team member (by name) to a lead.No findings

    Why it is in this group

    • The name "workiz_assign_lead" says "assign": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    WRITE: assign a team member (by name) to a lead. Reversible with workiz_unassign_lead. Workiz: POST /lead/assign/.

    Annotations the server declares

    • title: Assign a team member to a lead
    • destructiveHint: true
  • workiz_convert_lead_to_jobWRITE (no API undo): convert a lead into a job.No findings

    Why it is in this group

    • The name "workiz_convert_lead_to_job" says "convert": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: Convert a lead to a job
    • destructiveHint: true
  • workiz_create_jobWRITE: create a new job (schedule, client contact and address, type, source, notes).No findings

    Why it is in this group

    • The name "workiz_create_job" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: Create a job
    • destructiveHint: true
  • workiz_create_leadWRITE: create a new lead (client contact and address, requested time, job type, source, notes).No findings

    Why it is in this group

    • The name "workiz_create_lead" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: Create a lead
    • destructiveHint: true
  • workiz_mark_lead_lostWRITE: mark a lead as lost.No findings

    Why it is in this group

    • The name "workiz_mark_lead_lost" says "mark": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    WRITE: mark a lead as lost. Reversible with workiz_activate_lead. Workiz: POST /lead/markLost/{UUID}/.

    Annotations the server declares

    • title: Mark a lead as lost
    • destructiveHint: true
  • workiz_unassign_jobWRITE: remove a team member (by name) from a job.No findings

    Why it is in this group

    • The name "workiz_unassign_job" says "unassign": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    WRITE: remove a team member (by name) from a job. Reversible with workiz_assign_job. Workiz: POST /job/unassign/.

    Annotations the server declares

    • title: Unassign a team member from a job
    • destructiveHint: true
  • workiz_unassign_leadWRITE: remove a team member (by name) from a lead.No findings

    Why it is in this group

    • The name "workiz_unassign_lead" says "unassign": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    WRITE: remove a team member (by name) from a lead. Reversible with workiz_assign_lead. Workiz: POST /lead/unassign/.

    Annotations the server declares

    • title: Unassign a team member from a lead
    • destructiveHint: true
  • workiz_update_jobWRITE: update fields on an existing job — status/sub-status, reschedule (JobDateTime/JobEndDateTime), contact, address, type, source, notes, tags.No findings

    Why it is in this group

    • The name "workiz_update_job" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: Update a job
    • destructiveHint: true
  • workiz_update_leadWRITE: update fields on an existing lead — status, schedule, contact, address, type, source, notes, tags.No findings

    Why it is in this group

    • The name "workiz_update_lead" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: Update a lead
    • destructiveHint: true
Only reads 8Claude Code: allow
  • workiz_get_jobFetch one job by UUID: schedule, status, client contact and address, totals and amount due, notes, tags and assigned team.No findings

    Why it is in this group

    • The name "workiz_get_job" says "get": a word for reading.
    Description, as the server wrote it
    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}/.

    Annotations the server declares

    • title: Get one job
    • readOnlyHint: true
  • workiz_get_leadFetch one lead by UUID: schedule, status, client contact and address, source, notes and assigned team.No findings

    Why it is in this group

    • The name "workiz_get_lead" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one lead by UUID: schedule, status, client contact and address, source, notes and assigned team. Workiz: GET /lead/get/{UUID}/.

    Annotations the server declares

    • title: Get one lead
    • readOnlyHint: true
  • workiz_get_team_memberFetch one team member by user id: name, role, field-tech flag, email, service areas, skills and active status.No findings

    Why it is in this group

    • The name "workiz_get_team_member" says "get": a word for reading.
    Description, as the server wrote it
    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}.

    Annotations the server declares

    • title: Get one team member
    • readOnlyHint: true
  • workiz_get_user_time_offList one team member's FUTURE time off, by their name.No findings

    Why it is in this group

    • The name "workiz_get_user_time_off" says "get": a word for reading.
    Description, as the server wrote it
    List one team member's FUTURE time off, by their name. Workiz: GET /TimeOff/get/{USER_NAME}.

    Annotations the server declares

    • title: Get a team member's time off
    • readOnlyHint: true
  • workiz_list_jobsList jobs, most recently scheduled first (sorted by JobDateTime, descending).No findings

    Why it is in this group

    • The name "workiz_list_jobs" says "list": a word for reading.
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: List jobs
    • readOnlyHint: true
  • workiz_list_leadsList leads, most recent first (sorted by LeadDateTime, descending).No findings

    Why it is in this group

    • The name "workiz_list_leads" says "list": a word for reading.
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: List leads
    • readOnlyHint: true
  • workiz_list_teamList the account's active team members: id, name, role, whether they are a field tech, email, service areas and skills.No findings

    Why it is in this group

    • The name "workiz_list_team" says "list": a word for reading.
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: List team members
    • readOnlyHint: true
  • workiz_list_time_offList FUTURE time off (start, end, userName — 'Entire Business' for company-wide closures).No findings

    Why it is in this group

    • The name "workiz_list_time_off" says "list": a word for reading.
    Description, as the server wrote it
    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/.

    Annotations the server declares

    • title: List upcoming time off
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http workiz https://workiz.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__workiz__workiz_list_jobs",
      "mcp__workiz__workiz_get_job",
      "mcp__workiz__workiz_list_leads",
      "mcp__workiz__workiz_get_lead",
      "mcp__workiz__workiz_list_team",
      "mcp__workiz__workiz_get_team_member",
      "mcp__workiz__workiz_list_time_off",
      "mcp__workiz__workiz_get_user_time_off"
    ],
    "ask": [],
    "deny": [
      "mcp__workiz__workiz_create_job",
      "mcp__workiz__workiz_update_job",
      "mcp__workiz__workiz_assign_job",
      "mcp__workiz__workiz_unassign_job",
      "mcp__workiz__workiz_create_lead",
      "mcp__workiz__workiz_update_lead",
      "mcp__workiz__workiz_assign_lead",
      "mcp__workiz__workiz_unassign_lead",
      "mcp__workiz__workiz_convert_lead_to_job",
      "mcp__workiz__workiz_mark_lead_lost",
      "mcp__workiz__workiz_activate_lead"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as workiz. Review it before you use it.