A back-office agent that watches every deadline so the partner doesn't have to.

Sector
Accounting & tax, 7 staff
Service line
Custom Build + AI Build
Build
About 5 weeks
Engagement
Small build + AI Build Growth retainer

~90 min down to 5 min

The partner's daily deadline review, now a morning digest

0

Missed statutory deadlines in the engagement period

340

Active client engagements kept in view

The brief

A seven-person accountancy practice with about 340 active client engagements: corporation tax filings, VAT returns, payroll RTI, Companies House confirmation statements and self-assessment. Statutory deadlines lived in Karbon. Workload routing (who actually had time this week to clear the deadline list) lived in the partner's head.

Deadlines were still missed in busy weeks. The practice knew about them. What slipped was the daily reconciliation between deadline pressure and fee-earner capacity, a 90-minute manual exercise the partner kept skipping when client work spiked.

The build

An autonomous back-office agent reads Karbon's deadline data and engagement statuses every morning. It cross-references upcoming deadlines against each fee-earner's open-matter workload (with rough hours-to-completion estimates per matter type) and posts a five-minute morning digest in Slack: today's at-risk deadlines, who has bandwidth, and which client reminders are queued.

The agent drafts client reminder emails for the partner to review and release with one click. It never sends a client-facing message on its own. It also flags drift: clients whose reminders have been queued for more than seven days, engagements where the fee-earner has gone quiet, and matters where the deadline keeps moving without a written reason.

Stack

  • Python
  • LangChain
  • Karbon API
  • Postgres
  • Slack webhook
  • Claude Sonnet
Karbon Statutory deadlines and engagement statuses Team workload Open matters per fee-earner, rough hours for each Back-office agent Every morning, weighs deadline pressure against who has time Slack digest, five minutes At-risk deadlines today, who has bandwidth, which reminders are queued Draft reminders Written by the agent Partner releases One click. Nothing goes out unreviewed Drift flags Reminders queued 7+ days, quiet fee-earners, deadlines moving without a reason Karbon Deadlines and engagement statuses Team workload Open matters per fee-earner Back-office agent Every morning, weighs deadlines against who has time Slack digest At-risk deadlines, bandwidth, queued reminders Drift flags Stuck reminders, quiet fee-earners, moving deadlines Draft reminders Written by the agent for the partner Partner releases One click. Nothing goes out unreviewed
What the agent reads each morning and what it hands back. Dashed lines are drift it flags for attention.

What changed

  • Missed statutory deadlines tracked to zero in the engagement period.
  • The partner's daily deadline review compressed from ~90 minutes to a five-minute digest.
  • Client-reminder drafting offloaded. The partner releases reminders instead of writing them.
  • Quiet drift surfaced, so stuck engagements get flagged before they become awkward client conversations.

More case studies

See all case studies

Recognise your business somewhere in here?

If this sounds familiar, start with a 25-minute call: what you're running today, where the friction sits, and whether a monthly retainer is the right shape for it.