TruxFlow ↔ Airtable Sync

Data flow architecture between Recruiting, TruxFlow, and Dispatch

Data Flow Diagram

RECRUITING                    TRUXFLOW                   DISPATCH
──────────                    ───────                    ────────

Driver Apps    ──────────────►  Driver   ──────────────►  Drivers Base
(7.4.)          /onboard        + Docs                    (2.1.)
                    │
                    ├─────────►  Truck   ──────────────►  Units Base
                    │            + Docs                   (2.2.)
                    │
                    └─────────►  Trailer ──────────────►  Trailers Base
                                 + Docs                   (2.5.)


REVERSE SYNC (Dispatch → TruxFlow):

Units Base     ──────────────►  Truck.status
(Status-Unit      /truck/       Driver.operationStatus
 Operation)       operation

Units Base     ──────────────►  Truck.dispatchStatus
(Dispatch         /truck/       Driver.dispatchStatus
 Status)          dispatch

Unified Onboard Endpoint

POST /api/webhooks/airtable/onboard

Owner Operator

Creates: ├── Driver (with CDL, medical dates) ├── Contractor (via getContractorDataFromDriver) ├── Truck (if unitNumber provided) └── Trailer (if trailerNumber provided) Links: ├── Driver → Truck (truckAssignment) ├── Trailer → Truck (trailerAssignment) └── Truck.owner → Contractor

Company Driver

Creates: └── Driver only Notes: ├── No truck (uses company truck) └── No contractor needed

Fleet Owner

Creates: ├── Contractor (from Owner* fields) ├── Truck (if unitNumber provided) └── Trailer (if trailerNumber provided) Links: ├── Trailer → Truck (trailerAssignment) └── Truck.owner → Contractor Notes: └── No Driver (owns equipment only)

Key Rules

Incoming Only (← from Airtable)

  • dispatchStatus - Set by dispatchers
  • operationStatus - Cascades from truck
  • Status-Unit Operation - Truck status

Outgoing Only (→ to Airtable)

  • All driver profile fields
  • All truck spec fields
  • All trailer spec fields
  • All documents + expiration dates

Status Mappings (Reverse Sync)

Airtable StatusTruxFlow Truck
ActiveOPERATING
InActiveNOT_OPERATING
Approved OffTIME_OFF
Broken DownBROKE_DOWN
SituationSITUATION
Home TimeTIME_OFF
Airtable StatusDriver Operation
ActiveOn Duty
InActiveNot Available
Approved OffApproved Off
Broken DownBroken Down
Home TimeHome Time

Airtable Automation Setup

Steps to Configure

  1. Create automation with button trigger on "7.4. Driver Apps" table
  2. Add "Run a script" action
  3. Add input variable: recordId → Record ID from trigger
  4. Paste script from /root/airtable-onboard-script.js
  5. Add secrets: SECRET, ORG_ID

Working Script (Phase 1)

Tested Fields

  • firstName, lastName
  • email, phone
  • type (Owner Operator, Company Driver, Fleet Owner)
  • carrier (linked record)
  • cdlNumber, cdlExpiration
  • medicalExpiration
  • unitNumber (triggers truck creation)
  • trailerNumber (triggers trailer creation)