Freight Document Generation from Forms
Quote letters, SOPs and claim letters still go out with leftover placeholders. Representative architecture: the form → strict JSON → placeholder-free Google Doc pipeline we delivered on Zapier + OpenAI, adapted for 3PL paperwork. It writes documents only: no rate calculation, TMS lookup or claim filing.
- Logistics/3PL
- Zapier
- OpenAI
- Document Generation
- Google Docs
Overview
The project at a glance
Quote letters, customer SOPs and claim letters still get written from scratch or from a template full of brackets. This representative architecture adapts a document-generation pipeline we delivered: a form submission is turned into strict structured JSON by an LLM with validation retries, then rendered into a placeholder-free Google Doc.
The original build was for a service business, not a logistics company. It produces documents only. Rates and other commercial figures are typed in by a person; there is no rate engine, lane pricing, TMS lookup or claim filing.
What the engagement had to achieve
- Turn a staff-filled request form into a ready-to-send document
- Enforce required fields via strict JSON and validation retries
- Render into a template with no leftover placeholders
- Support quote letters, merchant SOPs and claim / dispute letters
- Keep commercial figures human-entered: no rate calculation, rate shopping or claim filing.
The story
The challenge, and how we solved it
What was at risk
The Challenge
Plenty of logistics paperwork is structured writing: a proposal or quote letter that wraps rates already agreed by the pricing team, a merchant-specific SOP, or a claim or dispute letter to a carrier. Each one is rebuilt by hand from an old Word file, with the wrong customer name left in or a placeholder shipped to the client. Generic AI writing invents terms and drops required sections.
Old Word files ship with the wrong name or leftover placeholders.
Unstructured generation drops required sections and invents commercial terms.
Rates in any sample are typed in by a person. No freight quoting, rate shopping, TMS lookup or claim filing.
How we responded
The Solution
A request form filled in by sales, ops or claims staff, with commercial figures entered by a person.
Context enrichment before generation; LLM output as strict JSON with validation retries until every required field is present.
Google Docs template rendering rejects the document if a field is missing — it is not sent with placeholders.
Quote / proposal letter (rates typed in), merchant SOP, carrier claim or dispute letter. Claim letter only — never claim filing or recovery.
Output is a Google Doc. Other template tools (PandaDoc, DocuSign) or a handoff to QuickBooks or NetSuite would be set up per project. This is not an AI freight-quoting tool.
What we built
The concrete capabilities designed, built, and shipped in this engagement.
Form as the single input
A request form as the single intake, filled in by sales, ops or claims staff, with commercial figures entered by a person.
Enrichment step before generation
An optional context-enrichment step runs before the LLM generates the document.
Strict structured JSON from the LLM
OpenAI returns strict structured JSON; validation retries until every required field is present.
Placeholder-free Google Docs rendering
Template rendering into Google Docs with no leftover placeholders — the document is rejected, not sent, if a field is missing.
Zapier-orchestrated generation pipeline
Zapier orchestration ties form → enrichment → LLM → Docs so ops can change prompts without redeploying an app.
Explicitly no rate engine
Quote / proposal letter (rates typed in by a person), merchant SOP, or carrier claim / dispute letter. Rate calculation, rate shopping, freight-quote email parsing and TMS lookups are not included.
The stack
The tools behind the build, and the role each one played.
Zapier
OpenAI
Typeform
Google Docs
What changed
Representative architecture: there are no logistics document volumes to report yet. The design guarantees below come from the original build.
Beyond the launch
Lasting improvements
The changes that keep paying off after the engagement ended.
- Strict JSON validation retries until every required field is present
- Placeholder-free Docs output — document rejected, not sent, if a field is missing
- Ops can change prompts in Zapier without redeploying an app
Swipe to see more
All case studiesWant an outcome like this one?
A short introductory call covers what's holding you up, whether we can help, and the first thing worth building.