For Permit Expediters

Permits move when your office talks to the AHJ portal.

Built for permit-expediter firms: Accela / AHJ submission and status sync, inspection scheduling that doesn't double-book, conditions that don't fall off the radar, ACH fee payment, and a client-facing portal so owners stop calling you for status updates. One operating system across every jurisdiction you work in.

Accela integration (covers ~60% of US metros) Inbound webhook for AHJ status sync ACH fee payment via Lithic Client-facing PE portal at permits.aos.build
Your reality today

Your AHJ portals don't talk to your office.

Every jurisdiction is its own login, its own status vocabulary, its own form, its own fee-pay process. You retype the same project data per portal, refresh by hand for status, and field "any update?" calls from owners hourly.

Permits stuck in pre-app.

An application sits in "received" for two weeks because the AHJ flagged a missing detail and the email landed in a junk folder. You find out when the owner asks why nothing's moved.

Inspections double-booked.

Framing and rough electrical scheduled the same morning by two different field supers. The framing inspector arrives, can't pass without the electrical sign-off, and you lose a half-day.

Conditions accumulate.

Conditional approval issued with 4 corrections. Three get resolved; the 4th — a fire access detail — drifts out of view. When you go to close out, you find it three weeks before TCO is due.

AHJ portals don't talk to your office.

Accela for one city, Tyler EnerGov for the county, an ePermit Hub for the next municipality over. Your office system has none of it. Status lives in someone's bookmarks bar.

What AOS does for you

The permit-expediter operating system, built around the AHJ integration.

AOS is your office system AND your client-facing portal. Permits submitted through Accela / Tyler / OpenGov roll back into your dashboard automatically. Conditions, inspections, fee payments, and status changes are all tracked on one record per permit — and your owner sees a curated view at permits.aos.build.

AHJ integration

Accela submission + status poll

OAuth2 connection per jurisdiction. Submit a record, get back a record_id, store the AHJ-side status, poll for changes every 15 minutes. Accela covers ~60% of US metros today; Tyler EnerGov and OpenGov are next.

Inbound webhook

Status sync via AHJ webhook

HMAC-verified inbound endpoint at /webhooks/ahj/<connector>. AHJ pushes "Issued" / "Conditional Approval" / "Denied" → your local status flips and your owner-facing portal updates in real time.

Conditions

Conditions that don't drift

Per-permit condition list with assignment, due-date, and proof-of-resolution attachment. Conditions stay visible on the project until satisfied — no more "we thought that was closed last month" at closeout.

Inspections

Inspection scheduling without double-booking

One scheduler across every permit on a project. Trade conflicts surface before you book; calendar holds reserve the slot until you confirm with the AHJ portal.

Fee payment

ACH fee payment via Lithic

One-click ACH push to the AHJ's deposit account. Routing + account stored encrypted-at-rest, snapshotted per payment for audit. Settlement and reversal flow back via Lithic's webhook. Wire and check rails are next.

Client portal

Permits.aos.build for your owners

Host-split client portal — your owner logs into permits.aos.build and sees the active permits on their project, the next inspection, conditions outstanding, and your contact. They stop calling you for status; you keep the relationship.

Cross-tenant queue

Cross-project queue for AOS-managed firms

If you run permits for a portfolio of owners, one queue sorts every permit across every project — sorted by "what's stalled," "next inspection," and "fee owed." Per-jurisdiction rollup behind one tab.

GC bridge

GC tenants see permit status live

If your owner's GC is also on AOS, your permit status flows into their project view automatically via the cross-tenant outbox. No more "the expediter said it's issued, can we get something in writing?" because the GC is looking at the same record you are.

Access

One login per firm, every jurisdiction

You stop juggling 12 AHJ logins per person. AOS holds the OAuth credentials per jurisdiction at the firm level; your team works through one dashboard. New hires onboard in an hour, not a month.

60%
US metros covered by Accela today — your most-frequent AHJ is probably already on it
15min
Status-poll cadence — AHJ-side changes show up on your dashboard within a quarter-hour
SHA-256
HMAC signature verification on every inbound webhook — fail-closed on bad signatures
1
Click for owner to see status — at permits.aos.build, scoped to their project

Stop refreshing AHJ portals. Start running them.

30-minute walkthrough scoped to the permit-expediter workflow. We'll show you the Accela connector, the inspection scheduler, the conditions list, and the client portal — using real permits from a real jurisdiction.