Skip to content
Kyle Rivelli.

Work

Email bots · Live · since August 2026

The morning appointment run.

One click rolls stale pickup dates forward in the TMS and drafts the shipper's appointment emails, day-of or the day before, never earlier.

LiveTMS APIMicrosoft Graphreport feed
exportcodeclean files

The problem

Loads that did not move yesterday still showed yesterday's pickup date, and each one needed a date change in the TMS plus an appointment email to the shipper. Two chores, every load, every morning.

How it works

  • The run pulls today's board from a TMS report, no file upload. Every stale pickup rolls to today with a standard 09:00 to 16:00 window stamped on it.
  • The TMS has two pickup-date endpoints and one of them stamps a confirmed appointment as a side effect. The run uses the other one on purpose, and a guard script fails the build if anyone ever switches it back.
  • Appointment emails go out only for pickups today or tomorrow. Earlier would be noise to the shipper, so the rule is encoded, not remembered.
  • Each row can be skipped by hand before anything writes, and incomplete stubs hold themselves back. Uncovered loads roll their dates but withhold the email until a carrier exists.

// the date write never touches the appointment field; a guard script fails the build if it ever would

The result

The morning date-and-email chore became one review and one click. The dangerous endpoint is fenced by a test, so the mistake it invites cannot come back.

Your version of this exists.

Different industry, same shape: a repetitive workflow, a fragile spreadsheet, an inbox someone babysits. Tell me what the manual work looks like and I can usually name the first build in one conversation.