Live demo path: voice, SMS, email, web

A trade front-office agent for the hours your team cannot cover. Answers, quotes, books, and leaves evidence.

Tradie Front Office AI routes every inbound inquiry through one Cloudflare-native agent loop: approved business knowledge, deterministic pricing, D1 persistence, and an audit trail your team can inspect.

Live operating proof
/dashboard/inbox/northside-demo
Incoming request
After-hours voice call
Blocked drain, same-day, needs a clear quote

"I have a blocked toilet in Kedron and water backing up in the shower. Can someone come today and what will it cost?"

4
Inbound channels
30s
Demo qualification
D1
Every event stored
0
LLM-made prices
Agent decisions
Agent Memory D1 chunks

Retrieves warranty, service-area, and safety policy snippets.

check_availability Tool

Filters service windows by job type, suburb, urgency, and availability.

quote_price Tool

Runs deterministic rate card math before quoting.

book_job D1 write

Creates a job or hold with payment pending for demo.

Staff evidence
Transcript

The exact customer request and agent reply remain visible.

Tool calls

Staff can inspect availability, price, and job steps.

Confidence

Low-certainty or policy-heavy requests route to staff.

Job record

The operational outcome appears in the dashboard.

Market gap

High-intent customers arrive outside the staffing model.

Businesses lose revenue in the exact moments customers are ready to act: after-hours calls, weekend texts, email backlogs, and policy questions that stall a quote. Tradie Front Office turns those moments into traceable workflow.

VO
Voicemail loses urgency

The caller wanted a price and a service window now, not a callback tomorrow.

EM
Email hides intent

A job-ready question sits beside low-priority admin noise.

RA
Pricing needs control

Staff need the agent to quote from the rate card, never from vibes.

ME
Memory must be governed

Policies help the agent answer, but cannot override availability or pricing tools.

One shared loop

Voice, SMS, email, and web all land in the same operating surface.

The channel can change. The proof does not: memory, tools, persistence, staff review, and escalation all follow the same route.

Inbound channels
Voice call
/api/voice/twilio
SMS
/api/sms/twilio
Email
Cloudflare Email Worker
Web chat
/api/chat
Kimi K2.6 agent loop
Conversation first, deterministic tools for commitments.
Live
1
Normalize the request

Channel metadata, customer details, and transcript become one inquiry record.

2
Retrieve staff knowledge

Enabled Agent Memory chunks enter the prompt as governed context.

3
Call operational tools

Availability, pricing, job, and escalation stay typed and inspectable.

4
Persist the outcome

Inquiries, jobs, and events are written to D1 with business_id scope.

Staff outcomes
Unified inbox

Every channel appears in the same queue.

Tool audit trail

The why behind each answer is visible.

Job visibility

Confirmed holds and pending payments are clear.

Human handoff

Risky requests escalate instead of improvising.

Controls that matter

The AI is useful because the business stays in control.

The demo is designed around trust: no invented prices, no invisible policy leaps, no mystery jobs. Staff can see the source, the tool, the confidence, and the outcome.

No hallucinated rates

Pricing is deterministic

Every quote comes from calculatePrice and the quote_price tool.

Source-aware answers

Memory is bounded

Uploaded policies inform answers but cannot override pricing or availability.

Honest demo scope

Roadmap is labeled

Stripe, ServiceM8, R2, Vectorize, Queues, and AI Gateway stay roadmap until real.

Interview demo route

Open the product and follow one request end to end.

Start at the dashboard, run a channel demo, inspect the inbox record, then open the tool trace and pricing proof. The homepage is the promise; the dashboard is the evidence.

Demo checklist
Run voice or SMS through the Kimi agent loop.
Show Agent Memory snippets in the generated answer.
Quote a trade job with deterministic pricing.
Inspect the D1-backed inquiry and event trail.
Call out roadmap integrations honestly.