At a glance
Certificate emails and attachments are filed to Drive and prepared for structured extraction.
AI-extracted fields enter Pending Verification before the register is trusted.
Daily 30, 14 and 7-day expiry branches surface approaching dates, with urgent SMS where configured.
A weekly required-versus-on-file comparison shows gaps for human review.
Client type: Builder managing subcontractor compliance records, including Certificates of Currency and QBCC licences.
The problem
Subcontractor certificates can arrive by email, be saved inconsistently and have expiry dates that are difficult to see across active projects. The coordination risk is discovering a missing or expired record only when someone needs it urgently.
The system must improve visibility without treating an extracted date as automatically trustworthy. A compliance register needs a deliberate verification point.
How the system works
The documented build separates certificate intake, human verification, daily expiry monitoring, weekly register health reporting and error handling. It supports administrative visibility; it does not decide legal compliance or site access.
Explanatory workflow visual based on the documented portfolio build — not a live n8n canvas screenshot.
Inside the build
The build treats extraction and verification as separate stages. Deterministic checks handle date parsing, normalisation, matching and supersede-and-archive behaviour before a person confirms the record.
Explanatory build-detail visual derived from the documented workflow logic.
Actual build evidence
This is an authentic n8n canvas screenshot from the COC Register + Expiry Alerts build. It shows the four workflow paths, certificate extraction, verification handling, expiry branches, health reporting and error handling; the SVGs remain the clearer client-readable explanations.

Actual n8n build screenshot supplied for this portfolio case study. Click the image for an in-page larger view.
Controls & exceptions
Every AI-extracted record enters a verification state before it is treated as trusted register data.
Parsing, normalisation, subcontractor matching and supersede-and-archive handling are explicit build steps.
30, 14 and 7-day branches surface risk, while send stamps help prevent duplicate notifications.
Error handling formats the failure context and alerts the responsible person rather than silently stopping.
Testing & verification
The following behaviours were verified in the documented isolated throwaway-resource test run. These are workflow test results, not client outcomes or production performance claims.
Rerunning the same test email created no new files or register rows; repeated expiry runs did not duplicate one-time alerts.
Ambiguous dates were retained in Pending Verification with a review warning rather than being silently treated as trusted.
A verified existing record remained active while a replacement stayed pending; supersession was only tested after verified replacement handling.
The isolated test covered 30-, 14-, 7-day and expired tiers, including no backward tier and SMS-disabled behaviour.
Normal, Gmail-failure, table-failure and duplicate/idempotency paths were included in the documented test summary.
Threshold, normalisation, expired-cover, invalid-timestamp and zero-backlog cases were included in the verified health-report suite.
What stays human-controlled
Automation supports filing, extraction, register preparation, date monitoring and gap reporting. Authorised people retain certificate verification, interpretation of requirements, subcontractor follow-up, site-access decisions and compliance action.