---
canonical_url: "https://docs.composio.dev/toolkits/workiz"
markdown_url: "https://docs.composio.dev/toolkits/workiz.md"
product: "platform"
version: null
last_updated: null
---

# Workiz

Workiz is a field service management platform for scheduling jobs, managing leads and teams, and recording payments.

- **Category:** crm
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 21
- **Triggers:** 0
- **Slug:** `WORKIZ`
- **Version:** 00000000_00

## Tools

### Add Client Note

**Slug:** `WORKIZ_ADD_CLIENT_NOTE`

Add a text note to a Workiz client and optionally pin it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pin` | boolean | No | Pin the note for prominence. |
| `note` | string | Yes | Note text to append to the client record. |
| `client_id` | string | Yes | Workiz client ID beginning with CL-. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Assign Technician

**Slug:** `WORKIZ_ASSIGN_TECHNICIAN`

Assign a technician to a Workiz job or lead, optionally replacing the existing technician when the account disallows multiple technicians.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `replace` | boolean | No | Replace the existing technician. Set true when multiple technicians are disabled or replacement is intended. |
| `record_id` | string | Yes | Workiz JOB- or LD- ID matching record_type. |
| `is_primary` | boolean | No | Make this technician the primary assignment. |
| `record_type` | string ("job" | "lead") | Yes | Kind of Workiz record to assign: job or lead. |
| `technician_id` | string | Yes | Workiz user ID beginning with USR-. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Assign Technicians

**Slug:** `WORKIZ_ASSIGN_TECHNICIANS`

Assign up to 25 technicians to one Workiz job or lead on a multi-technician account and return a separate success or failure result for each technician.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `record_id` | string | Yes | Workiz JOB- or LD- ID matching record_type. |
| `assignments` | array | Yes | Unique technicians to assign, in request order. Use only on accounts that allow multiple technicians. At most one assignment may be primary. |
| `record_type` | string ("job" | "lead") | Yes | Kind of Workiz record to assign: job or lead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Convert Lead to Job

**Slug:** `WORKIZ_CONVERT_LEAD_TO_JOB`

Irreversibly convert an existing Workiz lead into a job and return the resulting job. This operational transition cannot be undone and creates a persistent job record. Never use this action merely to inspect a lead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lead_id` | string | Yes | Workiz lead ID beginning with LD- to irreversibly convert into a job. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Job

**Slug:** `WORKIZ_CREATE_JOB`

Create a scheduled or unscheduled Workiz job for an existing client, or match or create an inline client and create the job for them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | No | Scheduled end in YYYY-MM-DD HH:MM:SS format, after start. |
| `name` | string | No | Agent-readable job name, limited by Workiz to 20 characters. |
| `start` | string | No | Scheduled start in YYYY-MM-DD HH:MM:SS format. Workiz rounds schedule times to a quarter hour. |
| `time_zone` | string | No | IANA timezone for the job. |
| `is_all_day` | boolean | No | Whether the scheduled job occupies the full day. |
| `ad_group_id` | string | No | Ad group ID beginning with AG-. |
| `client_info` | object | Yes | Existing-client selector or complete details for matching or creating a client. |
| `description` | string | No | Work description and relevant context. |
| `job_type_id` | string | Yes | Job type ID beginning with JT-. Use LIST_REFERENCE_DATA to discover it. |
| `is_scheduled` | boolean | No | Whether to schedule the job. start and end are required when true. |
| `custom_fields` | array | No | Custom-field IDs and their string, numeric, or boolean values. |
| `created_by_user_id` | string | No | Workiz user ID beginning with USR- to attribute as the creator. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Lead

**Slug:** `WORKIZ_CREATE_LEAD`

Create a scheduled or unscheduled Workiz lead for an existing client, or match or create an inline client and create the lead for them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | No | Scheduled end in YYYY-MM-DD HH:MM:SS format, after start. |
| `start` | string | No | Scheduled start in YYYY-MM-DD HH:MM:SS format. Workiz rounds schedule times to a quarter hour. |
| `time_zone` | string | No | IANA timezone for the lead. |
| `is_all_day` | boolean | No | Whether the scheduled lead occupies the full day. |
| `ad_group_id` | string | No | Ad group ID beginning with AG-. |
| `client_info` | object | Yes | Existing-client selector or details for matching or creating a client. |
| `description` | string | No | Lead request and relevant context. |
| `job_type_id` | string | No | Job type ID beginning with JT-. |
| `is_scheduled` | boolean | No | Whether to schedule the lead. start and end are required when true. |
| `custom_fields` | array | No | Custom-field IDs and their string, numeric, or boolean values. |
| `created_by_user_id` | string | No | Workiz user ID beginning with USR- to attribute as the creator. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Client

**Slug:** `WORKIZ_GET_CLIENT`

Retrieve one Workiz client with service and billing addresses, contacts, tags, notes, custom fields, and other detail fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `client_id` | string | Yes | Workiz client ID beginning with CL-. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Invoice or Estimate

**Slug:** `WORKIZ_GET_FINANCIAL_DOCUMENT`

Retrieve one Workiz invoice or estimate with line items, payments, client and job links, totals, and status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `document_id` | string | Yes | Workiz document ID matching document_type: IV- for an invoice or ES- for an estimate. |
| `document_type` | string ("invoice" | "estimate") | Yes | Financial document family to retrieve: invoice or estimate. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Job or Lead

**Slug:** `WORKIZ_GET_JOB_OR_LEAD`

Retrieve one Workiz job or lead, selected by record_type, including its client, schedule, status, and resource-specific detail fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `record_id` | string | Yes | Workiz JOB- or LD- ID matching record_type. |
| `record_type` | string ("job" | "lead") | Yes | Kind of Workiz record to retrieve: job or lead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Assigned Technicians

**Slug:** `WORKIZ_LIST_ASSIGNED_TECHNICIANS`

List one page of technicians assigned to a Workiz job or lead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_size` | integer | No | Maximum technician assignments to return in this page (1-300). |
| `record_id` | string | Yes | Workiz JOB- or LD- ID matching record_type. |
| `next_cursor` | string | No | Continuation cursor from a previous response. Repeat the same record_type and record_id when continuing. |
| `record_type` | string ("job" | "lead") | Yes | Kind of Workiz record whose assigned technicians to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Client Notes

**Slug:** `WORKIZ_LIST_CLIENT_NOTES`

List one page of notes recorded on a Workiz client, ordered by creation date descending.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `client_id` | string | Yes | Workiz client ID beginning with CL-. |
| `page_size` | integer | No | Maximum client notes to return in this page (1-300). |
| `next_cursor` | string | No | Continuation cursor from a previous response for the same client; omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Clients

**Slug:** `WORKIZ_LIST_CLIENTS`

List and search Workiz clients with balance, tag, created-date, and sort filters. Returns one page and a cursor for controlled continuation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No | Created date as YYYY-MM-DD, or two underscore-separated dates (YYYY-MM-DD_YYYY-MM-DD) when date_operator is between. |
| `tag_ids` | array | No | Workiz tag IDs beginning with TAG-. A client must have every listed tag. |
| `page_size` | integer | No | Maximum clients to return in this page (1-300). |
| `sort_field` | string ("serialId" | "firstName" | "fullName" | "clientCompany" | "primaryPhone") | No | Client field to sort by. Workiz defaults to serialId when omitted. |
| `sort_order` | string ("ASC" | "DESC") | No | Sort direction. Defaults to descending. |
| `next_cursor` | string | No | Continuation cursor from a previous response using the same filters; omit for the first page. |
| `search_query` | string | No | Match client name, company, address, custom fields, primary phone, or email. |
| `date_operator` | string ("prev" | "next" | "between") | No | Created-date comparison. Must be provided together with date. |
| `balance_status` | string ("PastDue" | "Due") | No | Filter by outstanding balance: Due includes any open balance; PastDue includes overdue balances. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Invoices or Estimates

**Slug:** `WORKIZ_LIST_FINANCIAL_DOCUMENTS`

List Workiz invoices or estimates with optional created or updated date filtering. Returns one page and a continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No | Date as YYYY-MM-DD for prev or next, or two dates separated by an underscore (YYYY-MM-DD_YYYY-MM-DD) for between. |
| `page_size` | integer | No | Maximum documents to return in this page (1-300). |
| `next_cursor` | string | No | Continuation cursor from a previous response for the same document type and filters; omit for the first page. |
| `date_operator` | string ("prev" | "next" | "between") | No | Date comparison. Provide with date_property and date. |
| `date_property` | string ("updated" | "created") | No | Document date field to filter. Provide with date_operator and date. |
| `document_type` | string ("invoice" | "estimate") | Yes | Financial document family to list: invoice or estimate. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Jobs or Leads

**Slug:** `WORKIZ_LIST_JOBS_OR_LEADS`

List one page of Workiz jobs or leads, selected by record_type, with optional open-state, date, and sort filters, and return a continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No | Date as YYYY-MM-DD, or two dates separated by an underscore (YYYY-MM-DD_YYYY-MM-DD) when date_operator is between. |
| `is_open` | boolean | No | When true, return only open records; omit to avoid applying Workiz's false default. |
| `page_size` | integer | No | Maximum records to return in this page (1-300). |
| `sort_field` | string ("created" | "updated" | "statusUpdated" | "utcUpdated") | No | Field to sort by. Must be provided together with sort_order. |
| `sort_order` | string ("ASC" | "DESC") | No | Sort direction. Must be provided together with sort_field. |
| `next_cursor` | string | No | Continuation cursor from a previous response for the same record_type, filters, and page_size; omit for the first page. |
| `record_type` | string ("job" | "lead") | Yes | Kind of Workiz records to list: jobs or leads. |
| `date_operator` | string ("prev" | "next" | "between") | No | Date comparison. Must be provided with date_property and date. |
| `date_property` | string ("date" | "endDate" | "utcUpdated" | "created") | No | Record date field to filter. Must be provided with date_operator and date. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Workiz Reference Data

**Slug:** `WORKIZ_LIST_REFERENCE_DATA`

List IDs and names needed to create or update Workiz records, such as job types, ad groups, tags, statuses, and custom fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_type` | string ("job" | "client" | "call" | "task" | "project") | No | Tag family to return. Valid only when resource_type is tag. |
| `page_size` | integer | No | Records to return for paginated reference types (1-300). |
| `entity_type` | string ("JOB" | "CLIENT") | No | Entity whose custom fields or custom-field groups to return. Valid only for those resource types. |
| `next_cursor` | string | No | Continuation cursor from a prior call for the same resource type and filters. Omit for the first page. |
| `resource_type` | string ("job_type" | "ad_group" | "tag" | "job_sub_status" | "lead_status" | "custom_field" | "custom_field_group") | Yes | Reference-data family to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Users

**Slug:** `WORKIZ_LIST_USERS`

List Workiz users and technicians for assignment and attribution workflows. Returns one page and a cursor for controlled continuation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_size` | integer | No | Maximum users to return in this page (1-300). |
| `next_cursor` | string | No | Continuation cursor from a previous response; omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Technician

**Slug:** `WORKIZ_REMOVE_TECHNICIAN`

Remove a technician assignment from a Workiz job or lead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `record_id` | string | Yes | Workiz JOB- or LD- ID matching record_type. |
| `record_type` | string ("job" | "lead") | Yes | Kind of Workiz record containing the technician assignment. |
| `technician_id` | string | Yes | Assigned Workiz user ID beginning with USR-. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Workiz Records

**Slug:** `WORKIZ_SEARCH_RECORDS`

Search jobs, leads, clients, and invoices by a name, phone, email, address, serial number, or custom-field value.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `term` | string | Yes | Search term matched across supported Workiz record fields. |
| `limit` | integer | No | Maximum results per record type (1-15). |
| `record_type` | string ("job" | "lead" | "client" | "invoice") | No | Restrict results to one record type; omit to search all supported types. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Primary Technician

**Slug:** `WORKIZ_SET_PRIMARY_TECHNICIAN`

Make an already assigned technician the primary technician on a Workiz job or lead. All other assigned technicians become non-primary.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `record_id` | string | Yes | Workiz JOB- or LD- ID matching record_type. |
| `record_type` | string ("job" | "lead") | Yes | Kind of Workiz record containing the technician assignment. |
| `technician_id` | string | Yes | Already assigned Workiz user ID beginning with USR-. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Job

**Slug:** `WORKIZ_UPDATE_JOB`

Update only the selected fields of an existing Workiz job. Unspecified fields remain unchanged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | string | Yes | Workiz job ID beginning with JOB-. |
| `changes` | object | Yes | Selected job fields to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Lead

**Slug:** `WORKIZ_UPDATE_LEAD`

Update only selected fields of an existing Workiz lead, including status, schedule, client details, tags, and custom fields. Unspecified fields remain unchanged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `changes` | object | Yes | Selected lead fields to update. |
| `lead_id` | string | Yes | Workiz lead ID beginning with LD-. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
