spen studio

Case study

Delivery Pipeline

Form → Sheet → Slack: column C flips, branded delivery alerts land, rush pages the channel, live streams mention who is on shift.

Project 08
Delivery Pipeline website
Client
Streaming content ops
Services
Automation · Integrations · Operations design
  1. 01 / Challenge

    Game-day deliveries already lived in a shared spreadsheet. Coordinators learned about new drops by refreshing it. Rush jobs hid in the grid. Live streams needed an owner, and the channel had a topic that was always yesterday’s roster.

    Delivery Pipeline starting frame
  2. 02 / Insight

    Status, provider, series, and shift roster were already in the spreadsheet. The gap was event-driven Slack with dedup, rush routing, and an on-shift mention — not another dashboard.

    Delivery Pipeline in use
  3. 03 / System

    Google Forms append the sheet. Apps Script watches column C. A UUID on the row stops edit double-posts. Standard jobs @here with provider emoji; rush jobs @channel. A shift announcer rewrites the Slack topic from the day’s roster and @mentions the on-shift coordinator when the payload is live. This case study uses a real tracking-sheet screenshot plus reconstructed Slack notifications in the same payload shape — the original workspace is gone; the routing is not.

    FORMSHEETCOL CDEDUP@HERE@CHANNELON-SHIFT

    Process reconstruction

    Delivery Pipeline architecture

    How the pieces hand off without another dashboard nobody opens.

    • Form
    • Sheet
    • Dedup
    • Slack
  4. 04 / Execution

    Google Forms append the sheet. Apps Script watches column C. A UUID on the row stops edit double-posts. Standard jobs @here with provider emoji; rush jobs @channel. A shift announcer rewrites the Slack topic from the day’s roster and @mentions the on-shift coordinator when the payload is live. This case study uses a real tracking-sheet screenshot plus reconstructed Slack notifications in the same payload shape — the original workspace is gone; the routing is not.

    Delivery Pipeline in motion
  5. 05 / Outcome

    Deliveries land in Slack seconds after status flips. Rush pages the room. Standard stays calm. Live tags the person working, not a generic shout. Nobody has to poll the sheet to find out the truck already arrived.

    Delivery Pipeline after launch

Toolkit

Every surface, featured fully.

Each piece below is almost its own product — designed, shipped, and used as a first-class workflow rather than a buried submenu.

01

The tracking sheet

The spreadsheet was already the system of record: series, provider, air window, status in column C, a UUID so rows can be edited without double-firing. We did not replace it with a database. We treated column C as an event stream. Google Forms append rows. Coordinators still live in the grid. Apps Script watches the status column. That is the whole backend on purpose — ops already knew Sheets.

The tracking sheet screenshot

02

Slack delivery alerts

When column C flips, Slack gets a branded delivery message: title, provider emoji, window, and a link back to the sheet. Standard jobs ping @here. Rush jobs ping @channel. UUID dedup means an edit to a note does not page the room twice. The screens in this case study reconstruct those channel messages from the real payload shape. The desk that ran this pipeline is no longer standing; the routing logic is.

Slack delivery alerts screenshot

03

Shift topic & live mentions

A shift announcer refreshes the Slack channel topic from the day’s roster and @mentions the coordinator on shift when a live stream is in the payload. The workaround it replaced was “whoever sees it.” Mentions are data-driven from the sheet, not a pinned hope.

Shift topic & live mentions screenshot
Column C is the only trigger that matters.
UUID dedup stops edit double-posts.
Rush vs standard urgency is automatic.