The shape of the loop
Every iteration the agent does the same four things:Size up the backlog
Call
count_transactions(tags=["needs-review"]) to see how many transactions are pending. If the count is very large, the agent narrows by date or account.Fetch a working batch
Call
query_transactions(tags=["needs-review"], fields="core,category", limit=30) to pull a page worth of detail. Keep batches small β one batch is the unit the agent reasons over end-to-end.Decide per transaction
For each row the agent considers
name, merchant_name, amount, account_name, and any pre-applied category. It either confirms the category, picks a new one, or defers.POST /api/v1/reports) so the household can skim what happened without reading every annotation.
A full compound op, end-to-end
Hereβs what a singleupdate_transactions call looks like for a batch of three decisions:
A paste-ready system prompt
Drop this into your agentβs system instructions (Claude.ai projects, Claude Desktop, an automation tool, etc.). Tune the cadence line to match how often you want it to run.What the agent should not do
- Never touch rows for category changes. The
update_transactionsop will report the skip; trust that signal. - Never batch more than 50 ops into one
update_transactionscall. Split batches. - Never resync on its own schedule. Sync runs on its own cron;
trigger_syncis reserved for when a human asks for the latest data. - Never close a review itβs not confident about. Leaving the tag in place is a first-class action.
When one agent is enough
A single routine reviewer handles most households indefinitely. The thresholds that usually prompt people to graduate to multi-agent setups are:- Queue consistently sits above 100 unresolved items for days at a time.
- Different kinds of transactions need genuinely different reasoning β peer-to-peer transfers, business expenses, subscriptions β and you want each handled by a specialist agent with its own context.
- You want different review cadences for different transaction types (e.g., subscriptions weekly, everything else daily).
Related reading
- Breadbox in a nutshell β the primitives the loop rests on.
- Review workflow β the full spec for the
needs-reviewtag and its seeded rule. - MCP tools β reference for
query_transactions,count_transactions, andupdate_transactions.