list_clients
List Clients
List and filter clients (companies) from ServiceM8. Supports OData-style filtering on fields like **name**, **active**, **address_city**, etc. Returns all matching client records.
list_clients
List and filter clients (companies) from ServiceM8. Supports OData-style filtering on fields like **name**, **active**, **address_city**, etc. Returns all matching client records.
schedule_job
Create a scheduled booking (job activity) for a job and optionally assign a staff member. This creates a time-based entry on the schedule with start and end times. Use this to schedule work periods and allocate staff.
manage_job_materials
List, add, update, or remove materials (line items) on a job. Use **action** to specify the operation: `list` returns all materials for a job, `add` creates a new line item, `update` modifies an existing one, and `remove` deletes it.
add_note
Add a note to a job or other record in ServiceM8. Notes appear in the job diary and can include text content linked to a specific job by UUID.
list_job_activities
List scheduled bookings and recorded time entries (job activities) from ServiceM8. Filter by job UUID, staff UUID, or date range to find specific schedule entries.
list_jobs
List and filter jobs from ServiceM8. Supports OData-style filtering on fields like **status**, **company_uuid**, **active**, and **total_price**. Returns all matching jobs with their details including status, address, description, and pricing.
get_client
Retrieve a single client (company) by UUID, including their address, contact details, and associated contacts.
create_job
Create a new job in ServiceM8. Specify the job address, description, status, and optionally link it to a client (company). Returns the UUID of the newly created job.
record_payment
Record a payment against a job in ServiceM8. Specify the job, payment amount, and optionally the payment method. Returns the UUID of the created payment record.
update_client
Update an existing client (company) in ServiceM8. Modify any combination of fields including name, address, website, and billing details. Only the provided fields will be updated.
list_staff
List staff members in ServiceM8. Supports OData-style filtering on fields like **active**. Returns all matching staff records with names, email, and mobile.
get_job
Retrieve a single job by UUID with all its details including status, address, description, pricing, and associated client information.
create_client
Create a new client (company) in ServiceM8. The name is required. Optionally provide address, website, and billing details. Returns the UUID of the newly created client.
update_job
Update an existing job in ServiceM8. Modify any combination of fields including status, description, address, pricing, and client association. Only the provided fields will be updated.
manage_contact
Create or update a company contact in ServiceM8. If a contactUuid is provided, the existing contact is updated. Otherwise, a new contact is created linked to the specified company.
delete_job
Delete a job from ServiceM8 by UUID. This marks the job as inactive/deleted.
Manage field service operations for small businesses. Create, update, and track jobs with scheduling, staff allocation, and status tracking. Manage clients (companies) and contacts with full CRUD operations. Assign staff to jobs, schedule work periods, and manage allocation windows. Track materials, create invoices, record payments, and manage tax rates. Handle customer assets with configurable asset types. Create and manage custom forms, checklists, and form responses. Add notes and file attachments to jobs. Send emails and SMS messages on behalf of the account. Generate templated documents such as quotes and invoices. Manage inbox messages and convert them to jobs. Search across jobs, clients, and other objects. Add custom fields to standard objects. Subscribe to webhooks for object-level field changes and business-level events like job creation and completion.
Common questions about connecting Servicem 8 to AI agents with Metorial.