Skip to content

Orders that file themselves, and an SLA clock that never forgets

Inbound orders parsed straight onto monday.com boards, installers allocated and notified automatically, and a two-business-day SLA engine with escalation, shipped behind a shadow-mode flag.

A fleet-telematics providerClient engagement2026
The SLA console in shadow mode: jobs on the two-business-day clock, worst first, with overdue and due-now statuses
The product itself, running with demonstration data.
SLA clock, business days
2-day
mode before cutover
Shadow

The problem

Orders arrived as documents and were typed into monday.com by hand, one row at a time. The re-keying was slow, and the errors it introduced were only discovered downstream.

Installer allocation was manual and undocumented. Once a job was allocated, the clock on it existed only in somebody's memory, so a breach of the two-business-day commitment was something you found out about from the customer.

The system had to touch a live production board carrying commission data, using an account-wide API token. Getting that wrong was not an option, and neither was a big-bang cutover.

What we built

01

A parser between the inbox and the board

Inbound orders hit a webhook, get parsed into structured fields, and the board row fills itself in (matched against existing records so a resend updates rather than duplicates). An ingest ledger records what arrived and what it changed, which makes a disputed row answerable instead of arguable.

02

Splitting the system along the credential boundary

The monday token is account-wide and reaches commission columns, so it lives in exactly one process. A Python service owns every credential and all board access; the Next.js front end never sees them and fetches server-side. The module that talks to that service imports server-only, so a client component reaching for it is a build failure rather than something a reviewer has to catch.

03

A portal for installers, without giving them seats

Each installer gets a magic link to a page showing only their own jobs. Contacted, booked, in progress and complete flow back onto the board as they tap them. No licence per installer, no password to reset, and no exposure to anything but their own work.

04

An SLA engine that understands business days

One install item per site is created on every installable order. Allocation fires an SMS when the installer is set and dispatched. A two-business-day clock runs against a real Australian public holiday calendar, survives reallocation, and escalates on its own when it runs out.

05

Shadow mode before go-live

The whole allocation and SLA layer shipped behind a shadow-mode flag and a go-live cutoff, running alongside the manual process and logging what it would have done without doing it. Comparing the two for real orders is what made the cutover uneventful. With no installer board configured, the order flow skips allocation entirely rather than flagging every order as unmatched.

A parsed inbound order showing each read of the file and the field-by-field output written to the board
A parsed inbound order showing each read of the file and the field-by-field output written to the board

The outcome

  • Order intake stopped being a typing job: rows populate from the source document, and a resent order corrects the existing row instead of creating a second one.

  • Allocation, notification and the SLA clock run without anyone remembering to start them, and escalation is automatic rather than reactive.

  • Installers work from their own page with no seat and no login, and their status updates land on the board immediately.

  • The credential boundary is enforced by the build, not by convention. The account-wide token cannot reach the browser.

Built with

  • Next.js
  • Python
  • FastAPI
  • Supabase
  • monday.com API
  • Webhooks
  • SMS
  • Vercel

Page copy drafted with AI assistance. Skofi is accountable for it. Editorial policy

Start here

Have something shaped like this?

If any part of the above resembles a problem you are living with, a short call is the fastest way to find out whether it is the same problem underneath.

Book a 15-minute callsaveez@skofi.tech

What happens on the call

  • 15 minutes, no deck
  • We map the process on the call
  • A written scope, or an honest no
Book a call