Skip to content
New: Self-serve pilots are open · Upload documents, get a design review
FedRAMP Class A · SOC 2 Type II

How to Review Construction Submittals with AI

How Specset's submittal review agent runs three-pass coverage, commits every check to a status, and ships results as an annotated PDF, XLSX, or back into Procore and ACC.

Wes HatherCo-founder and CPO7 min read
Fig. No. 04Product · 2026

Submittal review is one of the most time-consuming parts of construction administration. A 200-page product data package can take an engineer hours to walk through: cross-referencing the spec, checking every product cut, hunting for missing certifications, comparing schedules across pages. Most of it is pattern matching against documents that should already say what they need to say.

This is exactly the kind of work AI should be doing. So we built submittal review at Specset to do it, and to do it the way an experienced engineer would.

Here's how it works.

Every review begins with a plan you can read, push back on, or approve.

It starts with a plan

Every review begins with the agent reading the submittal, figuring out what kind of submittal it is (product data, shop drawings, mixed), pulling the relevant spec sections and drawing sheets, and laying out exactly what it's going to check. You can read the plan, push back on it, or just approve it and let the review run.

This isn't a UI nicety. The plan is what the agent commits to. Everything that follows ladders up to it, so when you read the results you know the scope was deliberate, not whatever the model happened to pattern-match on.

Every check commits to a status

Every check the agent runs lands as one of four statuses:

  • Compliant. Meets the spec, with cited evidence.
  • Non-Compliant. A verifiable deviation from the spec.
  • Missing Info. Required by the spec, absent from the submittal.
  • Not Applicable. Out of scope, or deferred to field.
The checks grid: spec-first, drawing-first, and submittal-first passes side by side.

Reviews run in three directions

The agent reviews the submittal three different ways, because each one catches things the others miss.

Spec-first. Section by section, paragraph by paragraph: "does the submittal satisfy this requirement?" This is the classical view, and it's how most engineers learn to do submittal review by hand. It's great for proving compliance against an explicit requirement.

Drawing-first. Sheet by sheet, requirement by requirement: "does the submittal satisfy each requirement called out on this sheet?" Drawings carry requirements that never appear in the written spec, especially schedules, callouts, and details. Skip this and you miss them.

Submittal-first. Section by section, or product by product for product data submittals: "for each section of the submittal, does it hold up under the project's requirements?" This is the one that catches things falling between the cracks: a schedule on page 6 that contradicts a value on page 14, a certificate that's referenced but never actually attached, a product line item nobody specced but that's in the submittal anyway. A spec-only review never thinks to look.

All three passes' results show up in the checks grid, each with its own status rail.

Consolidated issues

One flat list of issues, deduped across all three review passes.

Three review passes are great for coverage, but they create an obvious problem: the same real-world issue can surface three times, once from the spec side, once from the drawing side, and once from the submittal side.

So the agent runs a final consolidation step. It dedupes findings across all three passes, classifies them, groups them by where they appear in the submittal, and produces a single flat list of Issues.

Each issue has a one-line title, a detailed analysis with citations, and links back to the underlying checks that produced it. If you only want to look at what actually needs a decision, this is the list. You can search it, filter by Non-Compliant vs. Missing Info, and act on issues individually or in bulk.

Dismiss what doesn't apply

Three reasons for dismissal, including 'Incorrect Finding' when the AI just got it wrong.

Not every flagged issue is something you want to act on. Maybe it belongs to a different submittal package. Maybe it's a trivial deviation you're willing to accept. Maybe the agent just got it wrong. AI gets things wrong sometimes, and the right answer isn't to pretend it doesn't, it's to make correcting it fast.

Every issue has a Dismiss action with three reasons:

  • Not Applicable. Wrong scope for this submittal.
  • Acceptable as is. Minor deviation, no follow-up needed.
  • Incorrect Finding. The AI was wrong.

You can add a comment, and dismissed issues stay on the record (filtered out of the active list but viewable any time). The overall compliance state of the submittal updates as you dismiss, so the rollup always reflects your actual decisions.

You can also dismiss in bulk. Select a group of related issues, dismiss them with one reason and one comment, done.

The Overview pulls it together

The Overview answers 'do I need to act on this, and if so, what?' in about ten seconds.

The Overview tab is the landing page for any review. One-liner verdict at the top. Issues grouped by section on the left. Checks rail on the right with deep-links into the underlying spec sections, drawing sheets, and submittal sections.

It's designed for the question "do I need to act on this submittal, and if so, what?", answerable in about ten seconds.

The compliance donut, the count lines, the section breakdowns are all live. Dismiss an issue and watch the rollup move.

Annotated submittals

Click any issue to see the analysis next to the exact page, with the problem area highlighted.

Every issue points to a specific spot in the submittal, and we render the annotation directly on the document.

Click any issue and you get a flyout with the full analysis on the left, and the submittal PDF on the right, opened to the relevant page with the problem area highlighted. No more reading "page 11" and then scrolling through a 200-page submittal to find what the agent meant.

Two ways to take it offline

When you're done reviewing, you can export the work in two formats, depending on who's going to see it next.

As an annotated PDF

The exported PDF: hyperlinked table of contents up front, the original submittal with annotations baked in behind it.

The first option is the whole marked-up submittal as a single PDF.

Up front, a table of contents with every issue, classified and grouped by submittal section, with page numbers and hyperlinks. Behind it, the original submittal with every annotation baked in. Send it to your sub, attach it to a response, drop it in a project folder. Same content as the in-app review, in a format that doesn't require anyone to log in.

As a detailed spreadsheet

The second option is the full review as an XLSX, for the people who live in spreadsheets.

A Summary sheet up top with project info, the overall verdict, and rollup counts. An Issues sheet that mirrors the in-app view. Then one sheet per status (Non-Compliant, Missing Info, Compliant, Not Applicable) listing every individual check the agent ran, with source, requirement, analysis, and page numbers. The Compliant and Not Applicable sheets are the underrated part: they show what the agent looked at and why it passed each item, which is the paper trail you need when someone asks "did anyone check clause 2.1.A.1?"

Plugged into your submittal workflow

Specset isn't the only place your team manages submittals. For most of our customers, the submittal of record lives in Procore or Autodesk Construction Cloud (ACC). That's where the sub uploads it, where approvers respond, and where the document trail eventually settles.

We integrate directly into both.

Once you turn on the integration for a project, new submittals in Procore or ACC sync into Specset automatically. Metadata, attachments, approver workflow, all of it comes across. If you've configured Specset as an approver (or as the ball-in-court reviewer), the review kicks off the moment the submittal lands. No copy-paste, no manual import, no waiting for a human to remember.

When the review finishes, the results flow back. In Procore, that's the approver response (Approved, Approved as Noted, Revise and Resubmit, and so on), a comment with the one-liner, and both the marked-up submittal PDF and the detailed XLSX attached to the response. In ACC, the same task response plus an optional Issue created against the submittal, with the review status, summary, and the same two attachments linked.

For straightforward submittals, the full round trip can land in ten minutes or less. Days of waiting on review become minutes, and the engineer's job shifts from "do the review" to "decide whether the AI got it right."

The shape of the product

A few principles run through all of this, and they're worth pulling out:

  1. Every check is a decision. The agent commits to a status, every time.
  2. Every part of the submittal gets looked at. Three review directions, not one.
  3. The human stays in control. Dismiss, override, comment, and the rollup follows you.
  4. The output is something you can ship. Annotated PDF for the people who need to read it, detailed XLSX for the people who need to audit it, or pushed straight back into Procore or ACC for the teams that already live there.

Submittal review is a great fit for what AI is actually good at: reading a lot of pages carefully and never missing the boring part. We've tried to build the product around that strength, and around the fact that the human reviewing the output knows things the model doesn't.

If you're a Specset customer with submittals enabled, this is live in your account today. If you're not, get in touch and we'll show you a real submittal running through it.

Written byWes Hather · Co-founder and CPO

Co-founder and CPO of Specset.

Try it on your own documents

See what Specset finds.

Upload a spec set and a drawing set. The agents run, and every finding comes back with the section and sheet that proves it.