Chapter 04
How the agents work
Most of the engine is plain code with clear rules. The agents sit at the points that need reading and writing. Here is one client's report from the 2nd of the month, traced from the trigger to the owner's approval, then how the engine learned from one correction.
Sample deployment record. Tidewater Creative is a fictional client and every number here is illustrative.
Incoming month-end
Harbor Dental · September report
RPT-1042 · Oct 2, 2026, 7:10 am
$4,800 retainer
- Meta Ads spend
- $4,812
- Google Ads spend
- $1,140
- Leads attributed
- 63
- Workbook total (last month's template)
- $4,080
Report assembler
Runs four steps in order, stops on a flag
Export3.2s
Done · Exact
Pulled September spend and results for Harbor Dental from Meta Ads and Google Ads by API and wrote them into the locked report template.
Rule 1: numbers come from the platform export, never from a pasted workbook
Mismatch check0.4s
Held for a person · Flagged
Platform total $5,952 against a template total of $4,080 from last month's carried-over cell. Spend is also 18% above August. Both numbers held side by side for a person.
Rule 3: a mismatch or a swing above 15% stops the run until cleared
Change summary6.1s
Done · High
Drafted from the media buyer's change log: budget raised from $4,000 to $4,800 on Sep 18 for the fall promotion. Leads up 22% on the month.
Rule 5: explain changes from the log, and say so when the log is empty
Approval
Waiting
Held until the account lead clears the flag. Then one email to the owner with the PDF and two buttons.
Rule 7: nothing reaches a client without the owner's approval on record
The feedback loop
Agent wrote
Spend change explains the lead drop
Boardwalk Rentals, September draft
→
Account lead wrote
End of rental season, as every year
Edited before send, kept as an example
The edit was saved against the client and the month. Next September the draft starts from the seasonal explanation and checks the log for anything new.
Drafts approved without edit, month 1
71%
→
Month 4
91%
Rule changes
Jul 14, 2026
Mismatch tolerances set per client
Month one flagged a third of reports. Tolerances were set per client from what the account lead cleared without changes. Flags dropped to one or two a month.
12 tolerances set
Aug 3, 2026
Reminder cadence matched to payment history
Two clients who always pay around day 20 were getting the day-14 nudge. The cadence now reads each client's history before sending.
2 cadences adjusted
Sep 22, 2026
Expired Google Ads access handled
A client's access token expired mid-month. The onboarding agent now watches for the error and sends the renewal request the same day.
1 rule added
~140
Actions per month-end
91%
Drafts approved without edit, month 4
11
Mismatches caught before send
0
Reports sent with the wrong month's numbers
Guardrails
The owner decides what reaches a client
Reports and overage lines need the owner's approval. Reminders follow a cadence the owner set and can be paused per client in one reply.
Money and commitments stay human
The agents never decide what to do about a late client, never offer a discount, and never promise a delivery date.
Minimum access
Read access everywhere it is enough. Write access only for draft invoices, the report template, the client folder, and the shared mailbox.
Run in parallel, then switch over
The first month-end ran both the old path and the new one. The old workbook was retired only after the numbers matched twice.
A kill switch the owner holds
One reply pauses every agent. Nothing queued is sent until the agents are turned back on.