A commercial general contractor running 40 active projects, with submittal logs running four spec sections deep per package. We rebuilt the submittal desk as a pipeline: LlamaParse on the intake, Procore as the system of record, a queue the project engineers now work inside the tools they already use.
| Submittal # | Section | Sub | Match % | Status |
|---|---|---|---|---|
| 00412 | 07 21 16 Insulation | Northline Mechanical | 0.97 | posted |
| 00413 | 08 71 00 Door hardware | Allegion Spec Group | 0.95 | posted |
| 00414 | 09 22 16 Non-structural framing | Cornerstone Drywall | 0.88 | review |
| 00415 | 23 31 13 Metal ductwork | Bayside HVAC | 0.94 | pending |
| 00416 | 26 51 00 Interior lighting | Ridgepoint Electric | 0.96 | posted |
| 00417 | 03 30 00 Cast-in-place concrete | Pacific Concrete Co. | 0.91 | pending |
| 00418 | 09 65 13 Resilient base | Atlas Floors | 0.86 | review |
| 00419 | 22 13 16 Sanitary waste piping | Cedar Plumbing | 0.95 | posted |
At a glance
One project engineer, 40 projects, the prime contract as the source of truth. Everything else was implementation detail.
The engagement
The stack
ISO 27001 · ISO 9001 · DPA and NDA signed at kickoff.
Before, the submittal desk
The desk worked. It worked the way desks work when every project has its own spec book, its own trades, and a PM who reads each submittal by hand. These were the three patterns we found in discovery.
The project engineer opened the submittal PDF, pulled the matching CSI spec section from the prime contract binder, and checked the product data against the approved manufacturer list line by line. On a clean submittal, 18 minutes. On a package with three spec sections, up to 45.
Pre-build baseline: 18 minutes per clean submittal, 45 minutes per multi-section package.
Project engineers referenced spec sections from a project binder or a shared drive. When a substitute manufacturer came through, the cross-check against the approved products list meant a phone call to the architect and a wait. Submittals sat in the queue for days while the spec question resolved.
Pre-build baseline: average 2.3 business days in queue per submittal across the prior two quarters.
Trade partners sent shop drawings without naming the CSI spec section. The PE had to read the drawing, guess the section, and ask the trade to confirm. On bad weeks, a quarter of the queue was waiting on a transmittal correction rather than a real review.
Pre-build baseline: approximately 24% of submittals required a transmittal correction before review could begin.
What we built
The pipeline follows the same five stages we run on every construction engagement. The details below are the ones we actually implemented for this GC, not a generic template.
PM inbox polled on a 10-minute cadence. Procore uploads captured via webhook. Transmittal portals polled on a 30-minute cadence. All normalised to a single submittal ID per project.
Document type tagged on ingest. Stamped and redlined PDFs routed to LandingAI, typed product data routed to LlamaParse. Below 0.90 confidence, the package holds for PE tagging.
Transmittal fields, CSI spec reference, manufacturer, model number, and trade name. LlamaParse primary, AWS Textract fallback for packages with poor scan quality.
Manufacturer checked against the approved products list for the spec section. Model number checked against the basis-of-design. Below 0.90 confidence, the package holds for PM review.
Scored packages posted to the Procore submittal register via the Submittals API. Source documents attached to the log line. Exceptions routed to a named PM queue with the flag in plain English.
After, the numbers the desk signs off
Same project engineers, same PMs, same trade partners, same prime contracts. The pipeline compressed the package and fed the PM a scored draft. What changed was the cycle, not the team.
PMs still own the substitution call. They still sign off every borderline package. The difference is that on a clean day, the pipeline scores the submittal and posts it into Procore before the PM opens the inbox. On a bad day, the PM sees one flagged field instead of a binder and a phone call.
From the desk
We kept our PMs, our trades, and our Procore register. The pipeline just scored the package against the prime before it hit the queue.
Project executiveCommercial GC, Dallas
Handover
The engagement ends at a clean handover. The project ops team runs the pipeline; Hexaa stays on call for a fixed retention period, then steps back.
Related cases
Each links to a named client, a named document, and the system the clean data lands in. We publish only what the client signed off to publish.
Acord 25 certificates read, matched to subs, renewed 45 days before lapse. Procore as the system of record, custom risk register for the watch list.
→Construction · 2024Infra contractor · AIA pay-app routingAIA G702/G703 reconciled against the schedule of values with retainage rules inside the approval path. 98% first-pass accuracy.
→Logistics · 2025Global freight forwarder · port-side customs packetsBOL, CI, and customs entry reconciled inside the four-hour clearance window. 28,000 packets per month, CargoWise as the system of record.
→Free 30-minute call
You'll leave with a clear next step.
The submittal names a manufacturer, the prime spec names a basis-of-design, the approved products list names the acceptable substitutes. The pipeline compares all three at the field level, flags the substitute, and holds the package until the PM signs off or the architect confirms.