Daily ServiceM8 dispatch briefing for your field team in Slack

By General Input

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.

Integrations

  • ServiceM8
  • Slack

Type

Agentic Task

Categories

  • Operations

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes