# Servicem8

ServiceM8 helps field service businesses schedule jobs, send quotes, and manage invoices, offering staff mobile apps and real-time job status tracking

- **Category:** scheduling & booking
- **Auth:** OAUTH2
- **Tools:** 28
- **Triggers:** 0
- **Slug:** `SERVICEM8`
- **Version:** 20260211_00

## Tools

### ServiceM8 Create Job Note

**Slug:** `SERVICEM8_CREATE_JOB_NOTE`

Create a new job note in ServiceM8. Requires the job's UUID (related_object_uuid) and the note content. Returns the UUID of the created note record. Use this to add comments, updates, or action items to a specific job.

### ServiceM8 Create Job Payment

**Slug:** `SERVICEM8_CREATE_JOB_PAYMENT`

Tool to create a new job payment in ServiceM8. Use when you have collected payment details and need to record payment against a job. Example: "Create a 100.00 cash payment for job 123e4567-e89b-12d3-a456-426614174000 at 2023-01-01 13:00:00."

### Create a new Job

**Slug:** `SERVICEM8_CREATE_JOBS`

Tool to create a new Job in ServiceM8. Use when you have gathered all job details and need to push a record. Example: "Create a Quote job for 123 Main St with PO #1234."

### Delete Job Note

**Slug:** `SERVICEM8_DELETE_JOB_NOTE`

Deletes (archives) a job note in ServiceM8 by its UUID. Use this tool when you need to remove a note from a job's diary. In ServiceM8, deletion is a soft-delete: the note is archived (active=0) rather than permanently removed, and can be restored later if needed. Prerequisites: You need the note's UUID, which can be obtained from the 'List All Job Notes' or 'Retrieve Job Note' actions.

### Delete Job Payment

**Slug:** `SERVICEM8_DELETE_JOB_PAYMENT`

Archives (soft-deletes) a job payment record in ServiceM8 by its UUID. In ServiceM8, records are never permanently deleted. Instead, deletion sets the record's 'active' field to 0, which hides it from the UI but keeps it accessible via the API. Archived records can be restored by setting their 'active' field back to 1. Use this tool when you need to remove a payment record from active use, such as when a payment was recorded in error or needs to be voided. Requires the 'manage_job_payments' OAuth scope.

### List All Assets

**Slug:** `SERVICEM8_LIST_ALL_ASSETS`

Tool to list all ServiceM8 assets. Use when you need a comprehensive asset registry, including custom fields, for inventory or reporting.

### List All Clients

**Slug:** `SERVICEM8_LIST_ALL_CLIENTS`

Tool to list all ServiceM8 clients. Use when you need a complete set of customer records for integrations or reporting.

### List All Document Templates

**Slug:** `SERVICEM8_LIST_ALL_DOCUMENT_TEMPLATES`

Tool to list document templates. Use when you need to retrieve available template UUIDs and names before generating job documents.

### List All Forms

**Slug:** `SERVICEM8_LIST_ALL_FORMS`

Tool to list all ServiceM8 forms. Use when you need to fetch available form templates with optional filters.

### List All Job Notes

**Slug:** `SERVICEM8_LIST_ALL_JOB_NOTES`

List all job notes from ServiceM8. Use this tool to: - Retrieve all notes across all jobs (no filter) - Get notes for a specific job using filter: "related_object_uuid eq '<job_uuid>'" - Filter by active status: "active eq 1" for active notes only The response contains a list of note records with their content, timestamps, and associated job UUIDs. For large result sets, use cursor-based pagination: pass cursor='-1' for the first page, then use the 'next_cursor' value from each response to fetch subsequent pages. Each page returns up to 5,000 records.

### List All Job Queues

**Slug:** `SERVICEM8_LIST_ALL_JOB_QUEUES`

List all job queues in ServiceM8. Job queues are virtual folders for organizing jobs on hold. Use this to fetch available queues before assigning jobs to a queue, or to check queue configurations. Returns both regular queues (for jobs waiting on external actions) and assignable queues (for staff assignments).

### List All Jobs

**Slug:** `SERVICEM8_LIST_ALL_JOBS`

Tool to list all jobs. Use when you need to fetch all job records from your ServiceM8 account.

### List All Locations

**Slug:** `SERVICEM8_LIST_ALL_LOCATIONS`

Lists all ServiceM8 locations. Use to fetch configured service areas, office locations, or warehouses for job assignments, mapping, or reporting.

### List All Materials

**Slug:** `SERVICEM8_LIST_ALL_MATERIALS`

Retrieve all materials (products, labour rates, inventory items) from ServiceM8. Use this to get a complete catalog of materials for quoting, invoicing, or inventory management. Requires the 'read_inventory' OAuth scope.

### List All Tasks

**Slug:** `SERVICEM8_LIST_ALL_TASKS`

Retrieves all tasks from a ServiceM8 account with optional filtering and cursor-based pagination. Use this to fetch task records, track task assignments, monitor completion status, or sync task data. Requires 'read_tasks' OAuth scope.

### Retrieve ServiceM8 Client

**Slug:** `SERVICEM8_RETRIEVE_CLIENT`

Tool to retrieve details of a specific client by its UUID. Use after confirming the client's UUID is valid.

### Retrieve Form

**Slug:** `SERVICEM8_RETRIEVE_FORM`

Retrieve details of a specific form template by its UUID. Use this tool when you have a form UUID and need to fetch its metadata, such as form name, description, and status. Requires the Forms add-on to be enabled in ServiceM8.

### Retrieve Job

**Slug:** `SERVICEM8_RETRIEVE_JOB`

Tool to retrieve details of a specific job by its UUID. Use when you have the Job UUID and need its full record.

### Retrieve Job Activity

**Slug:** `SERVICEM8_RETRIEVE_JOB_ACTIVITY`

Tool to retrieve details of a specific job activity by its UUID. Use when you have the job activity UUID and need its full details.

### Retrieve Job Note

**Slug:** `SERVICEM8_RETRIEVE_JOB_NOTE`

Retrieve the full details of a specific job note by its UUID. Use this action when you have a note UUID (e.g., from listing job notes) and need to view its complete record including content, timestamps, and the associated job reference.

### Retrieve Job Payment

**Slug:** `SERVICEM8_RETRIEVE_JOB_PAYMENT`

Retrieve a specific job payment record from ServiceM8 by its UUID. Use this tool when you need to: - Get full details of a specific payment (amount, method, timestamp, notes) - Check if a payment is a deposit or regular payment - View which staff member processed a payment - Verify payment information for a job Prerequisites: You need the job payment UUID, which can be obtained from the 'List All Job Payments' action or from creating a new job payment.

### Retrieve Job Queue

**Slug:** `SERVICEM8_RETRIEVE_JOB_QUEUE`

Tool to retrieve details of a specific job queue by its UUID. Use when you need full queue metadata before dispatching work.

### Retrieve Location

**Slug:** `SERVICEM8_RETRIEVE_LOCATION`

Retrieve a specific ServiceM8 location by its UUID. Returns complete location details including name, address fields (street, city, state, country, postal code), geographic coordinates (lat/lng), contact phone number, and active status. Use this when you have a known location UUID and need its full details. To list all available locations, use the List All Locations action first.

### Retrieve ServiceM8 Material

**Slug:** `SERVICEM8_RETRIEVE_MATERIAL`

Retrieve detailed information about a specific material/product/service by its UUID. Returns pricing, inventory levels, tax settings, and identification details. Use this when you have a material UUID from a job or list operation and need complete details like current stock levels or pricing information.

### Retrieve Staff Member

**Slug:** `SERVICEM8_RETRIEVE_STAFF_MEMBER`

Tool to retrieve details of a specific staff member by their UUID. Use when you need up-to-date staff information given a known staff UUID.

### ServiceM8 Create Job

**Slug:** `SERVICEM8_SERVICE_M8_CREATE_JOB`

Creates a new job in ServiceM8. Use this to add jobs to your dispatch board. Required fields: status, job_address. Optional: Link to a client (company_uuid), assign to a queue, add badges, etc. Returns the UUID of the newly created job which can be used with other job-related actions.

### Update a ServiceM8 Job Note

**Slug:** `SERVICEM8_UPDATE_JOB_NOTE`

Tool to update details of an existing job note. Use when modifying a note after its creation.

### Update Job Payment

**Slug:** `SERVICEM8_UPDATE_JOB_PAYMENT`

Update an existing job payment record in ServiceM8. Use this to modify payment details such as amount, method, note, or status. Requires the payment UUID and at least one field to update.
