| name | servicem8 |
| description | ServiceM8 API integration with managed OAuth for field service management automation. Manage jobs, clients, staff, materials, job notes, payments, forms, locations, and task queues. Use this skill when users want to create and track service jobs, manage client records, record payments, assign staff to jobs, or manage field service operations in ServiceM8. |
ServiceM8

ServiceM8 is a field service management platform for managing jobs, scheduling staff, tracking clients, and handling payments. This integration uses managed OAuth through ClawLink so you can automate your field service operations without managing API credentials.
Setup in 3 Steps
| Step 1: Install | Step 2: Pair Account | Step 3: Connect ServiceM8 |
|---|
 |  | App-specific connection GIF coming soon |
| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect ServiceM8 |
How It Works
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ ServiceM8 API │
│ (User Chat) │ │ (OAuth) │ │ │
└─────────────────┘ └──────────────┘ └──────────────────┘
Install
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Quick Start
List all jobs in your ServiceM8 account:
clawlink_execute_tool --integration servicem8 --tool servicem8_list_all_jobs
Create a new job:
clawlink_execute_tool --integration servicem8 --tool servicem8_create_jobs --args '{"job_status": "Quote", "job_address": "123 Main St, Springfield", "job_description": "HVAC maintenance check"}'
Record a payment against a job:
clawlink_execute_tool --integration servicem8 --tool servicem8_create_job_payment --args '{"related_object_uuid": "job-uuid-here", "amount": "150.00", "method": "cash"}'
Authentication
ServiceM8 uses OAuth 2.0 managed by ClawLink. No API keys are needed. Authorize access through the ClawLink dashboard with a standard OAuth login flow. The connection is stored securely and refreshed automatically.
Connect at: https://claw-link.dev/dashboard?add=servicem8
Connection Management
List connections:
clawlink_list_integrations
Verify connection:
clawlink_execute_tool --integration servicem8 --tool servicem8_list_all_clients
Reconnect: If a connection expires, visit the dashboard URL above and reconnect ServiceM8.
Security & Permissions
- Read operations (listing jobs, clients, materials, locations, staff, notes) are safe and require no confirmation.
- Write operations (creating jobs, notes, payments; updating records) modify data and require confirmation.
- Destructive operations (deleting notes, payments, custom fields) are soft-deletes (archived) but still require explicit confirmation.
Tool Reference
Job Management
| Tool | Description | Mode |
|---|
servicem8_list_all_jobs | List all jobs in your ServiceM8 account | Read |
servicem8_retrieve_job | Retrieve details of a specific job by UUID | Read |
servicem8_create_jobs | Create a new job | Write |
servicem8_retrieve_job_activity | Retrieve details of a specific job activity by UUID | Read |
Job Notes
| Tool | Description | Mode |
|---|
servicem8_list_all_job_notes | List all job notes with optional filtering by job or status | Read |
servicem8_retrieve_job_note | Retrieve full details of a specific job note | Read |
servicem8_create_job_note | Create a new note on a job | Write |
servicem8_update_job_note | Update an existing job note | Write |
servicem8_delete_job_note | Archive (soft-delete) a job note | Write (Destructive) |
Job Payments
| Tool | Description | Mode |
|---|
servicem8_retrieve_job_payment | Retrieve a specific payment record by UUID | Read |
servicem8_create_job_payment | Record a payment against a job | Write |
servicem8_update_job_payment | Update an existing payment record | Write |
servicem8_delete_job_payment | Archive (soft-delete) a payment record | Write (Destructive) |
Client Management
| Tool | Description | Mode |
|---|
servicem8_list_all_clients | List all ServiceM8 clients | Read |
servicem8_retrieve_client | Retrieve details of a specific client by UUID | Read |
Staff Management
| Tool | Description | Mode |
|---|
servicem8_retrieve_staff_member | Retrieve details of a specific staff member by UUID | Read |
Materials & Inventory
| Tool | Description | Mode |
|---|
servicem8_list_all_materials | Retrieve all materials (products, labour rates, inventory) | Read |
servicem8_retrieve_material | Retrieve detailed information about a specific material | Read |
Locations
| Tool | Description | Mode |
|---|
servicem8_list_all_locations | List all configured locations | Read |
servicem8_retrieve_location | Retrieve a specific location with full address and coordinates | Read |
Job Queues
| Tool | Description | Mode |
|---|
servicem8_list_all_job_queues | List all job queues (virtual folders for organizing jobs) | Read |
servicem8_retrieve_job_queue | Retrieve details of a specific job queue by UUID | Read |
Forms & Templates
| Tool | Description | Mode |
|---|
servicem8_list_all_forms | List all form templates | Read |
servicem8_retrieve_form | Retrieve a specific form template by UUID | Read |
servicem8_list_all_document_templates | List available document templates | Read |
Assets & Tasks
| Tool | Description | Mode |
|---|
servicem8_list_all_assets | List all ServiceM8 assets | Read |
servicem8_list_all_tasks | List all tasks with optional filtering | Read |
Custom Fields
| Tool | Description | Mode |
|---|
servicem8_delete_custom_field | Delete a custom field definition permanently | Write (Destructive) |
Code Examples
Create a new job with details:
{
"tool": "servicem8_create_jobs",
"args": {
"job_status": "Quote",
"job_address": "456 Oak Ave, Portland",
"job_description": "Plumbing inspection and repair",
"po_number": "PO-2026-001"
}
}
Add a note to an existing job:
{
"tool": "servicem8_create_job_note",
"args": {
"related_object_uuid": "job-uuid-here",
"note": "Customer confirmed appointment for Thursday 10am"
}
}
Record a cash payment:
{
"tool": "servicem8_create_job_payment",
"args": {
"related_object_uuid": "job-uuid-here",
"amount": "250.00",
"method": "cash"
}
}
List materials for quoting:
{
"tool": "servicem8_list_all_materials",
"args": {}
}
Retrieve job queue details:
{
"tool": "servicem8_retrieve_job_queue",
"args": {
"uuid": "queue-uuid-here"
}
}
Discovery Workflow
- Call
clawlink_list_integrations to confirm servicem8 is connected.
- Call
clawlink_list_tools --integration servicem8 to see the live catalog.
- Start with
servicem8_list_all_jobs to view current jobs.
- Use
servicem8_list_all_clients to browse your client database.
- Use
servicem8_retrieve_job to get full details on a specific job.
Execution Workflow
Read Flow:
list_all_jobs → retrieve_job → list_all_job_notes / retrieve_job_activity
Write Flow:
list_all_clients → create_jobs → create_job_note → create_job_payment (confirm each)
Manage Flow:
list_all_job_queues → retrieve_job_queue → assign jobs to queues
Notes
- Deletion in ServiceM8 is a soft-delete: records are archived (
active=0) rather than permanently removed. Archived records can be restored by setting active back to 1.
- Job notes support cursor-based pagination. Use
cursor=-1 for the first page and the returned next_cursor for subsequent pages. Each page returns up to 5,000 records.
- The Forms add-on must be enabled to use form-related tools.
- The
read_inventory OAuth scope is required for materials, and manage_job_payments is required for payment operations.
read_tasks OAuth scope is required for task listing operations.
Error Handling
| Status / Error | Meaning |
|---|
| 401 Unauthorized | OAuth token expired; reconnect ServiceM8 from the dashboard |
| 403 Forbidden | Missing required OAuth scope for the operation |
| 404 Not Found | Invalid job, client, note, or other resource UUID |
| 422 Unprocessable | Invalid field value or missing required parameter |
Troubleshooting
Tools Not Visible
Run clawlink_list_tools --integration servicem8 to verify the integration is active. If empty, reconnect at https://claw-link.dev/dashboard?add=servicem8.
Payment Creation Fails
Ensure the manage_job_payments scope is granted. Verify the related_object_uuid is a valid job UUID.
Forms Not Available
The Forms add-on must be enabled in your ServiceM8 account. Contact your ServiceM8 admin to enable it.
Resources
Powered by ClawLink -- an integration hub for OpenClaw
