Ask an owner what expires in the next sixty days. Most cannot answer, and the ones who can are describing a spreadsheet that one person maintains by hand.
The job today
There is usually a spreadsheet. Sometimes several — insurance certificates in one, licenses in another, contract renewals in somebody's calendar, subscriptions nowhere at all until they show up on the card statement.
Someone maintains it. They add a row when a new certificate arrives, set a reminder, and check the sheet when they remember to. It works, in the sense that it mostly works, and its failure mode is that it stops entirely when that person is on vacation or leaves.
The other failure mode is quieter. The date in the spreadsheet came from somebody reading the document and typing it in, and sometimes they typed it wrong, and there is no way to know which rows are wrong until one of them matters.
And then there is everything that is not on any list. The warranty window on equipment you installed. The auto-renewing contract that renews for another year unless you cancel 60 days out. The customer who said they would send the signed change order by Friday. The permit that has to be inspected before the next phase can start. Nobody decided not to track these. There just was never a list.
You find out about the ones nobody tracked in the worst possible way: a sub on site with a lapsed certificate, a piece of equipment you could have claimed on warranty three weeks ago, a renewal you would have renegotiated.
What the agent does
It holds every date, from every source, in one place — and it gets the dates from the documents rather than from somebody typing them.
When a certificate of insurance arrives as a PDF, it reads the expiration off the certificate. When a contract comes in, it finds the renewal terms and the notice period, and works backward to the date you actually have to act, which is not the renewal date. When a license or credential is on file, it tracks the renewal cycle. When somebody promises a date on a call or in an email, that becomes a date it is watching.
Then it works a ladder rather than firing one alert. Sixty days out, a quiet note to the person who owns it. Thirty days, again, with the document attached and the contact details. Fourteen days, to their manager as well. Past due, loudly, to whoever actually carries the consequence. The escalation is the mechanism — a single reminder at sixty days gets acknowledged and forgotten.
Where it can do more than notify, it does. It drafts the request to the sub's insurance agent for the renewed certificate. It opens the renewal conversation. It reads the replacement document when it arrives, confirms it actually covers what it needs to cover, and closes the item — or says why it does not, which is how you catch the certificate that arrived with the wrong additional insured on it.
What changes
The surprise goes away. Not the work — somebody still has to renew the license and chase the certificate. What goes away is finding out too late, which is the part that costs money and occasionally costs a job.
The spreadsheet stops being a single point of failure. The knowledge moves out of one person's routine and into something that runs whether or not they are at their desk.
And the list gets longer than it has ever been. Most businesses, once this exists, start putting things on it that were never tracked anywhere — because now there is somewhere to put them and something that will actually raise them.
What it connects to
Wherever the documents live. Certificates and licenses are usually PDFs in email or a shared folder, and the useful version of this reads them there rather than asking someone to enter dates by hand. The whole value depends on the date coming from the document.
Your systems of record, for the things that already have dates in them — contracts, subscriptions, equipment and install records, job schedules, whatever holds your people and their credentials.
A named owner for each kind of date. This is the part that is genuinely a decision rather than a build. An alert that goes to everybody goes to nobody. Every category needs one person's name against it and one person's name to escalate to, and working that out is usually the most useful conversation in the whole project.
And a way to close the loop. It needs to accept the replacement document, read it, check it, and mark the item done — otherwise you have built something that nags and never resolves, and people learn to ignore it.