Most trades that touch buildings live inside a permit world. The water heater replacement needs a permit and a final inspection. The panel upgrade, the roof, the fence, the commercial build-out, the generator install — each one opens a file with a city or county office, waits in a review queue, gets approved with conditions, requires work to be completed by a deadline, and closes with an inspection that somebody has to schedule, meet, and pass. None of the difficulty is conceptual. The difficulty is that the permit lifecycle is long, slow, and forgettable: a job takes days, the permit takes weeks, and the obligations it creates — post it on site, call for the rough-in inspection, close it out before the expiration date, keep the certificate on file — are scattered across months and across people. Every trade business eventually meets the failure mode: the job finished beautifully, the permit quietly expired or the final inspection never got scheduled, and months later the missing close-out surfaces as a failed sale, a hold on the next permit, a fine, or an angry customer who just learned their remodel was never signed off.
Permit tracking automation gives every permit a workflow that remembers so your people do not have to. Each permit becomes a record with a status, a jurisdiction, dates, and responsibilities; the workflow watches the calendar and the status changes, tells the right person when it is time to call for an inspection, escalates when an approval or expiration date approaches, stores the certificate and the correspondence against the permit and the job, and gives you one screen where every open permit across every jurisdiction and crew is visible. With a no-code platform like Automate Anything, it is built from the same parts as your scheduling and invoicing workflows — forms, lookups, scheduled reminders, notifications, and document attachments — with no code.
This guide covers where permit tracking actually breaks down, what a permit record should contain, how to build the intake, reminder, inspection, and close-out workflows step by step, how to work with the reality that jurisdictions differ, how the permit record pays off in sales and disputes, and the mistakes that turn tracking into a system that logs permits nobody watches.
Where Permit Tracking Breaks Down
Permit problems rarely come from ignorance of the rules. Every contractor knows permits expire and inspections are required. The breakdowns are structural:
The permit lives in one person's head. In many shops, whoever pulls the permit is also the system. They remember to call for the inspection because they are the one who pulled it. The day they are sick, on vacation, or gone, the follow-ups do not happen — and the permit does not care.
The timeline belongs to the city, not to you. You control when you finish work; you do not control how long plan review takes or when the inspector can come. Every permit generates promises on someone else's calendar. Without a system that tracks the dates you were given — approval expected, permit issued, expires on — the obligations drift.
The job closes, the permit does not. From the customer's point of view, the job is done when the crew leaves. From the jurisdiction's point of view, it is done at final inspection and certificate issuance. The gap between those two definitions is where expired permits are born. Your job-completion moment is exactly when tracking must take over, not stop.
Paperwork scatters. The application lives in an email, the approval letter in another, the inspection card on the job site, the final certificate in a plan-room box. When a customer sells the house, or the next permit application requires proof of the last close-out, or an inspector asks when the final passed, the answer takes an afternoon of searching — or does not exist.
Multi-jurisdiction shops multiply everything. Work across several cities and counties means several portals, several fee schedules, several inspection-request methods, several rules. A mental system that holds one jurisdiction's quirks collapses at four. This is the point at which most businesses feel the need for a real system — the same point at which manual tracking is already losing permits.
None of these are discipline problems; they are memory and visibility problems, which is what automation is for.
What a Permit Record Should Contain
The record is the foundation — every workflow below reads and writes it. Capture these fields at intake and keep them current:
- The job reference. Every permit belongs to a customer job. This link is what lets the permit workflow and the job workflow talk to each other — the reminder fires to the crew lead because the workflow can see which job and which crew the permit belongs to.
- Jurisdiction. The city or county office, plus the specific portal, phone number, or email address that jurisdiction uses for inspections. This field turns multi-jurisdiction chaos into a lookup table.
- Permit type and number. The jurisdiction's own number, verbatim — it is the key every phone call and portal search will use.
- The dates that matter. Applied date, approved/issued date, expiration date, and any intermediate deadlines the jurisdiction imposes (start-within, rough-in-by, certificate-pickup-by). The expiration date is the single most important field in the system.
- Status. A short, fixed list: preparing, submitted, in review, issued, work in progress, inspection requested, inspection passed, corrections required, final approved, closed, expired. Every workflow rule keys off this status.
- Responsible person. Who owns follow-up for this permit — usually the crew lead or office manager — and a backup for when they are out.
- Documents. The application, approval letter, approved plans, inspection results, corrections notices, and the final certificate, all attached to the record. Not in email. On the record.
- Fees and notes. What the permit cost, and the notes that capture jurisdiction quirks: which inspector prefers morning calls, which portal loses attachments, which office wants paper.
Nothing here is exotic. The value is that all of it lives in one place, attached to the job, visible to everyone — and that the dates feed the calendar-aware workflows described next.
Building the Workflow Step by Step
Step 1: Make permit intake part of job intake
The single best fix for permit tracking is making the permit a first-class step in the job workflow, not an errand someone remembers. When a job is created or quoted, a required question answers: does this job need a permit? If yes, creating the permit record becomes a task assigned at that moment, with the jurisdiction, type, and responsible person captured on the spot. Permits that enter the system at job creation never start life as a memory. Shops that already ask this question at estimating find that the answer also sharpens the quote — permit fees and permit lead time become visible before the schedule is promised to the customer.
Step 2: Track the application through review
Once the application is submitted, the record enters the slow phase — and slow phases are where tracking systems earn their keep. Build a review-stage reminder: if a submitted permit sits in review past the number of days the jurisdiction typically takes (your own history tells you this; record it in the jurisdiction lookup), the workflow nags the responsible person to follow up with the office. The nag is the point. A polite status call on day ten of a review that was quoted at seven is the difference between starting on schedule and shoving three jobs a week to the right.
When approval arrives, two things happen automatically: the status flips to issued, the approval letter is attached, and the expiration date from the permit document is entered on the record — which arms every calendar rule below.
Step 3: Post and verify on site
An issued permit usually comes with obligations: the placard posted at the job, the approved plans available on site. Build a pre-start checklist task for the crew: permit posted, plans on site, permit number recorded. It takes the crew a minute, and it prevents the specific embarrassment of an inspector arriving to find no permit visible and leaving again. The workflow marks the checklist done as a condition for the job's crew to be marked started — a small interlock that keeps the paperwork synchronized with the work.
Step 4: Drive the inspection cycle
Inspections are the operational heart of the system. Each required inspection — rough-in, framing, final, whichever the permit type demands — becomes a task on the permit record with its own status. The workflow assists at three moments:
- Requesting. When the crew marks the relevant work stage complete, the workflow creates the inspection-request task for the responsible person, with the jurisdiction's request method and the permit number attached. No one has to remember that the rough-in is ready for inspection; the stage completion triggered it.
- Meeting. When the inspection is scheduled, send the date and window to the crew lead and put it on the schedule like any other appointment. Missed inspections — where nobody is on site — burn a week of schedule each and annoy the office that is trying to help you.
- Resulting. When results come back, the status moves to passed or corrections required. A pass advances the cycle to the next inspection or the close-out path. Corrections required creates a task with the corrections notice attached, the corrections get made, and the re-inspection loop repeats through the same machinery.
The design rule: the inspection cycle is a state machine, and every transition is caused by an event that already happened — work stage completed, inspection scheduled, result received. If a step depends on a human remembering, attach it as a task with a due date instead of a hope.
Step 5: Watch the expiration clock
The expiration date is the field that most deserves automation, because expirations fail silently. Build a layered reminder: the responsible person and their backup hear about it well ahead of the expiration, then again closer, then the owner sees it as an escalation if the permit is still open as the date closes in. A reminder layered this way survives vacations, busy weeks, and the one week where everything goes sideways — which is exactly the week permits expire.
An expired permit is not always a disaster; jurisdictions have renewal or reinstatement paths, and the workflow should track that path as its own status with its own task. The disaster is not knowing. A system that surfaces the expiration while renewal is still cheap has done its job.
Step 6: Close out deliberately
The close-out is the payoff step. When the final inspection passes, the workflow creates the close-out tasks: download or pick up the certificate, attach it to the permit record, send a copy to the customer with a short congratulations message, mark the permit closed, and — where the business does it — trigger the final invoice or the warranty start date, since many shops start warranty coverage at sign-off, not at last-day-of-work. Closing a permit then becomes a visible milestone in the job workflow, and the certificate lands in a permanent, searchable archive: every permit you have ever pulled, with its outcome, attached to its job.
Step 7: Feed the jurisdiction knowledge back in
Every cycle through a jurisdiction teaches you things: typical review time, how inspections get requested, which office answers the phone. Record those on the jurisdiction lookup as you go. Within a few months, the lookup becomes a real operating asset — the new office manager can pull a permit in a jurisdiction they have never touched because the workflow hands them the method, the portal, and the quirks alongside the task.
Working With Jurisdictions That Refuse to Standardize
No two jurisdictions run permits the same way, and no automation will make them. The design answer is to standardize your side and flex the edge:
- One record format, every jurisdiction. The permit record looks identical whether the office is across town or two counties away. Fields the jurisdiction does not use simply stay empty.
- Per-jurisdiction method notes, not per-jurisdiction software. The differences — portal, phone, paper, walk-in — live in the lookup table as method instructions, not as separate workflows. The reminder and escalation machinery is identical everywhere; only the human action at the edge differs.
- Assume slippage; schedule against it. Where a jurisdiction publishes review timelines, treat them as best cases. The schedule you promise the customer should come from your recorded reality, not from the office's optimism.
- Keep correspondence with the record. Emails to and from the office, portal screenshots, notes from phone calls — attach them to the permit. The record should be able to answer "what did the city say, and when" without relying on anyone's inbox.
Shops sometimes try to build per-jurisdiction automations that mirror each office's portal behavior. Resist it. Portals change without notice; your lookup-table-of-methods approach survives portal changes because the automated parts never depended on the portal's internals — only on your people knowing which door to knock on.
The Payoff Beyond Compliance
The permit archive is one of those records that starts as a compliance tool and grows into a business asset:
- Sales support. A homeowner selling the house needs proof the addition was permitted and finaled. A customer with an insurance question needs the certificate. The business that answers in two minutes with a document looks like a company to trust with the next job — and the certificate you send at close-out often prevents the request entirely.
- Dispute defense. When a question arises years later about how work was done, the permit record — dates, approved plans, inspection results, corrections and their resolution — is the documented history. It answers with facts instead of recollection.
- Permit-fee recovery. With fees recorded per permit and linked to jobs, quotes stop underpricing permit costs. What you charge for permitting becomes grounded in what permitting actually costs, jurisdiction by jurisdiction.
- Cycle-time visibility. Your recorded applied-to-issued times per jurisdiction, per permit type, become scheduling intelligence: you can tell a customer honestly when their project can start because you know how long their city takes.
- Onboarding. A new crew lead inheriting a jurisdiction gets the method notes, the contacts, and the history instead of folklore.
Edge Cases Worth Planning For
- Owner-builder and customer-pulled permits. Sometimes the customer pulls the permit. The work still depends on inspections happening, so track these in the same system — status and dates captured the same way — with a note that the jurisdiction relationship is the customer's. The reminders go to your crew either way.
- Emergency and after-hours work. Some jurisdictions allow work to start under an emergency provision with the permit application to follow. Record the emergency authorization date, and make the follow-up application an urgent task — the temporary authority always carries a short fuse.
- Expired permits found in the wild. Occasionally you inherit one: the customer reveals the previous contractor never finaled. Track it like any other permit, status set to expired, with an evaluation task — renewal, re-application, or new permit — so the path to making it right is deliberate.
- Corrections loops that repeat. A jurisdiction that keeps failing the same item is telling you something specific. When the same correction appears twice, the workflow's history makes it visible — and the fix is usually a crew-side standard, not more re-inspections.
- Multiple permits on one job. Big jobs carry several permits — building, electrical, mechanical, plumbing — each with its own cycle. The record-permit model handles this naturally: they all link to the same job, and the job-level view shows the full set at a glance.
- Jurisdiction websites that change. Portals get redesigned; phone trees change. When the method note goes stale, the person who discovers it updates the lookup — make that update part of the close-out checklist so the knowledge returns to the system that needs it.
- Permits that outlive the customer relationship. A certificate requested years after final payment is not a favor; it is a two-minute query in your archive. Build the archive so it never becomes more than that.
Common Mistakes (and How to Avoid Them)
- Tracking after the job closes. If the permit record is only created when someone remembers, it will be created late or never. Permit intake must be a required step at job creation — that is the whole ballgame.
- A status list with a hundred states. Over-modeled statuses make every update a debate. Keep the list short and unambiguous; if two people disagree about which status a permit is in, the list is wrong, not the people.
- Dates entered as text instead of dates. The calendar rules only work on real date fields. An expiration typed as a note cannot nag anyone.
- One person as the system. If only the person who pulls permits can update the record, you have digitized the single point of failure. Every responsible person has a backup in the record, and the owner sees escalations.
- Certificates living in email. An approval letter or final certificate that stays in an inbox is not archived; it is misplaced in advance. Attach documents to the permit record at the moment they arrive.
- No close-out discipline. A permit that passes final inspection and then sits open forever corrupts the archive and hides the true open-permit count. Close-out tasks with due dates, driven by the pass event, keep the record truthful.
- Escalating everything to the owner. If every reminder lands on the owner, the owner stops reading them. Escalate by absence of action, not by default — the responsible person hears first, and only a stale task climbs the ladder.
- Building portal integrations for every jurisdiction. Jurisdiction portals change without notice. Keep automation on your side of the wall — records, reminders, tasks, archive — and leave the portal interactions as guided human steps with method notes.
Frequently Asked Questions
Do we need this if we only pull a few permits a year? The shops that benefit most are often the moderate-volume ones: few enough permits that tracking feels unnecessary, spread out enough in time that no one remembers any single one's follow-ups. A permit pulled twice a month, each with a several-week lifecycle, generates exactly the calendar scatter this system exists to catch.
We work in one jurisdiction. Is this still worth building? Yes — the workload scales with permits, not jurisdictions. One busy city office with multi-week reviews and multiple inspections per job produces the same missed-inspection and expiration risks as five calmer jurisdictions. The jurisdiction lookup is simply shorter.
Who should own the permit record — the office or the crew lead? Both, in different parts of the cycle. The office typically owns application, review follow-up, and close-out; the crew lead owns on-site verification and inspection readiness. The record's responsible-person field handles the split, and the backup field covers absences.
What about jurisdictions with online portals that track status for us? The portal tracks their process; it does not remind your people to act, and it holds nothing about your job, your crew, or your customer. The workflow complements the portal — the method note says where to check, and your record, dates, tasks, and archive stay yours.
How do we get expiration dates into the system reliably? They arrive on the permit document when it is issued. Make entering the expiration date a required field on the issued-status update — the workflow refuses the status change until the date is present. One required field eliminates the most expensive gap in the whole system.
Can this handle inspection scheduling completely automatically? Only where a jurisdiction exposes a genuine interface for it, which is rare for small shops. Treat scheduling as a guided human step: the workflow creates the task with everything needed — number, method, window preferences — and the responsible person makes the call or fills the form. The automation carries the memory; the human makes the contact.
The Bottom Line
Permits fail quietly: an expiration nobody was watching, a final inspection nobody scheduled, a certificate in an inbox nobody can find. The failure is never about knowing the rules — it is about obligations scattered across a calendar you do not control and people who are busy doing the actual work. Permit tracking automation collects those obligations into one place: intake at job creation so no permit starts as a memory, review follow-ups that nudge the slow offices, an inspection cycle driven by the events of the job itself, layered expiration reminders that survive vacations, close-outs that file the certificate where the next decade can find it, and a jurisdiction knowledge base that turns every phone call lesson into a permanent note. Built once on a no-code platform like Automate Anything from forms, statuses, scheduled reminders, and attachments, it turns permit management from a private talent of one employee into a system the whole company can see — and the next time an office asks for proof of that final from three years ago, the answer is a search, not a shrug.