# AI and ServiceM8.

URL: https://levystreet.com/integrations/servicem8/
Updated: 2026-10-19

An AI ServiceM8 integration guide for NZ trades: AI Smart Helpers, the API, webhooks and official MCP server, and a job-notes-to-quote draft with approval.

## Short answer

An AI ServiceM8 integration connects a model to your jobs, clients, notes and materials, through ServiceM8's built-in AI Smart Helpers, its REST API and webhooks, or its official MCP server for ChatGPT and Claude. For New Zealand trades the best first job is turning site notes and photos into a quote draft priced from your own materials list, approved by the office before the customer sees it.

- AI Smart Helpers, including quote and invoice drafting, are listed on every ServiceM8 plan.
- ServiceM8's official MCP server can schedule jobs, change statuses and send SMS or email.
- The API allows 180 requests a minute and 20,000 a day per app and account.
- Webhooks send the record ID and changed field names, never the new values.
- Jobs created by AI use job credits from your plan's monthly allowance.

## What ServiceM8's own AI does (October 2026)

ServiceM8's [NZ pricing page](https://www.servicem8.com/nz/pricing), as listed on 19 October 2026, includes AI Smart Helpers on every plan: Free (30 jobs a month), Starter $29 (50 jobs), Growing $79 (150), Premium $149 (500) and Premium Plus $349 (1,500+). The page does not state the currency or whether GST is included. The Smart Helper drafts emails and texts, generates quotes and invoices, and summarises jobs. The NZ feature list adds AI Automated Quoting, which drafts a quote description and a list of materials and services, plus AI Scheduling, an AI Phone Agent, AI Report Builder and AI Photo Tagging.

Try AI Automated Quoting first. Build your own when quotes depend on rules ServiceM8 does not apply, such as minimum call-out charges or margin by job type, or on data held elsewhere, such as a supplier price file.

## Integration routes and when to use each

| Route | What it gives you | Use it when |
|---|---|---|
| AI Smart Helpers and AI Automated Quoting | Drafting inside ServiceM8 | Always the first test; no build |
| Private add-on (API key) | REST access to your own account with an `X-API-Key` header | A quick custom build for one business |
| Public add-on (OAuth 2.0) | Granular scopes, webhooks and platform SMS and email | Production integrations that need least privilege |
| Webhooks | Change notices for jobs, notes, materials, clients, attachments and form responses | Drafting should start when a note or job changes |
| Official MCP server | ChatGPT plugin and Claude connector: search, notes, scheduling, status changes, SMS and email | Office staff working in their AI assistant, with supervision |

## Automation 1: job notes to quote draft


- **Inputs**: The job description, diary notes and site photos (`read_jobs`, `read_job_notes`, `read_job_photos`), your materials and bundles (`read_inventory`), and pricing rules written by the owner.
- **Model step**: Propose quote lines as JSON: a material ID from your list, quantity, labour hours and a plain-English scope, each citing the note or photo behind it. Anything not on your list is flagged, never invented.
- **Validation**: Code confirms every material exists, takes prices from ServiceM8 rather than the model, applies call-out and labour rules, and totals the quote using the account's GST setting.
- **Human approval**: The job stays in Quote status. The office manager or owner reviews, adjusts and sends it personally.
- **Write-back**: Lines through `manage_job_materials` and a diary note saying "AI draft, needs review" through `publish_job_notes`. No SMS or email scopes are granted.
- **Failure and recovery**: Draft lines carry a marker, so a reviewer can delete them in one pass and quote by hand.


| Model output | ServiceM8 target | Rule |
|---|---|---|
| `material_id` | Job material | Must exist in your materials list |
| `quantity` | Job material quantity | Greater than zero, in the listed unit |
| Price | Job material price | Taken from ServiceM8, never from the model |
| `scope_text` | Quote description | Plain English, no prices |
| `evidence` | Diary note | Links each line to a note or photo |

The wider workflow, including site visit capture, is mapped in [quote preparation from job notes](/industries/construction/quote-preparation-from-job-notes/).

## Automation 2: enquiry triage to a draft job


1. **Read.** New inbox messages and web form entries arrive (`read_inbox`).
2. **Classify.** Emergency, new quote request, existing job follow-up or not work. Emergencies go straight to the on-call phone, not a queue.
3. **Match.** Find the existing client by email or phone and link the message to an open job where one exists.
4. **Draft.** For new work, prepare a job from a template with address and description, plus a reply draft.
5. **Approve.** A person creates the job and sends the reply. Creating jobs uses job credits, and ServiceM8 notes the `create_jobs` scope may incur charges.


## Permissions and approval design

[ServiceM8's scopes](https://developer.servicem8.com/docs/authentication) separate reading from writing for jobs, notes, materials, the inbox, SMS and email, and ServiceM8 says requesting fewer scopes earns a higher rate limit. Grant read scopes to the drafting step and add `manage_job_materials` and `publish_job_notes` only for write-back. Leave out `publish_sms`, `publish_email` and `create_jobs` unless a person triggers them. Our guide to [agent permissions and approvals](/engineering/agent-permissions-and-approvals/) sets out the pattern.

The [MCP server](https://support.servicem8.com/hc/en-us/articles/13811757421327-how-to-connect-servicem8-to-chatgpt-with-mcp) can change job status and send messages, and ServiceM8 says the assistant may ask for confirmation depending on app permissions and settings. Treat confirmation as not guaranteed. In ChatGPT, uninstalling the plugin leaves the connection in place; disconnect it under Settings, Apps.

Customer names, addresses and phone numbers reach the model provider. The Privacy Commissioner treats a provider that processes data only on your behalf as part of your organisation, so you stay responsible; a provider that trains on it would change that.

## Costs and limits (as listed 19 October 2026)

- **API**: 180 requests a minute and 20,000 a day, applied separately to each app and account pairing; excess returns 429.
- **Plan effects**: job credits are consumed by AI-created jobs, and SMS beyond the plan cap attracts overage fees.
- **Model cost, worked example**: 200 quote drafts a month at about 10,000 input and 1,000 output tokens on Claude Sonnet 5.5 (US$2 and US$10 per million) is 200 × US$0.03 = US$6.

## Where it goes wrong

- **Webhooks without values.** Notices carry the ID and changed field names; fetch the record from `resource_url`. Failed deliveries retry for up to 72 hours and are then cancelled, so check `last_failure_reason` regularly.
- **GST confusion.** ServiceM8 lets amounts be tax inclusive or exclusive. A model reading "$450" from a note does not know which; take totals from code.
- **Errors flowing to accounts.** Approved invoices sync to Xero or MYOB, so a wrong line lands in your books too. See our [Xero](/integrations/xero/) guide.

Larger trade businesses comparing platforms should read our [Simpro guide](/integrations/simpro/). For a build with approvals designed in, see [AI workflow automation](/services/ai-workflow-automation/).

## Questions people ask

### Does ServiceM8 have AI built in?

Yes. ServiceM8's NZ pricing page lists AI Smart Helpers on every plan, including the free one: a helper that drafts emails and texts, generates quotes and invoices, and summarises jobs. Its NZ feature list also names AI Automated Quoting, AI Scheduling, an AI Phone Agent, AI Report Builder and AI Photo Tagging. ServiceM8 does not say whether the phone agent supports NZ numbers or costs extra.

### Can ChatGPT or Claude connect to ServiceM8?

Yes. ServiceM8 runs an official MCP server at https://api.servicem8.com/mcp. It is an approved plugin in ChatGPT and can be added to Claude as a custom connector; on Claude Team and Enterprise an Owner adds it for the organisation first. It can search jobs and clients, add notes, schedule work, change job status and send job-linked SMS and email.

### Can AI send quotes to customers automatically?

It can, but it should not at the start. A model can misread a note, pick the wrong material or miss a hazard the technician mentioned in passing. Keep the job in Quote status, have the office or owner review every line, and let a person press send. Once you have reviewed a few hundred drafts you will know which simple job types are safe to speed up.

### What does a ServiceM8 AI integration cost to run?

The running costs are your ServiceM8 plan, hosting for the integration and model usage. As a worked example, 200 quote drafts a month at about 10,000 input and 1,000 output tokens each on Claude Sonnet 5.5 is roughly US$6 in model fees. Watch indirect costs too: AI-created jobs use job credits and sent SMS can add charges.


## Sources

- [ServiceM8 pricing (NZ)](https://www.servicem8.com/nz/pricing)
- [ServiceM8 feature overview (NZ)](https://www.servicem8.com/nz/feature-overview)
- [Authentication](https://developer.servicem8.com/docs/authentication)
- [HTTP response codes](https://developer.servicem8.com/docs/http-response-codes)
- [Webhooks overview](https://developer.servicem8.com/docs/webhooks-overview)
- [Connect ServiceM8 to ChatGPT or Claude](https://support.servicem8.com/hc/en-us/articles/13811757421327-how-to-connect-servicem8-to-chatgpt-with-mcp)
- [Working with third-party providers](https://www.privacy.org.nz/resources-and-learning/a-z-topics/working-with-third-party-providers/)
- [Pricing](https://platform.claude.com/docs/en/about-claude/pricing)

Published by Levy Street (https://levystreet.com), Wellington, New Zealand.
