End-of-Day Driver Debrief
Example prompt: "When a driver submits the end-of-shift Google Form, reconcile their mileage and fuel against this morning's run sheet, flag anything off, and draft a daily ops summary in #fleet on Slack."
The Problem
The end of the shift is when a driver wants to be home, and it is also when the office most needs reliable numbers — mileage on the van, fuel bought against the company card, drops completed, drops that did not happen, anything that went wrong on the road. Captured by photo to a WhatsApp group, the numbers sit on a phone until someone with a quiet moment types them into a sheet, by which point the day has cooled and the questions that would have caught a fuel-card misuse or an unrecorded private trip are not being asked.
How GloriaMundo Solves It
We build a workflow with two triggers. The first fires on each driver's end-of-shift Google Form submission: an integration step looks up the morning's manifest row, a code step walks the mileage gates (start_mileage NULL → flag and skip; mileage_today ≤ 0 → flag and skip; otherwise compute) and checks the mpg band with a UK-gallon unit conversion, and an integration step appends or updates the debrief row. The second trigger fires on a scheduled 7pm cadence: it reads every debrief row for today, composes a one-page ops summary as a Google Doc, and posts a one-line summary in the ops Slack channel. The scheduled trigger runs once per evening regardless of how many submissions arrived, so duplicates from the form path do not produce duplicate docs.
Example Workflow Steps
- Trigger A (integration): A new submission lands on the 'End of shift' Google Form.
- Step 1 (integration): Look up today's 'Daily Manifest' row for the driver; flag 'Vehicle mismatch' if the manifest vehicle_reg differs from the form's.
- Step 2 (integration): Read the rolling baseline from the 'Driver Mileage Baseline' tab and the vehicle's mpg band from the 'Fleet Register' tab.
- Step 3 (code): Walk the mileage gate sequence — skip if start_mileage is NULL ('Start mileage missing') or if mileage_today ≤ 0 ('Zero or negative mileage'). Otherwise compute mileage_today and convert the mpg band to a litres-per-mile band (4.54609 litres per UK gallon) for the consumption check.
- Step 4 (conditional): Flag the debrief if any anomaly fires (mileage spike, mpg out of range, drops unaccounted, issues text non-empty).
- Step 5 (integration): Dedupe on form_response_id and append or update the 'Driver Debriefs' row with all form fields, computed values, and the flag list.
- Trigger B (scheduled): Every weekday at 7pm.
- Step 6 (integration): Read every 'Driver Debriefs' row where manifest_date = today.
- Step 7 (llm + integration): Compose a one-page ops summary as a Google Doc named 'Daily Debrief — [manifest_date]' in '/Operations/Daily Debriefs/' covering the day's totals and the flagged debriefs.
- Step 8 (integration): Post a one-line summary in #ops on Slack at 7:15pm with the link to the doc.
Integrations Used
- Google Forms — the driver's end-of-shift submission
- Google Sheets — the manifest, the baselines, the fleet register, the debriefs log
- Google Docs — the one-page daily ops summary
- Google Drive — the daily-debriefs folder
- Slack — the one-line evening summary for the ops manager
Who This Is For
Last-mile delivery, courier, and haulage ops with 5 to 80 drivers a day, where end-of-shift numbers currently arrive as phone photos to a group chat and the office's first chance to ask questions about fuel use or unaccounted drops is the morning after.
Time & Cost Saved
Typing the day's debriefs from photos into a sheet, comparing each driver's mileage to the baseline, spotting the fuel-card outliers, and putting a summary in front of the ops manager takes someone in the office an hour to ninety minutes every evening — and almost always slips a day. This workflow turns it into a five-minute review of the flagged debriefs before the manager closes the depot, and the questions that catch a misused fuel card or a quietly-unrecorded private trip get asked the same evening rather than not at all.