The Problem
Your development application has been sitting at "under assessment" for eight weeks. You log into the council portal on a Friday afternoon and discover they requested additional information three weeks ago. Three weeks of dead time. Not because the information was hard to provide, but because nobody checked.
This happens constantly. Large construction projects take 20% longer to finish than scheduled, and permit delays are one of the biggest reasons. The problem isn't slow councils (though that's real too). It's the gap between a status change happening and your team finding out about it.
A typical project juggles 45 or more permit types across local, state, and federal jurisdictions. Each council has its own portal, its own layout, its own way of communicating updates. Some are modern web apps. Some look like they were built in 2004. Some post decisions as PDFs buried three clicks deep.
So your PM or an admin spends time every morning logging into multiple portals, searching for application numbers, eyeballing status fields, and mentally comparing them against what they saw yesterday. And on the days they're busy with something else? Nobody checks at all. A single missed "additional information required" notice can add four to eight weeks to a permit timeline. That's not a minor inconvenience. On a project where idle time costs $5,000 a week, it's real money walking out the door.
How It Works
The automation acts as a watchdog that checks your council portals on a schedule and tells you the moment anything changes. Here's the step by step process.
1. Register your active permits
You add each permit's application number, the council portal URL, and the assigned project manager into a tracking sheet or database. This takes a few minutes per permit and only needs to happen once per application.
2. Scheduled portal checks
A script (built in Python or as an n8n workflow) runs on a schedule, typically twice daily. It visits each council's planning portal, locates the application by its reference number, and extracts the current status text.
3. Status comparison
The automation compares the freshly scraped status against the last recorded status in your database. If nothing has changed, it moves on. If something is different, it flags the permit for notification.
4. Instant notification
When a status change is detected, the assigned project manager gets a message through Slack or email with the permit reference, the project name, the old status, the new status, and what action is needed. No logging in. No searching. The information comes to you.
5. Timeline dependency update
If the status change affects your project schedule (an approval triggers the next phase, or a request for information adds a delay), the automation updates the relevant milestone in your project management tool. Downstream tasks shift automatically.
6. Audit log
Every check and every status change is logged with a timestamp. You get a complete history of each permit's journey through the council process without anyone having to maintain it manually.
Why Manual Checking Breaks Down
The obvious response to permit tracking is "just check the portal every day." And that works, until it doesn't.
It doesn't work when your PM is on site all day and doesn't get to it. It doesn't work when you're tracking permits across three different councils with three different portal designs. It doesn't work during the busy weeks when checking permits drops below putting out fires on the current build.
The real cost isn't the 15 minutes spent logging in. It's the asymmetry between effort and consequence. Checking every day for six weeks and seeing no change feels like wasted time. So people start checking every few days. Then once a week. And that's when the council posts a decision on a Tuesday that nobody sees until the following Monday.
Your DA for the Southbank project was approved with conditions on the 4th. The conditions required a revised stormwater plan within 14 days. Your team found out on the 17th. Thirteen days gone. One day left to produce a stormwater plan that normally takes a week.
That's not a hypothetical edge case. It's Tuesday for half the builders in the country. The automation doesn't forget to check. It doesn't get busy. It doesn't decide to skip a day because nothing changed yesterday.
Handling Portal Differences
One of the first objections builders raise: "Every council portal is different. How do you scrape all of them?"
They're right that portals vary. Some councils use modern platforms with structured data and even APIs. Others use legacy systems where the status is buried in a table inside an iframe inside a page that requires a session cookie. The automation handles this with a modular approach. Each council gets its own scraping configuration that knows where to find the status field on that specific portal.
Yes, portals occasionally change their layout. When they do, the scraper detects the problem (it can't find the expected status field) and alerts you that it needs attention. But even if a scraper breaks once a quarter and takes an hour to fix, that's four hours a year versus 15 minutes a day, every day, for every portal. The maths isn't close.
For councils that do offer APIs or structured data feeds, the automation is even simpler. No scraping needed. Just a direct status request that returns clean, reliable data.
The Business Impact
Take a mid size building company running five projects at any given time, each with two to three active permits. That's 10 to 15 permit applications being tracked.
Manual checking takes roughly 15 minutes per portal per day. Across five councils, that's over an hour of someone's day, every working day. At $50 an hour, that's $250 a week or $13,000 a year in time spent refreshing web pages and comparing status text.
But the bigger number is the delay cost. If automated monitoring catches a status change one week earlier than manual checking would have (a conservative estimate given that manual checks often lapse), and idle time on a stalled project costs $5,000 per week, a single early catch pays for the entire system. Across five projects over a year, even catching two delays early saves $10,000 or more.
Combined savings: $23,000 or more per year for a five project operation. The automation costs a fraction of that to build and maintain.
- Recover 5+ hours per week of admin or PM time previously spent on portal checks
- Catch status changes the same day they happen, not days or weeks later
- Automatically update project timelines when permit milestones shift
- Maintain a complete audit trail of every permit status change with timestamps
- Reduce permit related project delays by catching "additional information required" notices immediately
Frequently Asked Questions
What if a council portal doesn't have an API?
Most council portals don't. The automation uses web scraping (with tools like Selenium or BeautifulSoup) to read the status directly from the portal's HTML. It works with any portal that displays permit status on a web page, which covers the vast majority of Australian councils.
Does this work across multiple councils at the same time?
Yes. Each council portal gets its own scraping configuration, so the system can monitor permits across as many councils as you need. A builder with projects in three different LGAs tracks all of them from a single dashboard.
What happens when a council changes their portal layout?
The automation detects when it can't find the expected status field and sends you an alert. The scraper configuration for that council needs updating, which typically takes under an hour. Between layout changes (which happen rarely), the system runs without any intervention.
We only have one or two permits at a time. Is this worth it?
Even with two active permits, the automation catches changes the day they happen. On a project where a permit delay costs $5,000 a week in idle equipment and crew, catching a status change one week earlier than you would have manually pays for the system several times over. The cost of not knowing is always higher than the cost of monitoring.
Can it do more than just check status?
The base automation monitors status and sends notifications. An advanced version can parse council decision documents to extract conditions and deadlines, automatically create task lists from approval conditions, and estimate likely approval timelines based on historical data from that council.
How long does it take to set up?
A basic tracker for a single council portal can be running within a few days. Adding more councils takes a few hours each, depending on portal complexity. If you want to see what this would look like for your projects, book your free audit and we'll map it out for you.
Sources
Automations we’ve already built
Thirty days after onboarding begins, an automated workflow surveys your client, pulls milestone data from your project tools, generates an AI written retrospective, and flags anyone who needs a recovery call. Every onboarding teaches the next one.
When a new client lands in your practice management software, this automation generates a tailored engagement letter with the right services, fees, and deadlines, sends it for electronic signature, then builds the client folder and kicks off your onboarding checklist. No chasing. No waiting.
A project manager fills out a short form after a discovery call. Within minutes, AI drafts a full Statement of Work into your branded template, routes it through Slack for internal approval, and sends it to the client for signature.
When a project closes in your PM tool, this automation collects every contract, deliverable, and sign off from across your systems, organises them into a standardised archive folder, and generates a summary PDF. No manual cleanup required.
When a contact is tagged in your CRM as needing an NDA, the agreement is generated from a template with their details prefilled, sent for signature, and tracked automatically. Overdue NDAs trigger reminders so nothing slips through.
Automatically converts raw meeting notes or recordings into structured, branded board minutes with tracked resolutions and action items, so your admin staff can stop spending full days on documentation that nobody reads until it's too late.
Capture scope changes on site, generate costed PDFs, route them through internal approval and client e signature, and log everything automatically. No verbal agreements, no lost paperwork, no payment disputes.
When a new contract lands in your cloud folder, an AI agent extracts the text, checks every clause against a risk framework, and sends your team a structured memo flagging the problems that actually matter. Preliminary review drops from hours to minutes.
When a new contractor lands in your HR system or Airtable base, this automation generates a complete document bundle, sends it as a single signing package through PandaDoc, and updates your records the moment everything is signed.
When a deal hits the proposal stage in your CRM, this automation pulls the client name, scope, pricing, and line items, then merges everything into a branded template. The finished PDF lands back on the deal record and in the prospect's inbox without anyone touching a document.
When every party signs a document in DocuSign or PandaDoc, this automation downloads the completed PDF, renames it to your filing convention, stores it in the right client folder, and notifies the account manager. No manual downloading, no misfiled contracts.
A scheduled workflow scans your contracts database daily, flags renewals at 30, 14, and 7 day intervals, and sends tiered alerts to account managers and leadership so nothing expires unnoticed.
When a new client is created in your CRM, this automation builds their billing profile, generates the first invoice, sets up recurring payments, and sends a secure link to collect their payment method. No manual data entry between systems, no forgotten first invoices.
When a project is marked complete in your project management tool, this automation pulls billable hours and rates, generates a branded PDF invoice, and emails it to the client with payment instructions. A copy lands in the client folder without anyone lifting a finger.
When a new patient books an appointment, this automation sends digital intake forms, collects consent and insurance details, converts everything to PDF, files it in the patient folder, and notifies your front desk. No clipboards. No data entry.
An AI agent that turns your meeting recordings into structured summaries, assigned action items, and tracked tasks across Slack, Asana, and Notion. No more post meeting admin, no more forgotten decisions.
An automated workflow pulls client KPIs from your data sources on the first business day of each month, populates branded report templates, converts them to PDF, and emails every client their personalised report before your team starts work.
Automatically classify incoming contracts by type, route each one to the right reviewer, and track every document through the review pipeline so nothing stalls in someone's inbox.
When a new B2B client submits their intake form, this automation reads every team member's role and sends each person the exact onboarding content they need. Billing contacts get payment setup. Project sponsors get the timeline. Day to day operators get tool access and kickoff details. Every stakeholder's progress is tracked independently until all are ready.
When a new client record lands in your CRM with a signed engagement letter, a prefilled contract is automatically generated and sent for e signature. No copying, no delays, no forgotten clauses.
When a prospect opens your proposal, this automation logs the view in your CRM, pings the assigned salesperson on Slack, and sends a templated follow up email if the document stays unsigned after 48 hours.
When a real estate agent fills out a short form with property details and buyer information, the automation generates a complete contract of sale, attaches the correct disclosure forms, and sends the full package to DocuSign with the right signing order.
Automatically converts approved quotes into signed service contracts with warranty terms, payment schedules, and scope definitions. No manual paperwork, no verbal agreements, no disputes three months later.
When a vendor sends a contract, AI extracts payment terms, liability caps, termination clauses and auto renewal dates into a structured row. Your procurement team can then compare every vendor agreement side by side, spotting bad deals before anyone signs.
Not ready to talk yet? Start here.
Everything we've learned building 300+ automations for small businesses, in one practical guide. Written for business owners, not engineers.
- Where your team's hours are actually disappearing
- The five automations worth setting up first and why
- How to calculate what manual work is actually costing you
- A step by step checklist to get your first automation live this week
Completely free.