Skip to main content
DoneThat

AI Adoption GuideGovernmentAuthorize

Condition generator for approvals

LLM drafts tailored approval conditions based on applicant risk profile, applicable regulations, and precedent cases from similar authorizations.

Government processPlanFundAuthorizeDeliverInspectEnforceReportClose

By Don, DoneThat’s AI coach · updated

A draft condition is only usable with a cite

A condition generator is useful when every proposed line cites a regulation or a named precedent file. A line with no support stays blank. The officer checks the same sources, then issues or refuses.

The officer still issues the approval. The generator does not create a legal instrument, does not bind the applicant, and does not close the file. If the model cannot ground a condition in the loaded statute or in a similar authorization of the same permit type, it must leave that slot empty rather than invent language that sounds like your shop's house style.

Treat the output as a working list of candidate conditions, each with a citation field. A line that reads well but cites nothing is not a draft. It is a prompt for you to either find the source or delete the line.

Risk on the application is an input to which conditions to consider, not a license to write new ones. Pair this page with risk scoring for high-impact cases when you need a consistent view of impact before you open the condition list. Completeness of the packet is a prior gate: if required exhibits are missing, stop and use the application completeness checker instead of asking a model to condition around a hole in the file.

Load the statute, the file, and matching authorizations

Do not prompt from memory of what the office usually requires. Load three sources before any draft runs.

First, the applicable statute and implementing rules for this authorization type: the article, section, and any adopted standards that actually apply to this use, this zone, and this activity. A general environmental chapter that does not cover this permit class does not belong in the context. If your shop already keeps annotated codes in a legal research product such as Westlaw, pull the same sections you would open at the desk, not a broader digest of neighboring titles.

Second, the applicant file: the application form, site plan or operating description, prior correspondence, and the risk notes you already accepted. The model can tailor wording only if it sees what this applicant proposed. It cannot infer tank volume, hours of operation, or measured setbacks from a permit type name.

Third, similar authorizations of the same type. Similar means the same statutory hook and a comparable activity, not any approval that happened to sit in the same queue. A special-use permit for an above-ground fuel tank is not similar to a warehouse site plan because both mentioned a setback. Precedents should come from your permitting system of record, whether that is Accela, Tyler, or another case file store, filtered by permit class and, where possible, by the same code sections.

Microsoft tools often hold the working draft the officer will paste into the instrument. That is a destination, not a source.

If the loaded rules and matching files leave a gap, that is a finding for the regulatory gap scanner, not a reason to write a condition that fills the gap with invented text. Record which code edition, which application packet, and which precedent file numbers went into the prompt. If a later reviewer cannot reconstruct those three inputs, the draft is not checkable.

Draft with cites, or leave the line empty

Run the generator only after those three loads are in place. Ask for a numbered list of candidate conditions. Each item must carry either a regulation cite (title, section, and the clause that authorizes the requirement) or a precedent file identifier (the prior authorization number and the condition number copied from that file). If neither is available, the item must be empty.

Empty is a valid result. An empty line means nothing in the statute as loaded, and nothing in the matching files, supports this requirement. Do not backfill with best practice, typical of this use, or language from a different permit type.

Work the list the way you work a staff report. For each non-empty line, open the cited section or the cited file and confirm the condition is actually authorized and actually fits this applicant. If the cite is right but the wording overreaches, edit the wording down. If the cite is wrong, delete the line. If the line is empty and you believe a condition is still required, that is an officer judgment you must make from the code yourself. Do not ask the model to invent the missing authority.

Tailoring is allowed inside the four corners of the cite. If the fire-prevention article requires a setback measured from the tank shell to the property line, the draft may insert the distance from this site plan. If the article is silent on landscaping bonds, the draft must not add one because a commercial building permit in the same folder used a bond. Keep applicant-specific facts in the condition only when they come from the loaded file or from the cited rule. If the model invents an inspection schedule that neither source requires, strike it even if the schedule would be convenient to enforce later.

Three failure modes that look like finished work

A condition with no cite. The sentence may match your office voice and may even be something you have imposed before. Without a pointer to the rule or to a same-type file, you cannot tell whether the model recalled a real requirement or assembled a plausible one. Reject the line. Either attach the source and re-check, or drop it.

Treating the draft as issued. A generated list in a Word document, an Accela or Tyler comment field, or a Teams thread is still a draft. The approval exists only when you, or the official with sign-off authority, issue it in the system of record under your procedures. Do not send the generator output to the applicant as the decision.

Copying a condition from a different permit type. This is the failure that most often survives a quick read because the text is real. It came from a real file. It is just the wrong file. Same-queue is not same-type. Overlay districts, fire articles, liquor-control conditions, and stormwater notes do not travel together because they shared a street address or a hearing date.

One working illustration: you are reviewing a special-use authorization for an above-ground fuel tank. The generator proposes a building setback as previously required on this corridor, citing a warehouse site-plan file. That warehouse condition came from a zoning overlay that does not apply to fuel storage. The usable path is to load the fire-prevention article that governs tank placement, the applicant's site plan, and prior fuel-tank authorizations of the same class. If that article requires a measured clearance from the tank to the lot line, draft that condition with the article cite and the measurement taken from this plan. If a prior fuel-tank file imposed leak-detection monitoring under the same article, you may draft a monitoring condition that cites both the article and that file. If neither the article nor those matching files mention a landscaping performance bond, leave that line blank. You still decide whether to issue, issue with the grounded conditions, or refuse. When you catch a cross-type copy, delete it and return to the three loads. Editing a warehouse overlay condition until it mentions a tank still leaves you with overlay authority that does not apply.

Issue the instrument yourself

After you have kept only cited conditions, edited wording to this applicant, and left unsupported slots empty, issue the approval in the ordinary way. Sign, number, and record it as you would a staff-written instrument. The generator's job ended when it produced a checkable list.

Keep the citation trail with the issued conditions so a later inspector or a later officer can see why each line exists. That trail is also what you will need if the file later supports an enforcement notice drafter: a notice that restates a condition with no recorded source is harder to defend than a notice that points back to the same section or precedent file you used at authorization.

Do not treat vendor labels as a substitute for this workflow. Accela and Tyler hold cases. Westlaw holds law. Microsoft tools hold drafts. None of them issue the authorization for you, and none of them make an uncited sentence into a lawful condition.

If the model returns a full-looking set and several lines have empty cites, that is a successful run on quality terms: it refused to invent. Fill from the code yourself where you have authority, or issue without those lines. An issued approval with fewer, grounded conditions is the outcome this page is for. An issued approval stuffed with uncited extras is not.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first