White River Hardwoods · Fayetteville, Arkansas
From a Thought to Reality
Everything we learned building an AI ecosystem at a family millwork company — the talk, the narrated walkthrough, two documents on where to start, and the working files to start with. Free to take. If someone had shared this with me a year ago it would have saved me fifty hours.
Part One
The talk itself
The session as delivered, in two forms. Take the slides if you want the numbers; take the walkthrough if you'd rather hear it.
The deck itself
Every slide exactly as presented — the numbers, the agent roster, the full technology stack and the economics.
Download the deck · PDF
The narrated version
An interactive walkthrough. Move through it at your own pace, hear three real customer calls, and watch Blake explain the build.
Open the walkthroughPart Two
Where to start, and what to start with
For the person who left the talk thinking "okay, but Monday morning — what do I actually do?" Two short documents, an explainer, and four working files.
The two documents
Read these first.
Two documents written after the talk, for the person who left it thinking "okay, but Monday morning — what do I actually do?" Read them in the browser or take the PDF. Same content either way; the web version is easier on a phone.
Where to Start
The short one. A note to the small business that is scared of AI — from one that was. What it costs, the four rungs sorted by fear, what broke, and the ladder on one page.
Read it online · 8 pagesThe Starter Kit
The toolbox. The product-page field guide with its prompts, three n8n flows ready to import, the Shopify custom app, the inbox-assistant pattern, and the afternoon we wired the agents to NetSuite.
Open the kit · 25 pagesFirst, if the word is new to you
What n8n actually is
It's a tool where you draw a workflow instead of writing one. Each box does one small job — check the time, ask an AI a question, send an email — and you connect them left to right. n8n runs the chain for you on a schedule, or the moment something asks it to. There's a free version you run yourself and a paid cloud version; we use the cloud one.
The workflows, ready to import
Our n8n flows with our company, competitors, addresses and keys stripped out and a configuration node put in their place. In n8n: Workflows → ⋯ → Import from file. Each opens with a sticky note that repeats the setup steps; the kit has the full setup card for each.
- Flow A · Weekly Competitive ReviewMondays 9am · one emailn8n Claude Perplexity ResendDownload JSON
- Flow B · Industry Trend ReviewMon/Wed/Fri 7am · events + two trendsn8n Claude Perplexity ResendDownload JSON
- Flow C · ERP Lookup Tool (NetSuite)On demand · stock, status, tracking · no AI insiden8n NetSuite ResendDownload JSON
- Flow C · Agent tool definitionThe webhook tool that calls it · paste into "Edit as JSON"ElevenLabs n8nDownload JSON
Part Three
Inside the build
What the agents actually are, what runs underneath them, and what they sound like on a real call.
No guessing
Every tool we use, and what each one does
Seven things. Nothing custom-built, nothing exotic — the whole ecosystem is these pieces wired together. If you're pricing out your own version, this is the list.
- n8nThe wiring. Every workflow lives here, and every key lives in its credential store.
- ClaudeThe writing and the thinking. Also the engineering partner that built most of this.
- ElevenLabsThe voice and the brain behind each phone agent.
- AnamThe face. Only used where an agent needs to appear on screen.
- NetSuiteThe source of truth for stock, orders and tracking. Read-only role, no extra seat.
- ShopifyThree storefronts, and where pages like this one live.
- ResendSends the transactional email — tracking notices, the Monday digest.
Perplexity gets used for live web research inside two of the flows above. Everything else on this page is one of the seven.
A new layer · live August 12
Owen, the agent who watches the agents
Six agents answering around the clock produce more conversation in a week than a manager can read in a month. So the reviewing job went to an agent too.
-
01He reads all of itEvery conversation from all six agents, start to finish — full transcripts, not a sample. Last week: 128 calls, 367 minutes.
-
02He flags what a manager would flagPricing ambiguity, failed hand-offs, after-hours transfer attempts, repeat callers stuck in a loop — and calls logged as a success that weren't one.
-
03Cues, not verdictsEvery flag names the agent, the call, and why it might matter. Owen recommends; a human decides and makes every change. That's the whole design.
-
04It's an email, not a dashboardEvery Monday at 7 AM Central, management gets the review in the inbox before the week starts. Nobody logs into anything. Nobody has to remember to look.

What lands in the inbox · volume by agent · executive summary · the calls worth a human's attention · counts shown as placeholders

Tess, with a face
The same agent who answers our overflow line — same brain, same tools — given a face you can talk to. Ask her what's in stock and she queries NetSuite while you watch. Ask about an order and she verifies you're on it before she says a word about tracking. Nothing is scripted. The NetSuite round trip is under four seconds, and she talks through it.
A face raises the bar. On a phone a two-second pause is normal; on a face it reads as confusion. The section below is what we changed to clear that bar.
Watch her handle a live stock check. Second run, same agent, same SKU — after the six changes below. No editing, no retakes. The count comes from NetSuite while she's on screen; the cushion sentence you hear is her covering the lookup, not a script.
The part worth stealing
How we got the pause out
The first run had a ten-second hole in it: six seconds of dead air before she spoke, then a four-second lookup with nothing covering it. None of it was NetSuite, and none of it was the model being slow to think. It was six settings, each costing a second or three. We measured the recordings before and after.
| Setting | Was | Now, and why |
|---|---|---|
| TTS model | V3 Conversational, Expressive mode on | Flash v2.5. V3 reads punctuation as stage direction — an em dash becomes a dramatic beat — and its time-to-first-byte is too slow to stream short phrases without gaps. Flash is built for agents: flat delivery, fast chunks, and it gives you the stability slider back. |
| Pre-tool speech | Force, but the prompt said "don't announce lookups" | Force, and the prompt now says the opposite: one complete, unbroken cushion sentence before every tool call. The platform was forcing her to speak while the prompt told her not to; what came out was the shortest thing she could get away with, chopped in half. |
| Punctuation in the prompt | Em dashes in every scripted line | Commas and periods only. A "Write for Speech" section: short sentences, no dashes, ellipses, semicolons or parentheses. She copies the example scripts, so the examples had to change too. |
| Knowledge base retrieval | RAG, 20 chunks, 50,000 characters per turn | 8 chunks, 12,000 characters. Fifty thousand characters is roughly twelve thousand tokens of catalog stuffed into every turn before she can start. Most of the six seconds lived here. |
| Language model | Claude Sonnet 4.6, reasoning off | Unchanged — this was already right. Reasoning stays off for voice; every thinking token is silence. Temperature around 0.25. Haiku 4.5 moved to first backup so a failover reads the prompt the same way. |
| Tool call sound | None | Soft typing. Whatever gap is left sounds like someone looking something up, which is what's happening. |
The order that mattered: the TTS model, then the prompt contradiction, then the retrieval ceiling. Most "the AI is slow" problems are this — plumbing, not intelligence. The lookup itself was doing its job in under four seconds the whole time.
Under the hood
What actually powers her
Two n8n workflows. The first gets her on screen, the second lets her answer questions she has no way of knowing the answer to. Neither one is clever — they're just plumbing, wired carefully.
The part worth stealing: the ERP lookup is its own workflow, not something buried inside an agent. Every agent calls the same one, so when the logic changes it changes in a single place. That flow is in the Starter Kit above.
Hear it happen
Two calls, start to finish
Both of these are the phone line, not the avatar — same agent, no face. Two stock questions, the kind we used to hand to a person. The pause you'll hear in the middle is the NetSuite lookup running.
-
01"I need 75 of the TM107-1248RO. Can you cover that?" She has to compare the live count against a quantity and say what happens if it falls short.
-
02"How much stock do you have of TM107-1248RO?" A straight lookup. She reads the number back off the live count.
Longer calls — a real customer, start to finish — are inside the narrated walkthrough up top.
Part Four
The build, digested
The five ideas from the full build journal that travel furthest — the numbers, the ladder, the one rule, what broke, and where to read the whole thing.
Twelve weeks live · June 1 to August 26, 2026 · before promoting the agents to a single customer
The whole voice system — six agents, the supervisor, phone lines, models, automation — runs about $1,500 a month. Everything below Rung 4 is a rounding error next to that. The barrier isn't budget. It's the willingness to build.
The order I'd do it in
The ladder, one rung at a time.
What you build at each rung, what you plug in to do it, and what it costs. Each connection shows up the first time a rung needs it, not before. Climb from the bottom. Don't skip.
Product pages a machine can read
Audit the catalog, decide the rules, one template per family, generate, check. This is also where you write the rules list every later rung reads from.
Your store export and the AI partner. Nothing to buy.
Reports that show up on Monday
A schedule, a lookup or two, a model to summarize, an email at the end. The moment the fear goes away. If you'll only do one rung, do this one.
n8n · Resend · a model key · a Shopify custom app, read-only.
An assistant that never sends — and the ERP hook
Reads what comes in, looks up the facts, drafts in the rep's voice, stops. And one read-only webhook into your system of record that every later agent inherits.
Shopify app gets write scopes · a read-only ERP role, no new seat.
Agents on the phone — supervised
Six specialists and a seventh who reads every call. Reps get sixty seconds of first refusal; agents catch the rest. After hours, agents alone.
ElevenLabs · Twilio. Everything below is already wired.
The rule that runs through every rung
A page, a report, a draft, or an agent can only say what you can prove.
Every connection above exists to give the AI a fact it can look up instead of one it would guess. When it doesn't have a fact, the right output is nothing, and the right next step is a question to a person. Every mistake below came from breaking that rule. Every fix was going back to it.
Things that will go wrong
What broke, and what fixed it
Six of the thirteen from the journal — one per lesson. The pattern behind every one: the data was ambiguous and the AI resolved the ambiguity by itself.
| Rung | What happened | What we do now |
|---|---|---|
| 1 | 704 product pages quoted an offer that had changed months earlier | Numbers that change live in one place. Pages get regenerated, not edited. |
| 2 | A mail key was hardcoded in a workflow about to be shared | Keys live in variables, never in workflows. Search every export for keys before it leaves. Twice. |
| 2 | An agent asked to write the whole email drifted a different way every run | Models return data with a fixed shape; code does the formatting. One search, one company, one report. |
| 3 | Two tools could answer "where's my order"; the agent picked whichever fit the moment | One question, one tool. Remove the other from the agent; don't just prefer it in the prompt. |
| 4 | A voice agent misheard a company name on a $24K quote | Agents spell company names back phonetically before submitting anything. |
| 4 | An agent said "done" before the tool had actually succeeded | Confirm only after success. Optimistic confirmation erodes trust the moment something fails. |
From a Thought to Reality · The Ladder Edition
The full build journal, reorganized around the ladder. Fifty-one pages: every rung as we built it, with the prompts, the workflows, the emails as they arrive, the ERP hook, the supervisor, what broke, and a year in dates.
Download the journal · PDFQuestions, or want to compare notes on your own build? I'd rather hear what bottleneck came up for you than talk about mine. Email me at renriquez@whiteriver.com.
If something here is useful, take it. If you're stuck on where to start, write me and we'll figure it out together.
