ServiceM8
Integrations › ServiceM8
Field Service

ServiceM8 Integration

Send ad leads straight into ServiceM8 as a Company, Contact, and Quote-ready Job -- so your tradies see new jobs in their queue without you re-typing a thing.

Available Integrations

Connect ServiceM8 with 4 lead sources

Start Free Trial No credit card required · 7-day free trial
Trusted by
1,000+ businesses
Leads synced
2M+
Integrations
37+
Free trial
7 days, no card

How It Works

1
Connect Your Ad Account
Link your Facebook, Google, LinkedIn, or TikTok ad account to LeadSync in one click.
2
Choose ServiceM8
Select ServiceM8 as your destination and authenticate your account.
3
Map Your Fields
Match your lead form fields to ServiceM8 and start syncing leads instantly.

How Facebook Leads Become ServiceM8 Quotes

When a Facebook lead comes in, LeadSync creates three linked records in your ServiceM8 account in sequence: a Company (named after the lead's company or full name), a CompanyContact attached to it with the lead's email, phone, and mobile, and a Job with status set to Quote so it lands in your team's quote queue ready for scheduling or follow-up. The job's job_description includes the form name, submission timestamp, and any extra questions you captured on the lead form, so the assigned tech sees the full context the moment they open it.

ServiceM8 stores email and phone on the Contact rather than the Company itself, so LeadSync follows ServiceM8's data model exactly -- creating the Contact in a separate API call linked to the Company by company_uuid. The street address goes on the Company in structured fields (address_street, address_city, address_state, address_postcode, address_country) so ServiceM8 can geocode it for routing.

Duplicate Detection and the company_uuid Reuse Pattern

Before creating a new Company, LeadSync searches ServiceM8's CompanyContact endpoint by email. If a contact with that email already exists -- a returning client, or a prospect who filled out a different ad form for the same business -- LeadSync skips the Company and Contact creation steps and goes straight to creating the new Job under the existing company_uuid. Your customer list stays clean and the new quote threads onto the existing record rather than forking a parallel one.

This matters more for field service than other verticals: ServiceM8 doesn't merge duplicate Companies automatically, and a tech opening the wrong customer record can mean travelling to the wrong address. Threading new jobs onto existing customer records keeps the dispatcher's view accurate.

OAuth, Token Refresh, and the Reconnect Email

ServiceM8 uses OAuth -- click connect, authorize from your ServiceM8 account, and LeadSync handles the rest. Access tokens are valid for one hour and refresh automatically when an API call returns 401; the rotated refresh token is persisted back to your connection record so the next refresh works cleanly.

If the refresh token itself becomes permanently invalid -- for example, the LeadSync app was removed from inside ServiceM8, or the connection sat idle long enough for the OAuth server to time it out -- LeadSync detects this on the next lead, marks the connection as needing reconnection, and sends you a one-time email with a direct link to reconnect. Any leads that arrived while the connection was dead are automatically re-queued the moment you reconnect, so no submissions are lost in the gap.

Frequently Asked Questions

Click ServiceM8 in the LeadSync destination list and authorize the OAuth connection from your ServiceM8 account. No API keys to manage; LeadSync uses ServiceM8's standard OAuth2 flow with the scopes needed to create Companies, Contacts, and Jobs.
A new Company (named after the lead's company or full name), a CompanyContact attached to it with email, phone, and mobile, and a Job with status set to Quote. The Job's description includes the lead form name, submission timestamp, and any unmapped form fields so the dispatcher has the full context.
ServiceM8's data model splits a customer across three objects: Company holds the name and structured address, CompanyContact holds email and phone, and Job is the actual work record. LeadSync creates all three in one round trip so your team sees a workable quote in their queue immediately rather than a bare contact record.
No. Before creating a Company, LeadSync searches ServiceM8's CompanyContact endpoint by email. If a contact with that email already exists, LeadSync reuses the existing company_uuid and creates the new Job under that same Company. Your customer list stays clean and the quote threads onto the existing record.
ServiceM8's billing notes that Job creation may incur charges depending on your plan tier. Check your ServiceM8 subscription before connecting if you're on a metered plan; if you'd prefer Contact-only sync without Job creation, get in touch and we'll discuss a per-connection toggle.
Street, city, state, postcode, and country map independently to the ServiceM8 Company's structured address fields (address_street, address_city, etc.). ServiceM8 will geocode the address automatically for routing, and the same address is mirrored onto the Job's job_address field so the tech sees it on the quote.
Unmapped lead form fields are appended to the Job's job_description so the assigned tech sees the full context the moment they open the quote. Form name and submission timestamp are also captured automatically.
If the OAuth refresh token becomes permanently invalid (typically because LeadSync was removed from inside ServiceM8), LeadSync detects this on the next lead, marks the connection as needing reconnection, and sends you a one-time email with a direct link to reconnect. Any leads that arrived while disconnected are automatically re-queued the moment you reconnect.
Yes. LeadSync supports ServiceM8 as a destination for lead forms from Facebook, Instagram, Google Ads lead form extensions, LinkedIn Lead Gen Forms, and TikTok Lead Generation. Each ad source becomes its own LeadSync connection.

Start Syncing Leads to ServiceM8

Set up your ServiceM8 integration in under 60 seconds. Free 7-day trial, no credit card required.

Start Your Free Trial
No credit card required • Set up in 60 seconds • Cancel anytime