Job management integration

simPRO and ServiceM8 phone integration for trade and field service

In a field service business, the job is the record that matters. When the phone system knows about it, the call arrives with the site, the open job and the history already on screen, and the notes get written back without anyone re-typing them.

The ten minutes a job

One of our builds was for a plumbing group with forty vans that was losing ten minutes a job to re-typing. Every inbound call meant searching job management by hand while the customer waited, then copying the notes across afterwards. The fix wasn’t exotic: match the number, pop the job, write the call back.

Trades and field service

The call arrives with the job already on screen

A plumbing group with forty vans was losing ten minutes a job to re-typing. Now an inbound call matches the number against job management, pops the site history on the operator screen, and writes the call back against the job the moment it ends. No double entry, and the notes are actually there.

Webhook insimPRO APIScreen pop3 week build
handlers/inbound-match.js
// Inbound call -> find the customer, find the open job, pop the screen.
export async function onInboundCall(event) {
  const caller = normaliseAu(event.from);        // +61... every time
  const customer = await simpro.customers.search({ phone: caller });

  if (!customer) return agentScreen.show({ template: "new-lead", caller });

  const job = await simpro.jobs.findOpen({ customerId: customer.id });
  await agentScreen.show({
    template: "known-customer",
    name: customer.name,
    site: job?.siteAddress ?? customer.billingAddress,
    lastVisit: customer.lastVisitedOn,
    openJob: job?.number ?? null,
    balance: customer.balanceCents / 100
  });
}

What the call should already know

  • Who is calling. Customer name, or a new-lead screen if the number is unknown.
  • Where. The site address on the open job, or the billing address if there’s no job.
  • What is open. The job number, its status and the last visit date.
  • Whether they owe anything. The balance, so the office isn’t caught out.

Writing back to the job

When the call ends, it’s logged against the job: time, duration, who took it, a link to the recording and, if you want it, an AI-written summary. The technician opening the job on site sees that the customer rang about access at 7:40, without anyone having to tell them.

simPRO, ServiceM8, AroFlo, Fergus: what changes

The pattern is the same across job management platforms. What changes is how each one models customers, sites and jobs in its API, and therefore where a phone number is stored, how a match is made and where the call note lands. Those decisions are made per system in the audit, not assumed.

Alongside simPRO, ServiceM8, AroFlo and Fergus, we’ve connected Tradify, Jobber, ServiceTitan, WorkflowMax, Ascora and others. The integrations page has the full list.

After hours and on call

Field service phones don’t stop at five. Routing can read the live roster so the right technician’s mobile rings at 2am, and an AI voice agent can take the after-hours calls, book routine work straight into the diary and wake the on-call tech only for genuine emergencies. See the AI receptionist for trades.

Common questions

What access do you need to our job management system?

An API connection authorised by an administrator on your account, scoped to what the build needs. Nothing is changed in your job management setup without you agreeing to it first.

What about customers who share a number, like a head office or a strata manager?

Shared and duplicate numbers are common in trades. When a number matches more than one customer, the screen shows the options rather than guessing, and the call note is attached once the right job has been chosen.

How long does it take to build?

The simPRO build above was three weeks. Yours depends on the platform and how much logic sits in the middle, and gets a fixed price and timeline after the audit.

Start here

Book the $450 systems audit

We go through what you’re running, what it’s costing you, and where the call is falling out of the process. You get a written plan and a fixed-price quote for the work, and it’s yours to keep whoever you decide to use.

$450 fixed, in AUD, excluding GST. Conducted remotely, Australia wide. On-site audits quoted separately on request.