Betterment — case file

Betterment

PRD_Betterment_AR_Agent · 14 nodes · FinanceIn production

Works the accounts-receivable follow-up queue: finds the next due task on each open case, drafts the dunning email, sends it through a Zendesk ticket set to the right brand and group, and announces the ticket on Slack. — 136 tasks (126 completed, 9 failed) in the 30 days to 2026-08-10

PRD_Betterment_AR_Agentno measured cost
1
Find the open AR case and its next due task in the case tracker (custom API)
2
Code builds the inputs for the email
3
AI drafts the dunning email
4
Create the Zendesk ticket, set brand and group, and solve it to send the email
5
Mark the task complete and set the case to working
6
Announce the new ticket on Slack
Where the money goes · per run
Step typeCountRateSubtotal
Code / integration steps10$0.025$0.25
Model calls · standard tier1$0.1$0.1
Model calls · mid tier2$0.2$0.4
Other1—$0
Rate-card estimate (standard tier)$0.75

Full ≥$500 path: 10 code/integration nodes (entry, Find Open Case, Find next Task, CodeExecutor, Create/Update/Solve Ticket, Complete Task, Update Case Working, Slack send) ×$0.025 = $0.25, + Generate Email on GPT4_1 and the invoice-value condition on GEMINI_3_1_PRO (both $0.30 'high' on the repo's four-tier card, folded to mid here) + Slack-message drafter on GEMINI_3_FLASH $0.10 → $0.95/run four-tier, or $0.75 at the parent 3-tier card with the two $0.30 models at mid $0.20. Sub-$500 runs exit silently before Slack drafting+send (−$0.125: drafter $0.10 + send $0.025) → $0.825 / $0.625. No measured figure exists (catalog cost_basis 'none'); nearest menu anchor is Dunning ladder $0.30/doc at std — the graph runs dearer mainly because the Zendesk send takes four separate custom-API nodes and both judgments sit above standard tier. The 1 'other' node is a no-tool exit placeholder, unbilled.

Models seen in the graph: GPT4_1 (Generate Email), GEMINI_3_1_PRO (condition node llmModel), GEMINI_3_FLASH (Create Slack Ticket Message, entry); integration nodes carry preferredModel GEMINI_3_1_PRO / GEMINI_25_FLASH / GEMINI_3_FLASH with fallbacks GPT5, GPT5_2, GPT4_1, CLAUDE_4_SONNET

Graph read: 04-agents/betterment/prd-betterment-ar-agent/agent.json (14 nodes, all edges traced). Note the sibling 04-agents/betterment/betterment-ar-agent snapshot (16 nodes, cited by the finance-workshop validation matrix) is a different, older mirror — the probe-backed production graph is the prd- one.

What a copycat build should know
  • The dunning email leaves through Zendesk, not a mailbox: Create Ticket → Update Ticket (set brand and group) → Solve Ticket is what actually sends the email, leaving the ticket as the audit trail.
  • Value-threshold notification gate: after the case is set to working, a condition routes invoices under $500 USD to a silent exit; only ≥$500 get a drafted Slack announcement posted to the team.
  • The case tracker is a custom-API state machine — Find Open Case → Find the next Task at the start, Complete Task + Update Case Working at the end — so each run consumes exactly one due task from the follow-up queue.
  • One CodeExecutor assembles all email inputs before the single drafting judgment (GPT4_1), keeping the only heavyweight prompt on clean variables.
Lessons from the client record
  • Deployment blocker was access, not the graph: 'Betterment blocked on Okta SSO but otherwise progressing' — plan SSO/credential access as its own workstream (03-projects/finance-workshop-review/01-validation/validation-matrix.md F5/C2).
  • Engagement risk is live: 'third silent period, still holding a Live slot' as of 2026-08-27 (03-projects/21-exec-meeting/04-outputs/2026-08-27-weekly-update.md).
  • Overclaim caught in review: 'Settle amounts live' was worse than drafted — the amount comparison itself runs in a model node; a rebuild should sink reconciliation arithmetic into code (03-projects/30-module-library/04-outputs/four-line-module-summary.md §5).
  • Same-workspace sibling snapshots diverge (betterment-ar-agent 16 nodes vs prd-betterment-ar-agent 14 nodes, plus two sandboxes) — cite the prd- graph the probe counted 136 tasks against (04-agents/betterment/ directory; validation-matrix.md).
Dunning ladderZendesk via custom APISlackcustom case/task tracker API

04-agents/betterment/prd-betterment-ar-agent/agent.json · solution-intelligence/content/agent-catalog.json · 03-projects/finance-workshop-review/01-validation/validation-matrix.md · 03-projects/21-exec-meeting/04-outputs/2026-08-27-weekly-update.md · 03-projects/30-module-library/04-outputs/four-line-module-summary.md · 03-projects/14-agent-modularization/01-planning/two-axes.md

Betterment · PRD_Betterment_AR_Agent6 stepscase analysed