Use the ServiceM8 CLI from KosmoKrator to call ServiceM8 tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.
ServiceM8 can be configured headlessly with `kosmokrator integrations:configure service_m8`.
# Install KosmoKrator first if it is not available on PATH.curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash# Configure and verify this integration.kosmokrator integrations:configure service_m8 --set access_token="$SERVICE_M8_ACCESS_TOKEN" --enable --read allow --write ask --jsonkosmokrator integrations:doctor service_m8 --jsonkosmokrator integrations:status --json
Credentials
Authentication type: Manual OAuth tokenoauth2_manual_token. Configure credentials once, then use the same stored profile from
scripts, coding CLIs, Lua code mode, and the MCP gateway.
Key
Env var
Type
Required
Label
access_token
SERVICE_M8_ACCESS_TOKEN
Secret secret
yes
Access Token
url
SERVICE_M8_URL
URL url
no
API Base URL
Call ServiceM8 Headlessly
Use the generic call form when another coding CLI or script needs a stable universal interface.
Every function below can be called headlessly. The generic form is stable across all integrations;
the provider shortcut is shorter but specific to ServiceM8.
service_m8.servicem8_list_jobs
Read read
List jobs from ServiceM8. Returns job details including status, client, dates, and descriptions. Supports filtering by status and pagination.
Get detailed information about a specific ServiceM8 job by its UUID. Returns full job details including status, client, description, dates, and assigned staff.
Get detailed information about a specific ServiceM8 client by their UUID. Returns client details including name, email, phone, billing address, and notes.
List activity records from ServiceM8. Returns a timeline of events such as job status changes, comments, and notes. Supports filtering by job and pagination.
Filter by job status (e.g. "open", "in_progress", "completed", "cancelled").
limit
integer
no
Maximum number of jobs to return per page.
offset
integer
no
Number of records to skip for pagination.
service_m8.servicem8_get_job
Get detailed information about a specific ServiceM8 job by its UUID. Returns full job details including status, client, description, dates, and assigned staff.
Get detailed information about a specific ServiceM8 client by their UUID. Returns client details including name, email, phone, billing address, and notes.
List activity records from ServiceM8. Returns a timeline of events such as job status changes, comments, and notes. Supports filtering by job and pagination.
Headless calls still follow the integration read/write permission policy. Configure read/write defaults
with integrations:configure. Add --force only for trusted automation that should bypass that policy.