Resources · July 6, 2026
60 Days Inside a Legal Staffing Firm: A Teardown
Everything we actually did in the first 60 days of an automation engagement with a legal staffing firm. What it cost, what paid back, what broke, and what I'd do differently.
By Tom Faries · Updated July 6, 2026
In the spring I started an engagement with a legal staffing firm. Family-owned, two decades in business, thousands of placements behind them, and a team spending a shocking amount of their week on work a machine should be doing.
Consultants love showing you the highlight reel. This is the other thing: the actual sixty days, what we did in what order, what it returned, and the part where something broke.
Days 1 to 14: count first, build nothing
The first two weeks produced no automation at all. They produced numbers.
We sat with the team and wrote down where the hours went. Two things stood out immediately.
First, job posting. Every new job order meant copying a description, logging into five different platforms, reformatting it for each one, and posting it. Ten hours a week, every week, on copy and paste. Worse, there was a quiet risk inside it: confidential employer details occasionally slipped into public posts. Nothing bad had happened yet. Yet.
Second, the morning email pile. The team received around thirty emails a day, each with ten to twenty candidate links inside. Somebody had to open all of them, review each candidate, and organize the details somewhere useful. Hours, daily, before any actual recruiting started.
We wrote both numbers down. That step matters more than anything we built afterward, because every result in this teardown is measured against those two numbers. Without them, “the project went well” would just be my opinion.
Days 15 to 30: the job posting machine
We built the job posting automation first because it had the biggest number attached.
The design principle: automate the work, never the judgment. Here’s the shape of it.
A new job order goes into the same spreadsheet the team already used. No new software to learn. The system picks it up automatically and does the tedious part: cleans up the formatting, and, importantly, checks the listing for confidential details that shouldn’t appear in public. AI reads every post before a human ever sees it, and strips or flags anything that looks wrong.
Then it stops and waits. The operations lead gets one email with the cleaned-up post and one approve button. Nothing goes public without that click. On approval, the system posts to all five platforms at once.
By the end of the first month, job posting took under ten minutes a week. Down from ten hours. And in the months since, exactly zero confidential details have slipped into a public post. The check that used to depend on a busy person’s attention now runs every single time.
Days 30 to 45: the email pile, and being found
With the biggest time sink handled, we went after the morning email pile. Same principle. AI now reads those thirty emails, pulls out every candidate’s key details, and compiles the whole day’s intake into one organized spreadsheet in minutes. The recruiters start their day with a clean list instead of an inbox archaeology project.
Here’s what the client said about it afterward, shared with their permission:
“Our team receives around 30 emails daily, each with 10 to 20 candidate links. Reviewing and organizing all of it used to take hours. Now AI extracts the key details and compiles them into a structured spreadsheet in minutes, so our recruiters spend more time on candidate engagement and placements.”
In parallel, we started on a different kind of problem: the firm was invisible in AI search. When someone asked ChatGPT or Perplexity for staffing help in their market, the firm simply didn’t come up. They didn’t know this was happening, which is exactly why it’s worth checking for your own business. We rebuilt their website so both people and AI search engines could find and quote it. Within weeks, clients and candidates were reaching out and mentioning they’d found the firm through AI tools. A channel that didn’t exist for them before.
We also cancelled software along the way: a CRM nobody really used and a recurring outside web development bill for changes the team can now make themselves. Automation projects should reduce your software list at least as often as they grow it.
The part where something broke
Now the honest section.
Months into the engagement, one of the connections between the posting system and an outside platform expired. These connections come with expiration dates set by the platforms, not by us. The system kept running, the other platforms kept posting, and this one quietly failed. For weeks. No error on anyone’s screen. The failure was recorded in a status column nobody had a reason to look at.
That one is on me. The fix took a day: we rerouted everything through a single long-lived connection and, more importantly, added an alert. Today, if any post fails on any platform, a named person gets an email about it the same morning. The system is no longer capable of failing silently.
The lesson is worth the embarrassment of telling it: every automated system needs a way to tell a human it’s broken, and that alert should be built on day one. Ask anyone selling you automation what happens when their system fails at 2 PM on a Tuesday. If the answer isn’t a specific person’s name, the build isn’t finished.
The scoreboard at day 60
Against the numbers from week one:
- Job posting: ten hours a week down to under ten minutes, with a human approval on every post
- Confidential details in public posts: zero incidents since the AI check went live
- Morning email review: hours per day down to minutes, recruiters redirected to actual recruiting
- New inbound channel: visible on ChatGPT, Perplexity, and Google AI Overviews, which produced real inquiries
- Software bills: two recurring costs eliminated
What it cost
A teardown without the money conversation is still a highlight reel, so here it is.
The build work was fixed-scope and priced up front. All of the automation described above cost a fraction of one recruiter’s monthly salary, paid once. No monthly platform fee for the posting system, because it runs on tools the firm already had: their spreadsheet, their email, their website.
Compare that against the numbers it erased. Ten hours a week of a senior person’s time is roughly five hundred hours a year. The email pile was more. The system paid for itself inside the first quarter, and the math was checkable by the client because we wrote the baseline down before building anything.
That’s the standard I’d hold any automation proposal to, mine included. If the person pitching you can’t show the before number, the after number, and the price in the same breath, you’re buying a story instead of a result.
What I’d do differently
Two things. I’d build the failure alerts in week one instead of treating them as polish for later. And I’d set up the “one place where every answer lives” discipline earlier: some of the mid-engagement confusion came from status living in a spreadsheet column nobody was assigned to watch.
What I wouldn’t change is the order. Count first. Automate the biggest internal time sink. Keep a person on every approval. Go public-facing only after the internal systems have earned trust.
If you want to know what your version of the ten-hour job posting problem is, that’s the conversation I have for free. Thirty minutes, no deck, no pitch. Start with the mapping session.
More writing in resources, or get in touch.