Keep one spreadsheet where every row is one drawing in one issue, then have AI read each issue email and attachment list and return those rows for you to check and paste. Let formulas, not the AI, work out current revisions. Reconcile the log against your folder weekly, and check each issue before it goes.
The weak point is what the AI can see. It reads the email and the file names, not the title block inside the PDF. If the sheet says Rev C and the file is named RevB, the register will record RevB with complete confidence. So the method has two halves: structured extraction, and a short reconciliation that catches the places where the email, the file name and the sheet disagree.
Three tabs that make the log checkable
A register kept as one big grid, drawings down the side and issue dates across the top, looks familiar and breaks easily. It is hard to extract into and hard to audit. Keep the master in long form and let the grid be a view built from it. For a five-person practice with a mid-sized project (say 38 sheets, 11 issues in six months, three consultants and a client contact), three tabs are enough.
| Tab | One row per | Columns | Filled by |
|---|---|---|---|
| Drawings | Drawing | Drawing number, title, size, scale, current revision, current status, last issued | Formulas read the last three from Log; you add new drawings |
| Log | Drawing in one issue | Transmittal number, date, drawing number, title, revision, status, purpose, recipients, method, source, checked | AI proposes the rows; you check and paste |
| Issues | Transmittal | Transmittal number, date, purpose, recipients, cc, method, number of sheets, acknowledged on | One row per issue; acknowledgement date added as replies arrive |
Two columns do most of the protective work. "Source" says whether a row came from a live issue or was reconstructed later from old emails. "Checked" holds a person's initials once they have compared the row with the actual PDF. Unchecked rows stay visible, which keeps everyone honest about how much of the register has been verified.
The familiar issue grid, with a column per issue date and a revision letter in each cell, is still worth having for meetings. Build it from the Log tab with a lookup rather than typing it, so it can never disagree with the master.
An issue email that people and AI can both read
Extraction is weakest on free prose, so make the email regular. Every issue email carries the same top block and a table of sheets in the body, and every file name carries the drawing number, revision and status. The model's job then shrinks to copying what is plainly there, and a colleague can read the email just as quickly.
Subject: [Project no.]: drawings issued [for purpose] (Issue [nn])
Issue [nn], [date]. Purpose: [one label from your list]
Changes since Issue [nn-1]: [one line per changed sheet]
Please confirm receipt by [date].
Sheet Title Rev Status
2417-A-201 Ground floor plan C Prelim
2417-A-202 First floor plan B Prelim
Distribution: [role, organisation] ...
The file-name pattern that goes with it: 2417-A-201_GroundFloorPlan_RevC_Prelim.pdf, which reads project number, originator code, sheet number, title, revision, status. The status belongs in the name because the AI, reading only the email, never sees the stamp inside the title block. Anything you want logged as a status has to be written where the model can read it.
For the purpose of issue, pick a short fixed list and use it every time. Illustrative labels: for information, for coordination, for comment, for client approval, for tender, for construction. If your appointment documents or the project's information requirements define codes, use theirs exactly rather than inventing your own.
Logging one issue: the prompt, the email and what came back
Issue 07 of the illustrative project goes to the structural engineer, the mechanical engineer and the quantity surveyor, with the client copied. The sent email reads:
Sent: 14 October, 16:42
Subject: 2417: drawings issued for coordination (Issue 07)
To: structural engineer, mechanical engineer, quantity surveyor. Cc: client.
Hi all, attached are the current drawings for coordination ahead of Thursday's meeting. Changes since Issue 06: stair moved 300 mm east on the ground floor plan, section AA updated to match. First floor plan and elevations are unchanged and reissued for completeness. Please confirm receipt by Wednesday.
Attachments: 2417-A-201_GroundFloorPlan_RevC_Prelim.pdf; 2417-A-202_FirstFloorPlan_RevB_Prelim.pdf; 2417-A-301_SectionAA_RevD_Prelim.pdf; 2417-A-401_Elevations_RevA.pdf
The prompt supplies the register as it stood before this issue, so the model can spot sequence problems, plus the distribution list so names come back in one spelling.
You log drawing issues for an architecture practice. Return CSV only.
REGISTER BEFORE THIS ISSUE:
2417-A-201 Ground floor plan, Rev B, last issued Issue 06
2417-A-202 First floor plan, Rev B, last issued Issue 05
2417-A-301 Section AA, Rev B, last issued Issue 05
2417-A-401 Elevations, Rev A, last issued Issue 04
DISTRIBUTION LIST (use these names exactly): Structural engineer; Mechanical engineer;
Quantity surveyor; Client
FILE NAME PATTERN: project-originator-number_Title_RevX[_Status].pdf
TASK: one row per attached drawing. Columns: transmittal_no, date, dwg_no, title, rev,
status, purpose, recipients, cc, method, flag.
RULES
- Take dwg_no, title, rev and status ONLY from the file names. If missing, write UNKNOWN.
- Take date, purpose and recipients from the email. One purpose per issue unless the
email gives a different purpose for a named sheet.
- Ignore quoted earlier messages.
- Use flag for: a revision that skips a letter compared with the register, a file name
that breaks the pattern, a sheet named in the email but not attached.
- Do not guess. Do not merge rows.
EMAIL:
[paste the sent email, including the attachment file names]
Remove email addresses and phone numbers before pasting. The register needs roles and organisations, not contact details. Once the prompt works, move the standing parts (file-name pattern, distribution list, column rules) into a Project in ChatGPT or Claude, so each issue needs only the email and the register state. Claude's pricing page lists up to five projects on the free plan; sharing a project with colleagues is a Team and Enterprise feature there.
A realistic first result, with the columns trimmed to the ones that show the point (recipients, cc and method are the same on every row):
| No. | Drawing | Rev | Status | Purpose | Flag |
|---|---|---|---|---|---|
| 07 | 2417-A-201 | C | Prelim | For coordination | None |
| 07 | 2417-A-202 | B | Prelim | For information | None |
| 07 | 2417-A-301 | D | Prelim | For coordination | Register has Rev B; Rev C not logged |
| 07 | 2417-A-401 | A | UNKNOWN | For information | No status in file name |
What you would fix or follow up:
- Rows two and four, purpose. Both should read "for coordination". The model split the email by sentence and mapped "unchanged and reissued for completeness" to "for information". The rule in the prompt about one purpose per issue is there to prevent exactly this; if it still happens, tighten the wording.
- Row three, the flag. This is the useful catch. Open the sent items and the folder. If a Rev C went out in a quick email that nobody logged, add it as a reconstructed row. If the engineer's comments refer to Rev C, you have found the gap before it cost anything.
- Row four, status. Unknown is the right answer. The title block says Preliminary, so a person types it in, and the file-name rule gets enforced from the next issue.
- The date. It should match the Sent line, not a date mentioned in the body. Check it particularly for an email drafted one day and sent the next.
Going the other way: the register writes the cover note
Double entry is what makes registers go stale: the sheets are listed once in the email and again in the log. Reverse the flow where you can. Add the sheets going out in a draft Issue 08 to the Log (source "live"), then let the AI turn those rows and your change notes into the email, so the table in the email is the log rather than a retyped copy.
The hurried version often looks like this:
Hi all, new stair on the ground floor, section's updated too. Drawings attached. Cheers
The prompt that replaces it:
Write the issue email body from the rows below, using this template exactly:
[paste the template]
Use only the rows given. Do not add sheets, change revisions or invent statuses.
Changes since last issue, from my notes: [paste a line or two]
ROWS: [paste the Log rows for Issue 08]
The model's draft, lightly edited, comes back as:
Issue 08, 21 October. Purpose: for coordination. Changes since Issue 07: stair moved a further 150 mm east on the ground floor plan; section AA updated to match. Please confirm receipt by Thursday.
Sheet 2417-A-201, Ground floor plan, Rev D, Prelim. Sheet 2417-A-301, Section AA, Rev E, Prelim.
Read the draft against the rows once, because a model can drop a row or tidy a revision letter. Read the "changes since last issue" line with particular care: it is the sentence recipients act on, and the model only knows what you told it. The check costs ten seconds, and it saves the retyping and the typo that retyping invites.
Rescuing a backlog from fourteen old emails
If the register is already months behind, the same prompt rebuilds it, with more care about order and a different "source" value. The routine:
- Search the Sent folder for the project number and list the issue emails oldest first, each with its attachment names.
- Paste three emails per prompt, carrying the register state forward from the previous batch so the sequence checks keep working. Ask for the same columns and set source to "reconstructed".
- Tell the model to ignore quoted text from earlier messages. Reply chains otherwise produce duplicate rows.
- After each batch, spend thirty seconds on three questions. Do the dates run forward? Are the revision letters in sequence? Are there as many rows as attachments?
- Spot-check every fourth email against the actual PDF and its title block, and initial the "checked" column for those rows only.
- Leave gaps visible. A row reading "Rev C: issued, never traced" is more honest, and more useful later, than a tidy sequence.
On the example project that is fourteen emails in five prompts: roughly fifty minutes including the spot-checks, against about three hours by hand. Time your own first batch before you plan around those figures.
Let formulas do the counting
Counting, sorting and "which is the latest" are deterministic jobs. Give them to formulas you can see, not to a model that will answer fluently from whatever you last pasted, including a stale paste. Four formulas cover most of the Drawings and Issues tabs:
| You want | Formula | Notes |
|---|---|---|
| Current revision (Drawings tab, drawing number in A2) | =XLOOKUP(A2, Log!C:C, Log!E:E, "not issued", 0, -1) | The -1 searches from the bottom, so the newest row wins. The Log must stay in date order. |
| Date last issued | =XLOOKUP(A2, Log!C:C, Log!B:B, "", 0, -1) | Same pattern, different return column |
| Sheets issued in the last 30 days | =COUNTIFS(Log!B:B, ">="&TODAY()-30) | Counts rows, so a sheet issued twice counts twice |
| Acknowledgement overdue (Issues tab, issue date B2, acknowledged on H2) | =IF(AND(H2="", TODAY()-B2>3), "chase", "") | Swap in NETWORKDAYS to skip weekends |
XLOOKUP is in Microsoft 365 and in Excel 2021 and later. Microsoft's own page says it is not available in Excel 2016 and 2019, although its "applies to" list still names those versions, so check your version before building on it. Google Sheets has XLOOKUP with the same search-mode option, where -1 also means last to first. If you want a model's help writing formulas of this kind, the tutorial on Google Sheets AI prompts has prompt patterns that carry over to Excel.
Protect the formula cells and let only the Log and Issues tabs take typing. A register that anyone can overwrite is only as reliable as the least careful person on the team.
The same division of labour applies to questions. When someone asks "what did we send the mechanical engineer between August and October?", filter the Log to that recipient and date range in the sheet, paste the filtered rows, and ask the model to set them out as a short dated list. The filter is the sheet's job and the wording is the model's. Paste the whole Log and ask the question in one go, and you are trusting the model to filter, where a missed row looks exactly like a complete answer.
Reconciling the folder against the log
This is where most of the value sits, because it catches the issues that never reached the log. Once a week, paste three things into one prompt: the file names in your "Issued" folder, the current-revision list from the Drawings tab and, if you model in Revit, the sheet-list export. Autodesk's help describes exporting a Revit schedule as a delimited text file that a spreadsheet can open (File tab, Export, Reports, Schedule, with the schedule view open). A sheet list is a schedule, so the same route should work, but check the export options on your version.
Compare these two lists of drawings. Output four lists only:
A. In the folder but not on the register.
B. On the register but not in the folder.
C. On both, with different revisions (show both).
D. File names that do not fit the pattern project-originator-number_Title_RevX[_Status].pdf
Match on drawing number (the text before the first underscore). Do not guess.
FOLDER: [paste file names]
REGISTER: [paste drawing numbers and current revisions]
A result on the example project might read: list A holds 2417-A-205_RoofPlan_RevA_Prelim.pdf, a sheet nobody logged; list B holds sheet 310, shown as issued in Issue 06 but missing from the folder; list C shows sheet 202 in the folder at Rev C while the register still says Rev B, the trace of a quick reissue; list D catches FirstFloorPlan FINAL v2.pdf. Each line is a small job: add a row, find a file, or rename. Never delete from the Issued folder to make the lists agree. The disagreement is the information.
Ten checks before an issue goes out
The same ten checks, in the same order, every time. The AI can do the list comparisons in seconds, but the ones that need eyes on the PDF stay with a person.
| Check | Who | Why it earns its place |
|---|---|---|
| Attachments match the sheet table in the email, both ways | AI compares two lists; you confirm | A sheet attached but unlisted, or listed but not attached, is an easy slip |
| Title-block revision equals file name equals register | You, opening each PDF (about 20 seconds a sheet) | The AI cannot reliably read inside the PDF |
| Status stamp suits the purpose of issue | You | Preliminary sheets turning up in a tender issue |
| Superseded sheets are out of the issue folder | You, helped by list C above | Old revisions travel by habit |
| Recipients match the distribution list for this purpose | AI compares; you decide | A missing consultant, or a client copied on the wrong thread |
| Project number in every file name equals the one in the subject | AI | Wrong-project attachments |
| "Changes since last issue" lines match the revision clouds | You | Recipients act on that note |
| No hidden markups, comments or internal notes in the PDF | You | Internal comments leave the building |
| Links, if used, open for every recipient | You, testing a copy | An expired link counts as not issued |
| Earlier messages removed from the reply chain | You | Old drawings sit in quoted attachments |
The project-number check is the cheapest one in the table, and the failure it prevents is the hardest to explain afterwards. Picture a plan from project 2471 going to the project 2417 consultants because both numbers start with 24 and the folders sit side by side. A prompt that compares the project number in every file name with the one in the subject line takes seconds and would have caught it. That scenario is illustrative; the habit it protects against is not.
The wider question of reviewing the sheets themselves before they leave is covered in checking a drawing set before you issue it, and the question of spotting what changed between two revisions has its own tutorial on catching changes between drawing revisions.
Spreadsheet, sheet-list export or a document platform
Three set-ups work, and they suit different practices. None needs a bespoke tool.
| Set-up | Suits | Cost | Where AI fits | Limit |
|---|---|---|---|---|
| Spreadsheet plus a chat assistant | A handful of live projects | The spreadsheet you own; an assistant at about $20 a month on an individual plan, or $20 a seat billed annually ($25 monthly) on Claude Team or ChatGPT Business, two seats minimum | Extract rows, reconcile lists, draft cover notes | Manual pasting; needs discipline |
| Sheet-list export from your CAD or BIM model feeding the register | Practices that model in Revit or similar | Part of software you already pay for | Reconcile model data against the log | Knows what is in the model, not what was sent |
| Document platform with a transmittals tool | Larger projects with many outside parties | Platform subscription; check the quote | Summarise what was sent; compare with your register | You depend on the vendor; check what it records |
On the third row: Autodesk's help page for the transmittals tool in its project-document platform lists, for each transmittal, the status, ID, title, sender, recipients, creation date and number of files, plus how many recipients have viewed it and how many have downloaded it. People outside the project can be recipients once they verify their email address. That view-and-download count is something an email can never give you. Before you treat any platform's log as your evidence, find out exactly what it records for each recipient and what you can export.
Automation tools such as Zapier or Make can watch an inbox label and add a row when an issue email arrives. Hold off until three months of manual logging show that your naming rule holds and the error rate is low. An automation that writes rows nobody checks produces a confident, wrong register at speed. When you do build one, keep the "checked" column and a person in the loop.
Three ways a register drifts, and the guard for each
- The quick reissue. A sheet goes out in a one-line email from somebody's phone and never reaches the log. Guard: issues leave only from the Issued folder, using the template. Any sheet that appears on a consultant's drawing list but not in your log becomes a reconciliation item.
- The link issue. Drawings are shared as a link, so the AI sees nothing to extract. Guard: the sheet table goes in the email body, and you save a dated listing of the shared folder.
- Status creep. Sheets stay "Preliminary" long after the project has moved to tender or construction, or jump ahead without anyone approving the change. Guard: review statuses at every stage change, and add a "received" tab with the same columns for consultants' drawings so their issues are logged by the same prompt.
A weekly routine that fits in fifteen minutes
- Three minutes: paste each issue email sent this week, take the rows, check them, add them to the Log and the Issues tab.
- Four minutes: run the reconciliation prompt and settle each line.
- Three minutes: look at the acknowledgement formula and chase the overdue ones. A short chaser is quicker to send than to explain later, and the tutorial on consultant chasers and planning notes has wording that does not sound like a form letter.
- Five minutes: pick three rows at random from this week's issues, open the PDFs, compare the title blocks, and initial the "checked" column.
Then save a dated, read-only copy of the register as a PDF. If a dispute about what was sent and when ever arrives, a weekly snapshot made at the time is worth more than a register that has been tidied since. The register will not be perfect, but with this routine the errors surface on a Friday instead of at a site meeting.
Questions about logging issues with AI
Can the AI read the revision from the title block inside the PDF?
It may manage on clean files, but I would not rely on it. Anthropic's own vision documentation warns of mistakes with low-quality, rotated or very small images, and a title block is small text on a large sheet. Put revision and status in the file name, then compare a sample of title blocks by eye each week.
What if a consultant issues by link instead of attachments?
The AI only sees the link text, so it cannot log what is behind it. Ask the sender to list the sheets and revisions in the body of the email. Failing that, open the folder, copy its file listing into the log yourself and record the link and the date you looked, marked as reconstructed.
Do we still need a register if our document platform logs transmittals?
Yes. A platform records what was sent through it. Your register records what you intended to issue, why, and in what status, and the weekly reconciliation catches anything that left by another route. The two should agree. When they do not, the difference is usually the most useful thing you learn that week.
How long should the register be kept?
Keep it for the life of the project at least, and longer if your appointment, your insurer or your professional body's rules say so. Those periods differ, so ask. Save a dated read-only copy at each stage, because a register that can be quietly edited is weaker evidence than one with fixed snapshots.
Further reads
- AI Software for Architectural Drawings: Notes, Schedules and Sheet Checks — Notes, schedules and sheet checks on the drawings themselves
- Architect Meeting Minutes: Record, Summarise and Issue Same Day With AI — Issue meeting minutes the same day, from the same inbox
- AI Email Triage for Professional Firms: Sort, Summarise, Draft — Sort a project inbox before logging anything
- AI Policy for Architects: A Ready-to-Use Checklist and Clauses — Write the data rules your logging prompts depend on
- How to Document Your Processes Before Adding AI — Fix the process on paper before automating any of it
- AI Programs for Architects: Room Data Sheets From a Client Brief — A worked example of turning a messy client brief into room data sheets with AI, and the review pass that catches what the draft invents or drops.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Microsoft Support and Google Docs Editors help pages for XLOOKUP; Autodesk help pages on exporting Revit schedules and on viewing transmittals; Anthropic vision documentation and the Claude pricing page. The project, drawing numbers and timings are invented for illustration.