# Workiz

```json
{
  "name": "Workiz",
  "slug": "workiz",
  "url": "https://composio.dev/toolkits/workiz",
  "markdown_url": "https://composio.dev/toolkits/workiz.md",
  "logo_url": "https://logos.composio.dev/api/workiz",
  "categories": [
    "scheduling & booking"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-31T05:36:59.033Z"
}
```

![Workiz logo](https://logos.composio.dev/api/workiz)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Workiz MCP or direct API to schedule jobs, manage leads, assign technicians, and record payments through natural language.

## Summary

Workiz is a field service management platform for scheduling jobs, managing leads and teams, and recording payments.
Use it to streamline dispatch, invoicing, and mobile team coordination for service businesses.

## Categories

- scheduling & booking

## Toolkit Details

- Tools: 21

## Images

- Logo: https://logos.composio.dev/api/workiz

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Workiz.
  - Setup:
    - Configure Api Key credentials for Workiz.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Schedule a new job for John Smith
- List open jobs for this week
- Record payment for job #12345

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `WORKIZ_ADD_CLIENT_NOTE` | Add Client Note | Add a text note to a Workiz client and optionally pin it. |
| `WORKIZ_ASSIGN_TECHNICIAN` | Assign Technician | Assign a technician to a Workiz job or lead, optionally replacing the existing technician when the account disallows multiple technicians. |
| `WORKIZ_ASSIGN_TECHNICIANS` | 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. |
| `WORKIZ_CONVERT_LEAD_TO_JOB` | 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. |
| `WORKIZ_CREATE_JOB` | 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. |
| `WORKIZ_CREATE_LEAD` | 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. |
| `WORKIZ_GET_CLIENT` | Get Client | Retrieve one Workiz client with service and billing addresses, contacts, tags, notes, custom fields, and other detail fields. |
| `WORKIZ_GET_FINANCIAL_DOCUMENT` | Get Invoice or Estimate | Retrieve one Workiz invoice or estimate with line items, payments, client and job links, totals, and status. |
| `WORKIZ_GET_JOB_OR_LEAD` | Get Job or Lead | Retrieve one Workiz job or lead, selected by record_type, including its client, schedule, status, and resource-specific detail fields. |
| `WORKIZ_LIST_ASSIGNED_TECHNICIANS` | List Assigned Technicians | List one page of technicians assigned to a Workiz job or lead. |
| `WORKIZ_LIST_CLIENT_NOTES` | List Client Notes | List one page of notes recorded on a Workiz client, ordered by creation date descending. |
| `WORKIZ_LIST_CLIENTS` | List Clients | List and search Workiz clients with balance, tag, created-date, and sort filters. Returns one page and a cursor for controlled continuation. |
| `WORKIZ_LIST_FINANCIAL_DOCUMENTS` | List Invoices or Estimates | List Workiz invoices or estimates with optional created or updated date filtering. Returns one page and a continuation cursor. |
| `WORKIZ_LIST_JOBS_OR_LEADS` | 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. |
| `WORKIZ_LIST_REFERENCE_DATA` | List Workiz Reference Data | List IDs and names needed to create or update Workiz records, such as job types, ad groups, tags, statuses, and custom fields. |
| `WORKIZ_LIST_USERS` | List Users | List Workiz users and technicians for assignment and attribution workflows. Returns one page and a cursor for controlled continuation. |
| `WORKIZ_REMOVE_TECHNICIAN` | Remove Technician | Remove a technician assignment from a Workiz job or lead. |
| `WORKIZ_SEARCH_RECORDS` | Search Workiz Records | Search jobs, leads, clients, and invoices by a name, phone, email, address, serial number, or custom-field value. |
| `WORKIZ_SET_PRIMARY_TECHNICIAN` | Set Primary Technician | Make an already assigned technician the primary technician on a Workiz job or lead. All other assigned technicians become non-primary. |
| `WORKIZ_UPDATE_JOB` | Update Job | Update only the selected fields of an existing Workiz job. Unspecified fields remain unchanged. |
| `WORKIZ_UPDATE_LEAD` | Update Lead | Update only selected fields of an existing Workiz lead, including status, schedule, client details, tags, and custom fields. Unspecified fields remain unchanged. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Workiz Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Workiz actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'YOUR_SPECIFIC_PROMPT_HERE'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Workiz
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Workiz tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('YOUR_SPECIFIC_PROMPT_HERE')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Workiz Integration

- Supports both Workiz MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Workiz data

### 2. Managed Auth

- Built-in API key handling with secure storage and scoped access
- Central place to manage, scope, and revoke Workiz API keys
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Workiz
- Scoped, least privilege access to Workiz resources
- Full audit trail of agent actions to support review and compliance

## Use Workiz with any AI Agent Framework

Choose a framework you want to connect Workiz with:

- [ChatGPT Work](https://composio.dev/toolkits/workiz/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/workiz/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/workiz/framework/hermes-agent)

## Related Toolkits

- [Google Calendar](https://composio.dev/toolkits/googlecalendar) - Google Calendar is a time management service for scheduling meetings, events, and reminders. It streamlines personal and team organization with integrated notifications and sharing options.
- [Apaleo](https://composio.dev/toolkits/apaleo) - Apaleo is a cloud-based property management platform for hospitality businesses. It centralizes reservations, billing, and daily operations for smoother hotel management.
- [Appointo](https://composio.dev/toolkits/appointo) - Appointo is an appointment booking platform for Shopify stores. It lets businesses add online scheduling to their websites with zero coding.
- [Bart](https://composio.dev/toolkits/bart) - Bart is the Bay Area Rapid Transit system, providing fast public transportation across the San Francisco Bay Area. It helps commuters and travelers get real-time schedule info, plan routes, and stay updated on service changes.
- [Bookingmood](https://composio.dev/toolkits/bookingmood) - Bookingmood is commission-free booking software for rental businesses. It lets you manage reservations and sync bookings directly on your website.
- [Booqable](https://composio.dev/toolkits/booqable) - Booqable is a rental software platform for managing inventory, bookings, and reservations. It helps businesses streamline rentals and keep track of every item with ease.
- [Cal](https://composio.dev/toolkits/cal) - Cal is a meeting scheduling platform that offers shareable booking links and real-time calendar syncing. It streamlines the process of finding mutual availability to make scheduling effortless.
- [Calendarhero](https://composio.dev/toolkits/calendarhero) - Calendarhero is a powerful scheduling platform that streamlines your calendar management across multiple services. It helps you efficiently schedule, reschedule, and organize meetings without the back-and-forth.
- [Calendly](https://composio.dev/toolkits/calendly) - Calendly is an appointment scheduling tool that automates meeting invitations, availability checks, and reminders. It helps individuals and teams avoid endless email back-and-forth when booking meetings.
- [Check Cherry](https://composio.dev/toolkits/check_cherry) - Check Cherry is a business management platform for photography and event service companies. It helps teams manage leads, bookings, appointments, offerings, payments, and workflows in one place.
- [Cronfree Time Scheduler](https://composio.dev/toolkits/cronfree_time_scheduler) - Cronfree Time Scheduler is an API-based scheduler for recurring webhook calls. Use it to create and remove timezone-aware schedules without running cron.
- [Etermin](https://composio.dev/toolkits/etermin) - eTermin is an online appointment scheduling platform for businesses to manage bookings. It streamlines client appointments, saving time and reducing scheduling conflicts.
- [Evenium](https://composio.dev/toolkits/evenium) - Evenium is an all-in-one platform for managing professional events, from planning to analysis. It helps teams simplify event logistics, boost engagement, and track every detail in one place.
- [Eventee](https://composio.dev/toolkits/eventee) - Eventee is a user-friendly event management platform for mobile and web. It boosts attendee engagement for in-person, virtual, and hybrid events.
- [Eventzilla](https://composio.dev/toolkits/eventzilla) - Eventzilla is an event management platform for creating, promoting, and running events. It streamlines ticketing, registration, and attendee coordination for organizers.
- [GoTable](https://composio.dev/toolkits/go_table) - GoTable is a restaurant management REST API for reservations, tables, guests, offers, availability, and webhooks. Use it to programmatically manage bookings, guest data, offers, and table availability.
- [Humanitix](https://composio.dev/toolkits/humanitix) - Humanitix is a not-for-profit ticketing platform that donates 100% of profits to charity. It empowers event organizers to make social impact with every ticket sold.
- [Ignav Flights](https://composio.dev/toolkits/ignav_flights) - Ignav Flights is a flight search API for airports, fares, itineraries, and booking links. It helps apps compare routes and prices fast, so travelers can find practical options sooner.
- [Lodgify](https://composio.dev/toolkits/lodgify) - Lodgify is an all-in-one vacation rental software for property managers and owners. It centralizes bookings, guest messaging, and channel synchronization in one dashboard.
- [Mindbody](https://composio.dev/toolkits/mindbody) - Mindbody is business management software for fitness, wellness, and beauty teams. It helps studios manage scheduling, clients, payments, memberships, and daily operations.

## Frequently Asked Questions

### Do I need my own developer credentials to use Workiz with Composio?

Yes, Workiz requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
