Daily ServiceM8 dispatch briefing for your field team in Slack

Every weekday at 6:30am each technician gets a Slack run sheet with their jobs, site details, client contacts and anything that could waste a trip.

Agentic Task
ServiceM8SlackOperationsDaily DigestsAI Reports
PromptCreate

Every weekday at 6:30am, build a dispatch briefing for my ServiceM8 field team and post it to Slack before the vans leave the yard. Run this on a cron trigger set to weekdays at 6:30am in my ServiceM8 account timezone.

Start by pulling today's scheduled work from ServiceM8 with List Job Activities, scoping to today's date range using an OData $filter on the activity start date. Then call List Job Allocations to see which jobs are allocated to which staff, and List Staff Members to resolve those staff records into real names. If a job is on today's schedule with nobody allocated to it, keep it and report it as unassigned rather than dropping it silently.

Enrich every job on today's run so the briefing is actually useful on site. Use List Jobs for the work description, the site address and the current job status. Use List Clients for the client name and contact details, remembering that ServiceM8 stores clients as company records. Use List Job Materials to see which parts have already been booked to each job. Use List Notes to pick up any job notes the office has added.

Flag the three things that cause a wasted trip. First, jobs with no materials booked yet: call these out, but treat them as a prompt rather than an error, since quote visits and inspections often have nothing booked. Second, whether the job is at a brand new client or a repeat client: work this out by checking whether that client has any earlier jobs in the ServiceM8 history, and say which it is. Third, access constraints: read both the job description and the job notes, and flag anything mentioning keys, lockboxes, gates, pets, alarm codes, parking restrictions, site inductions or restricted access hours. Quote the relevant line verbatim so the technician sees the actual wording rather than my paraphrase of it.

Post one Slack message per technician using Send a Message to my dispatch channel. Lead each message with the technician's name, how many jobs they have today, and a one line run sequence of their stops in order. Then list each job in scheduled start time order with the start time, the site address, a short plain description of the work, the client name with the best contact number, the parts already booked, and any flags from above. Keep it scannable in Slack mrkdwn with bold headings and short lines, because people read this on a phone in a van.

If I would rather each technician get their run sheet privately, match ServiceM8 staff to Slack accounts by email using List Users, open a direct message channel with Open a Conversation, and send there instead of the shared channel.

Handle the quiet days too. If a technician has no jobs today, skip them by default. If ServiceM8 returns no scheduled work at all for today, post a single message saying the schedule is clear rather than staying silent, so I know the briefing ran.

What does this prompt do?

  • Checks today's schedule in ServiceM8 first thing each weekday and works out which technician is on which job.
  • Builds one Slack message per technician listing their jobs in run order, with the site address, what the work is, and who to call when they get there.
  • Puts the day's job count and run sequence at the top so everyone knows their load before they leave the yard.
  • Flags the things that cause a wasted trip: no parts booked yet, a first time client, and access notes about keys, gates, pets or site inductions.

What do I need to use this?

  • A ServiceM8 account with your jobs, clients and staff already in it
  • A Slack workspace, plus the channel you want the morning briefings posted to
  • Technicians assigned to jobs in the ServiceM8 schedule, so the briefing knows who is doing what
  • Site addresses and client contact details filled in on your ServiceM8 client records

How can I customize it?

  • Change the send time or the days it runs, for example 5:30am for an early start crew, or seven days a week if you roster weekends.
  • Send each technician their run sheet as a private direct message instead of posting to a shared dispatch channel, or do both.
  • Adjust what gets flagged: add your own access keywords like scaffold, permit or swipe card, or turn off the no parts warning for teams that quote on site.

FAQs

Will this work if my technicians are not in Slack?
Yes. The briefing can go to a single dispatch channel that your office team watches, with one message per technician so it is still easy to read. Technicians who are in Slack can also get their own run sheet as a direct message.
What happens if a job gets rescheduled after the briefing goes out?
The briefing is a snapshot of the schedule at send time. Many teams run it again mid morning to catch changes, or keep the single 6:30am send and rely on ServiceM8 for live updates through the day.
How does it know whether a client is new or a repeat?
It looks at whether that client has any earlier jobs in your ServiceM8 history. If today is their first, the job gets flagged so the technician knows to expect an unfamiliar site and a customer who has not met the team before.
What if a technician has no jobs scheduled that day?
By default they are skipped. You can also have the briefing send a short note saying the day is clear, which is useful for spotting spare capacity early in the morning.
Do I need parts booked on every job for this to work?
No. The no parts warning is a prompt, not a rule. Quote visits and inspections often have nothing booked, so you can switch that flag off or limit it to repair and install work.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Turn each week's football fixtures into a venue staffing plan

Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.

API-Sports
Google Calendar
Slack
Agentic Task
Turn 5 star Yotpo reviews into a weekly marketing content queue

Every Tuesday we pull your best new reviews, draft social captions, email testimonials and product page quotes, then stage them in Notion for approval.

Yotpo
Notion
Slack
Agentic Task
Catch bad shipping addresses before you buy the label

Every weekday morning, unfulfilled orders get an address check: harmless typos fixed automatically, risky addresses held with a note to the customer.

Shippo
Shopify
Gmail
+1
Agentic Task

Stop sending your vans out blind.

Give every technician their run sheet, site details and trip risks in Slack before they leave the yard.