ServiceM8 how-to
Can you give each estate agent their own ServiceM8 booking link?
Not fully. ServiceM8 has no setting that limits one agent's booking link to set appointment times. The closest native setup is a separate Service per agency, restricted to chosen staff and a service radius, shared with a utm_source tag so bookings report by agency. Hard limits on hours or days per agent need an add-on built on ServiceM8's API.
Last checked 25 Sep 2026 against the sources listed at the end of this page.
Partly: a Service per agency plus a tagged link gets close, and SMS booking links offer hand picked times per job, but there is no native per agent limit on hours or days.
Step by step
- Activate the Services add-on and Self Serve Online Booking in Settings, ServiceM8 Add-ons.
- In Settings, Services, click New Service and name it for the agency and the work, for example rental repairs for that agency.
- In Job Details, preset the Job Category, description and badges you use for agency work, so these jobs are easy to filter and bill.
- Under Scheduling, choose Schedule a Service (or Schedule a Quote) and assign only the staff whose time you want offered to this agency.
- Under Policies, set a Service Radius around the agency's rent roll area so out of area addresses become enquiries.
- Under Service Pricing, set Manually approve jobs over to the agency's approval limit, if they have one.
- Publish to Staff and Customers, then copy the Service link from Settings, Self Serve Online Booking.
- Add &utm_source= and the agency name to the link (before any #) and send it to the agency. Check Reports, Online Bookings By Source to see bookings per agency.
- For a single work order with set times: create the job, click New Booking, filter by staff, date, duration and start time, then click Booking Link to text the tenant.
Gotchas
- An SMS booking link works once. The tenant cannot reuse it for a later job, so each work order needs a fresh link.
- For jobs with a Service applied, the SMS booking link offers times from that Service's staff and does not show pricing to the tenant.
- Each agency Service is its own copy of your pricing and questions. When prices change, every agency Service needs updating, so keep the number of agency Services small.
- Online booking reports sit in the Reports tab, which only the Business Owner role can open by default.
- A Service link carries no login. If an agency forwards it widely, anyone can book against the staff on that Service.
What the official help article misses: It explains single use tenant links but not the agency side: it does not compare them with a Service per agency, does not say Service pages have no day or hour limit beyond staff schedules, and does not mention tagging links to report bookings per agency. Read ServiceM8's article.
What ServiceM8 can restrict on its own
Property managers want a link they can send tenants, or use themselves, that only offers the times you have set aside for their agency. ServiceM8 has two native tools that get part of the way.
A Service per agency. Each published Service has its own booking link. Within a Service you choose which staff can do the work, and ServiceM8 only analyses those staff members' schedules when it offers times. You also choose the Booking Type (book a quote visit, book the job, or enquiry only), a Service Radius beyond which customers are sent to an enquiry form, and a dollar limit above which a booking becomes an enquiry for you to approve. The Service's Job Details can preset a Job Category and badges, so every booking from that agency arrives already labelled.
SMS booking links per job. When an agency sends a work order, you create the job, click New Booking on the Dispatch Board and filter the availability by staff member, date, duration or start time. Clicking Booking Link sends the tenant a text with a unique link showing only the times that match. The tenant picks one, confirms their details, and the job is scheduled. This is the only native way to offer a hand picked set of times.
What it cannot do
ServiceM8's Services article describes staff, duration, arrival windows and service radius as the inputs to booking times. It does not describe a setting that limits a Service to certain weekdays or hours of the day, so a Service link offers any time that suits its assigned staff. If you want an agency limited to, say, Tuesday and Thursday mornings, the native workaround is to keep only the right staff on that Service and block the rest of their calendar, which usually costs more scheduling freedom than it saves.
The help centre also describes no login or password on booking pages, so treat an agency's Service link as public: anyone who has it can book. SMS booking links are the opposite. They are single use, so a tenant cannot use the same link to book twice, and the earliest time offered for jobs without a Service is the next business day's opening.
The add-on route to true per agent links
Where agencies are a large share of the work, the clean answer is a small booking page per agency that shows only the slots you have agreed with them and writes the job straight into ServiceM8. ServiceM8's REST API can create jobs and job bookings (Job Activities, under the manage_schedule scope) and read the existing schedule, so an add-on can enforce rules ServiceM8's own pages do not: set days, set hours, a weekly cap per agency, or a required property manager field.
The API allows 180 requests per minute and 20,000 per day per add-on per account, which is far more than a booking page needs. The booking still lands as a normal ServiceM8 job, so billing the agency rather than the tenant works the same as for any other job.
Sources
- SMS booking links are created from New Booking on the Dispatch Board after filtering by staff member, date, duration or start time; each link is single use; for jobs without a Service the earliest time offered is the next business day's opening; jobs with a Service use that Service's staff and do not show pricing. ServiceM8 Help Center, checked 25 Sep 2026.
- A Service's booking times are based on the staff assigned to it; a Service Radius sends customers outside it to an enquiry; jobs above the Manually approve jobs over limit become enquiries; Job Details can preset Job Category and badges. ServiceM8 Help Center, checked 25 Sep 2026.
- Adding &utm_source=SourceName to a ServiceM8 booking link tags bookings by source, reported in the online booking reports with visits, conversion rate and revenue. ServiceM8 Help Center, checked 25 Sep 2026.
- The ServiceM8 API has a create endpoint for Job Activities (bookings) requiring the manage_schedule scope. ServiceM8 Developer, checked 25 Sep 2026.
- The ServiceM8 API is limited to 180 requests per minute and 20,000 requests per day, per add-on per account. ServiceM8 Developer, checked 25 Sep 2026.
- By default only the Business Owner security role can view the Reports tab. ServiceM8 Help Center, checked 25 Sep 2026.