

AI training, wired into ServiceM8
Connect ServiceM8 in two clicks (OAuth via Nango). TrainAR pulls your jobs into the training platform so each one carries the right context onto the glasses, and posts AR session summaries back into the originating ServiceM8 job. Where ServiceM8 publishes a Model Context Protocol server, the on-glasses Core Training Agent can call into it for richer in-job actions.
What "voice control of ServiceM8" actually looks like
Engineer is on a boiler swap. Hands are full. Glasses are listening.
Voice in, action posted to ServiceM8, voice confirmation - the whole loop in under two seconds. The engineer never put a tool down.
What TrainAR is authorised to do in ServiceM8
When you connect ServiceM8 the OAuth handshake (via Nango) requests these scopes. They are exactly the read and write permissions our backend uses to sync jobs, fetch schedules, and post AR session notes back. The on-glasses agent calls into ServiceM8 within the same authorised surface.
read_jobs
Read your ServiceM8 jobs into TrainAR. Used for sync and for letting the on-glasses agent answer 'what's on my schedule?' questions.
manage_jobs
Update job status and core fields. Used when an engineer marks a job complete by voice on the glasses.
read_schedule
Read the ServiceM8 schedule. Underpins the agent's ability to surface upcoming jobs and warn about double-bookings.
publish_job_notes
Post AR session summary notes attributed to the engineer back into the originating ServiceM8 job.
read_staff
Match ServiceM8 staff records to TrainAR users by email so each job hits the right engineer's training profile.
OAuth via Nango
Tokens never touch TrainAR servers in plain text. Per-tenant scoped access. Revoke from ServiceM8 settings at any time.
Plus the boring-but-essential job sync
Two-way job sync runs in the background so the AI features have something to work with.


ServiceM8 → TrainAR
- Jobs imported with customer, address, type and assigned engineer
- Engineer matched to a TrainAR user via email so the right session opens on the glasses
- Bundle content surfaces by trade-skill alignment so each engineer sees the procedures relevant to their trade


TrainAR → ServiceM8
- AR session notes attached to the originating job
- Photo and video evidence from the glasses uploaded to the job record
- Status, labour and parts updates posted by voice during the job
Common ServiceM8 questions
Do I need ServiceM8's higher-tier plan to use this?+
Any ServiceM8 plan that allows API access. TrainAR talks to ServiceM8 via OAuth (read_jobs, manage_jobs, read_schedule, read_staff and publish_job_notes scopes) using your normal ServiceM8 account.
Where does authentication happen?+
OAuth handshake runs through Nango. ServiceM8 issues a per-tenant token that lives in the Nango vault - TrainAR only holds a reference. You can revoke access from ServiceM8 settings at any time and the integration stops working immediately.
What if my engineer is offline mid-job?+
The Core Training Agent on the glasses queues voice updates locally. As soon as connectivity returns the queued calls fire in order so the ServiceM8 job catches up.
Can I limit what the integration writes to ServiceM8?+
Yes. The OAuth scopes above are the upper bound. You can also configure read-only mode in TrainAR tenant settings, in which case the agent will tell the engineer when an action would exceed read-only access.