How to track license and permit renewals as Property Management Founders

Compliance & LegalFor Property Management Founders2 apps12 steps~24 min to set up

You manage 200–400 doors across residential and small commercial properties, and your license and permit calendar lives in a shared Google Sheet that someone last updated in Q3. Business licenses, property management licenses, contractor registrations, lead paint certifications, rental certificates of occupancy, habitability permits, fire inspection tags — each one has a different issuing authority, a different renewal window, and a different consequence if it lapses. Your state PML renewal hits the same month as four city rental permits. You find out a permit expired when a tenant calls code enforcement or an owner asks why their property got red-tagged. There's no system. There's a calendar reminder someone set and then ignored.

Compliance & LegalFor Property Management Founders2 apps12 steps~24 min to set up
Outcome

What you'll set up

A centralized license and permit tracker built inside Starch that stores every license, certificate, and permit across your entire portfolio with renewal dates, issuing authority, cost, and property association — no more digging through email threads or shared spreadsheets
Automated renewal reminders that ping you (and the right team member) at 90, 60, and 30 days before expiration — with a task automatically created in Task Manager so nothing slips past a missed Slack notification
A browser-automated workflow that logs into your city or county portal and checks renewal status directly, so you're not waiting for a paper notice that gets lost in the mail
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Data sources & config

The permit tracker is built as a custom Knowledge Management app in Starch where each record is a license or permit entry. Task Manager handles the reminder task queue with P1–P4 prioritization. Starch automates your city and county permit portals through your browser — no API needed — to pull live renewal status. Gmail is connected directly via Starch's scheduled sync to catch inbound renewal notices and match them to open tracker records. Slack is connected from Starch's integration catalog so the agent queries it live to route weekly digest messages to your ops channel.

Prompts to copy
Build me a license and permit tracker for a property management company. I need to log every license, permit, and certification we hold — including property address or portfolio-wide scope, issuing authority, expiration date, renewal cost, renewal lead time, responsible team member, and current status (active, pending renewal, expired). Show me a dashboard view sorted by expiration date and flag anything expiring within 90 days in red.
Set up automated reminders: 90 days before any permit or license expires, create a P1 task in Task Manager assigned to the responsible team member with the permit name, property address, issuing authority contact, and a link to the renewal portal. Repeat at 60 days and 30 days with escalating priority if the task is still open.
Every Monday morning, go to the City of [your city] online permits portal through the browser, log in with my credentials, check the status of each active permit on this list, and update the status field in the tracker if anything has changed. Send me a Slack message with a summary of what changed.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect Gmail via Starch's scheduled sync and connect Slack from Starch's integration catalog. These are the two channels where renewal notices arrive and where your team will get alerted.
2 Tell Starch: 'Build me a license and permit tracker for a property management company' — describe the fields you need (permit type, address, issuing authority, expiration date, renewal cost, responsible staff member, status). Starch builds the app; you fill in your existing permits or paste in your Google Sheet data.
3 Categorize your permits: business licenses (state, city), property management licenses (broker license, firm license), rental certificates of occupancy by property, lead paint and habitability certs, contractor/vendor registrations you maintain on behalf of owners, and any commercial permits if applicable.
4 Set renewal lead times per permit type — a state PML renewal might need 120 days of lead time while a local rental cert might only need 30. Tell Starch these rules so it knows when to trigger each reminder.
5 Tell Starch to create the Task Manager automation: 'Create a P1 task 90 days before any permit expires, assigned to the responsible team member, with renewal portal URL and issuing authority phone number in the task notes. Escalate to P1 overdue if the task isn't marked complete within 14 days.'
6 For each city or county portal you use, run a browser automation setup: 'Log into [portal URL] with my credentials, navigate to active permits for [license number or property address], and return the current status and any new notices.' Starch runs this through your browser — no API needed.
7 Wire a weekly Monday morning automation: Starch checks the browser-reachable portals, updates the tracker, compares expiration dates against today, and posts a Slack digest to your ops channel listing anything expiring in the next 90 days with responsible owner and days remaining.
8 Connect your Gmail via scheduled sync and tell Starch: 'When a new email arrives from any known permit authority — match against the issuing authority list in my tracker — flag it, extract the permit name and any new expiration date mentioned, and create a task to review it.' This catches renewal notices you didn't go looking for.
9 Build a 12-month forward view: 'Show me a calendar view of every permit expiration in the next 12 months, grouped by month, with estimated renewal cost so I can plan for the cash outlay.' This becomes your ops calendar for compliance spend.
10 Add a vendor/contractor license sub-tracker: property management firms in most states are responsible for verifying that contractors working on managed properties carry current liability and workers comp. Tell Starch to track preferred vendor license expirations with the same 90/60/30 day alert cadence.
11 At renewal time, use Starch's browser automation to navigate directly to the renewal portal, confirm the form is pre-filled correctly, and flag if any fields require manual review — so a staff member only touches it when something needs human judgment, not to copy-paste from a spreadsheet.
12 After each renewal completes, update the tracker with the new expiration date and attach the renewal confirmation number or PDF reference so you have a defensible audit trail if a city inspector or owner ever questions your compliance standing.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

Q1 2026 renewal crunch — 47-door residential portfolio, mid-Atlantic market

Sample numbers from a real run
State property management firm license (annual)650
City rental dwelling certificates of occupancy — 12 units expiring Feb 152,400
Lead paint visual assessment renewals — 8 pre-1978 units1,200
Business privilege license renewal — city325
Preferred vendor: HVAC contractor — liability cert expiring Jan 310

It's January 3rd. The Starch tracker surfaces a 90-day alert on February 15th rental CoOs for 12 units across three properties — tasks land in Task Manager assigned to your leasing coordinator with the city portal link and a note that the city requires a property inspection before issuing the renewal. The HVAC contractor's liability cert flags separately: expiration January 31, 28 days out. Starch logs into the city permits portal through the browser, pulls current status on all 12 CoOs, and confirms 10 are eligible for online renewal while 2 require in-person inspection scheduling. Your coordinator sees exactly what needs a phone call versus what can be completed in the portal. The state PML renewal — $650 due March 1 — is already in progress because the 90-day task was created in early December. Total renewal cost visible in the Q1 view: $4,575 across five line items, compared to the $0 budget line that existed when this lived in a forgotten Google Sheet.

Measurement

How you'll know it's working

Percentage of permits renewed before expiration (target: 100%; current baseline if tracking in spreadsheets is often 85–90% with lapses going unnoticed)
Average days between expiration notice and renewal completion — anything over 21 days is a process failure for most city-issued permits
Preferred vendor insurance compliance rate — percentage of active vendors with current liability and workers comp certs on file
Annual compliance spend by property — useful for owner reporting and for identifying properties with unusually high permit burdens
Open overdue renewal tasks at any point in time — should be zero; any number above zero is an active exposure
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

Google Sheets + calendar reminders
Free and familiar, but there's no automation — someone has to manually update it, reminders go to one person's calendar, and when that person leaves the firm the whole system disappears with them.
AppFolio / Buildium built-in compliance tracking
Your PMS may have basic lease expiration tracking but it's not built for multi-type permit tracking across different issuing authorities, and it won't log into city portals to check status on your behalf.
ComplianceQuadrant or PropertyMeld compliance modules
Purpose-built for property compliance but priced for larger operators, not a 200-door independent firm — and they won't handle your general business license or state PML alongside property-level permits in one view.
Airtable or Notion manual tracker
More structured than a spreadsheet but still requires manual data entry, has no browser automation to check portal status, and building the reminder logic requires significant setup time with no AI authoring.
On Starch RECOMMENDED

One platform — knowledge management, task manager all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

My permits are spread across six different city and county portals with different login systems. Can Starch actually handle all of them?
Yes — Starch automates any website you can log into through your browser, no API needed. You set it up once per portal: give Starch your credentials and describe what to look for (permit number, expiration date, status), and it runs the check on whatever schedule you set. Each portal runs as an independent browser session, so a problem with one city's site doesn't block the others.
Will Starch actually fill out and submit the renewal form, or just alert me?
Starch can navigate to the renewal form, check whether pre-populated fields look correct, and flag anything that needs review — but for actual submission you'll want a human to confirm before hitting submit on a government form, especially for permits that carry legal liability. The workflow is designed to eliminate the research and copy-paste work, not to remove human sign-off on the actual filing.
I'm not SOC 2 certified — is Starch?
Starch is not SOC 2 Type II certified today. If a government portal or your state licensing board requires SOC 2 compliance for any integration work, that's worth knowing before you store credentials in Starch. For most small property management operators tracking their own permits, this isn't a blocker — but it's an honest answer.
Can I track contractor and vendor license expirations in the same system as my property permits?
Yes, and you should. Tell Starch to build a vendor compliance sub-tracker alongside your permit tracker — same 90/60/30 day alert cadence, same Task Manager integration. In most states, as the property management firm you carry some exposure if a contractor working on a managed property doesn't have current coverage. Having it in one place means you catch both problems from the same Monday morning Slack digest.
What if a permit type I need to track isn't in any of your integrations?
If the issuing authority has a website — even a basic government portal — Starch can automate it through your browser. The only scenario where Starch can't reach it is if there's literally no web presence at all, which is rare for any licensed government body. For permits that only come in by mail or phone call, the tracker still works; you just update those manually rather than having Starch pull status automatically.
Can I give different team members access to different parts of the tracker?
You can assign tasks and responsibilities per permit record so each team member sees what they own in Task Manager. Starch is built for small operator teams — it's not an enterprise permissions system with role-based access controls on every field, but the workflow design (task assignment, named responsible parties, specific alert routing) is what keeps the right person accountable for each renewal.

Ready to run track license and permit renewals on Starch?

Request closed-beta access. Everything is free during beta.

You're on the list! We'll be in touch soon.