All Case Studies
AGENTIC AI · OPS AUTOMATION · DEPARTMENT-WIDE

EiGENRA Back-Office on Three AI Agents

Departmental ops automation, demonstrated on our own books. Three AI agents draft the proposals, the Monday business pulse and the nightly lead follow-ups; code computes every figure, and nothing reaches a client without the founder's tap. The same playbook we run for SME services firms.

3
Agents
Live
On our own books
<$40/mo
Model spend
8 wk
Ship time

Project description and metrics shown here are representative — drawn from a real engagement, with the client name anonymized where confidentiality applies.

The Business Challenge

Most AI consultancies sell transformations they wouldn't bet their own business on. We flipped that: could EiGENRA's own back office — proposals, the weekly view of what needs the founder, follow-ups with warm leads — run on agents we'd be comfortable shipping to a client? Proposals waited on the founder's calendar, unpaid invoices and waiting leads sat across several screens, and warm leads went quiet once the desk's one automatic nudge had passed.

The Technical Solution

Three AI agents on shared Upstash Redis state, and code computes every fact they use. A proposal drafter (Sonnet, on demand) turns a captured lead into a scope — their problem, what we build, what is not included, the steps — while prices come from our price book at the client's regional rate, and quoted work is left at "[your fixed price]" for the founder to fill in. A Monday business pulse gathers unpaid and overdue invoices, unsigned contracts, pending approvals and the week's warm leads; when nothing needs him it sends "All clear" without calling a model, otherwise Haiku writes three to five lines of what needs him, in order, above the facts. A nightly drafter (Sonnet through the Batch API, at half price) writes each warm lead's next message in their own language. A draft carrying any figure its brief does not hold is replaced by a template, nothing reaches a client without the founder's tap, and one hard cap of $5 a month is checked before every model call.

typescript
// Every office agent: code builds the brief, the ceiling answers first,
// the model writes prose only, and a figure it invents sends the template.
const params = officeRequest({
  model: "claude-sonnet-5-5",          // proposals + follow-ups; Haiku 5.5 for the pulse
  system: PROPOSAL_SYSTEM,             // stable → cache_control: ephemeral
  user: proposalBrief(lead, offer),    // facts from code; no price in it
  maxTokens: 3000,
  effort: "medium",
  cacheSystem: true,
});

const verdict = await reserveSpend(worstCaseUsd(params)); // $5/month hard cap, fails closed
if (!verdict.ok) return templateDraft(lead, offer);        // no call at all

const reply = await anthropic.messages.create(params);
await settleSpend(verdict.reservation, actualCost(reply));

const sections = parseSections(replyText(reply));
if (!sections || unsupportedFigures(sections, brief).length) return templateDraft(lead, offer);

// Prices come from the price book at the client's rate — or "[your fixed price]".
return saveDraft({ sections, investment: investmentFor(offer, lang, priceBook, region) });
Claude SonnetClaude HaikuAnthropic SDKMessage BatchesPrompt CachingNext.js 16Upstash RedisVercel CronResend
The Measurable Result

Every draft lands in one admin queue: approve and send, edit, or dismiss. A follow-up goes out through WhatsApp only inside the customer's 24-hour window; outside it, the founder copies it and sends it from his phone. The cap keeps model spend under $40 a month by construction. Every pattern here is reusable in your business — that's the offer.

3
draft · you send
Agents
2
Monday · nightly
Schedules
<$40
hard cap $5
Model spend / month
2
Sonnet · Haiku
Models used
One week, three agents
Demo · sample data

Two run on a clock, one when the founder asks. Step through a sample week: every model run lights up, and so does every tap — nothing reaches a client without one.

Monday pulse · Haiku 5.5 · 08:00 UTC
Nightly follow-up drafts · Sonnet 5.5, batched
Proposal drafter · Sonnet 5.5 · on demand
The founder's taps — the gate
● a model ran · ○ checked, nobody owed, no call · ■ the founder tapped
Mon · sample
Something is open, so Haiku 5.5 writes 3–5 lines of what needs the founder, with the facts block under them. Push + email.
1 model call
2 warm leads are owed a next step → one batch, 2 drafts, each in the lead's language, into the queue.
1 batch · half price
This sample week: 5 model runs · 5 things sent to clients, each after a tap · 0 without one
Nightly follow-up drafts, step by step
Demo · sample data

For warm leads the desk's one automatic nudge can no longer reach. One batch writes every draft in the lead's own language; the founder sends each one, or doesn't. Try both switches.

00 / 05
0120:10 UTC · who is owed a next step
3 warm leads the automatic nudge can't reach: a chat handed to the founder, one gone quiet, one where he wrote last. Skipped: 1 the nudge still covers, 1 who said “not now”.
02The budget answers first
The worst case of the whole batch is reserved against $1 a day and $5 a month before anything is sent.
03One batch · Sonnet 5.5 · half price
Every lead in one Message Batches request, written from the summary the desk already stored, not the whole chat.
04Every draft checked by code
Right language, under 500 characters, no money, no number the brief doesn't hold. A draft that fails gets the template.
05Into the founder's queue · one push
“3 follow-up drafts waiting.” Nothing has reached a customer.
The founder's queue
SarahENWent quiet
Sonnet 5.5

Hi Sarah, you asked whether one receptionist could answer for both of your salon's branches. It can — shall I send a short outline of how that would look for you? If now isn't the right time, no problem at all.

OmarARWaiting on the founder
Sonnet 5.5

مرحبًا عمر، معك م. علي. سألتَ عن موقع لعيادتك يعرض المواعيد بالعربية والإنجليزية، وقد جهّزت لك تصوّرًا أوليًا. هل أرسله لك هنا؟ وإن لم يكن الوقت مناسبًا فلا بأس أبدًا.

АлияRUFounder wrote last
Sonnet 5.5

Здравствуйте, Алия! Это М. Али. Вы спрашивали, можно ли подключить запись к вашему Google Календарю. Можно — прислать сюда короткую схему, как это будет работать у вас? Если сейчас неудобно, ничего страшного.

The customer wrote within 24 hours, so the desk may send it. The window is read at the tap, not on the night the draft was written.
The proposal loop
Demo · sample data

The founder taps Draft proposal on a captured lead. Sonnet 5.5 writes the scope from what the desk stored; code writes the investment block. Quoted work gets a blank only the founder fills: type a price to unlock Mark sent.

01 · From the desk · lead summary
Lead: Omar · dental clinic · AR
Wants: a bilingual Arabic/English site with booking; the current site is one outdated page
Desk's note: quote requested: website
→ Business Website · quoted work
The desk stores its summary in English; the model writes in the lead's language. No price is in what it's told.
02 · The proposal
EiGENRAPDF · en
A bilingual website with booking for your clinic
Sonnet 5.5
What you told us

Your current site is a single page that no longer reflects the clinic, and patients can't ask for a time online. You want one site in Arabic and English that lets them do that from their phone.

What we'll build
  • A multi-page site in Arabic and English, its pages and features agreed in writing
  • Booking-ready, so patients can ask for a time from their phone
  • A content panel you edit yourself, from your phone
Not included
  • Anything not written in this scope
  • Third-party fees (domain, paid tools), paid by you directly
How it runs
  • We agree the pages and features in writing
  • You see a working preview
  • You make your first edit, then we go live
code
Investment
Business Websitefixed price, in writing
 
Payment

Paid in 3 parts: when the scope is signed, at the working preview, and the last after your first edit.

03 · The founder's tap
Locked while “[your fixed price]” is blank. The model is never asked for a price, and a draft that names one is thrown away.
The Monday pulse
Demo · sample data

Code gathers the facts. When something is open, Haiku 5.5 writes 3–5 lines of what needs the founder, in order, and the facts go underneath, verbatim. When nothing is, no model is called.

1 model call · Haiku 5.5
EiGENRA
What needs you this week
Chase INV-0412 first: Northwind Dental, USD 1,200, overdue 14 days.
Omar is waiting on you in a handed-over chat; he asked for a website quote.
His proposal draft is ready in /admin/office, with the price left for you.
Harbor Studio viewed contract CT-0107 but hasn't signed it.
2 follow-up drafts are waiting for your tap.
Haiku 5.5 · checked against the facts
FACTS — week to 2026-10-12

Unpaid invoices (2)
  • INV-0412 · Northwind Dental · USD 1,200 · due 2026-09-28 · OVERDUE 14 days
  • INV-0418 · Harbor Studio · USD 490 · due 2026-10-20
  overdue: 1

Contracts awaiting signature (1)
  • CT-0107 · Harbor Studio · viewed · sent 2026-10-08

Scheduled invoices waiting for your approval (0)
  • none

Chats handed to you, customer waiting (1)
  • Omar · quote requested: website · waiting 1 day

Warm and hot leads this week (studio desk) (2)
  • HOT · Omar · last 2026-10-11 · bilingual clinic site with booking
  • WARM · Sarah · last 2026-10-09 · one receptionist for 2 branches

Drafts waiting in /admin/office: 2 follow-ups, 1 proposal
Desk this week: 9 threads · 41 customer messages · 33 AI replies · 6 from you
code · verbatim
Mondays, 08:00 UTC. The note is written in English, for the founder; a narrative with a number the facts don't hold is swapped for one written by code.
The figure guard
Demo · sample data

Every number a draft may use is in the brief that code wrote. So the check is mechanical: read the numbers out of the draft, and any that isn't in the brief throws the draft away. Follow-ups may not name money at all.

01 · The brief · code
Customer first name: Sarah
Write in: English
Situation: A warm lead went quiet; the desk's one automatic nudge has passed or already went out.
Quiet for: about 3 days
Lead brief (English, from the desk): salon with 2 branches; wants one receptionist answering for both.
Numbers allowed32
02 · The draft · model

Hi Sarah, covering your 2 branches would be $199 a month, and we could go live in 5 days. Shall I send the details?

03 · The check · code
✕ Rejected → template
figure not in the brief: 199, 5 · names money
Hi Sarah, M. Ali here from EiGENRA. Picking up where we left off — would it help if I sent the next step here? If now isn't the right time, no worries.
Why it costs cents
Modeled

Code does the facts; the model writes the words. Three agents, a month of runs, and the expected bill is under half a dollar.

What we say: under $40 a month<$40
 
The hard cap in the code ($1 a day)$5
 
A modeled month~$0.45
 
Code does the facts
Every figure, date and count is computed. The model only writes the words, from a short brief.
Batch at half price
The nightly drafts go in one Message Batches request, billed at half the standard rate.
No call when there's nothing to say
An all-clear Monday and a night with nobody owed cost nothing at all.
Fails closed
The ledger answers before every call. No answer, or over the cap, means the template, never a call.
The month is a model of expected use, not a measured bill. The caps are in the code: either can be set lower, neither higher.
Timeline: 8 weeks