Case Study · Field Sales Automation
An AI system that reads a door-to-door sales rep's plain-language message the way an experienced operations manager would, then extracts the sale, prices it, calculates commission, and files it, in the time it takes to hit send.
In short
This case study documents an AI system built for a door-to-door sales company that sells electricity, gas, and telecom contracts. It uses Claude, Anthropic's AI model, to read sales reps' plain-language Telegram messages and convert them into priced, commission-calculated records in a shared Google Sheets ledger, replacing manual end-of-day paperwork with a single message sent from the field.
The client runs a door-to-door sales operation, with reps working neighborhoods on foot and selling electricity, gas, and telecom contracts door to door, house by house. Every visit produces data that matters: an address, a signed contract or a promise to call back, a plan and pricing tier that determines commission, and a renewal date the business needs to act on months later.
A rep doesn't only need to remember the houses where they made a sale. They need to track every door they knocked on, including the ones where nobody answered. Before this system, that tracking lived in personal notes or a shared Google Sheet, filled in by hand at the end of a long day on foot.
In practice, that meant data that was messy, inconsistent, and often simply lost. Entering a full day's addresses into a spreadsheet took long enough that it frequently didn't happen until days later, if at all. Callbacks and follow-up visits existed only in a rep's memory, not on any calendar. And the company itself had no independent way of knowing where a rep had actually been that day. The only record was whatever the rep chose to write down and send in.
The business didn't need another app for reps to learn. It needed a way to capture every visit, sold or not, the moment it happened, through a channel reps were already using.
Two n8n workflows, wired together through a shared Google Sheets ledger, cover the full loop from field to reporting.
A rep sends one Telegram message, written however they'd naturally describe the visit, in their own shorthand, sometimes several sales in a single note. Claude reads it with the judgment of a trained operations reviewer, not a rigid form parser.
Every morning at 7am, the system reads the same ledger, finds every callback and every contract renewal due that day (electricity and gas at their 11-month mark, telecom at 23 months), and emails each active rep their own task list. No manager compiles it. No rep has to remember what's coming due.
Both workflows read and write the same ledger, so nothing has to be re-entered twice.
Telegram, Gmail, and Google Sheets: a deliberately low-cost choice, not enterprise software, picked because it matched the team's size and needed zero retraining. More on that trade-off below.
When commission rates or plans change, the business updates a sheet. The AI reads it fresh on every message.
The system knows what it doesn't know, and routes those cases to a person instead of guessing with someone's commission.
The master ledger holds everything; each rep only ever sees their own separate sheet. No rep sees another rep's numbers, let alone the company's.
What moves through this system isn't abstract. It's a real person's name, home address, phone number, and sometimes a tax ID. That gets treated as sensitive by default, not as an afterthought. Here are the questions we'd ask if we were the client.
Yes, and we won't pretend otherwise. A rep's note, which can include a name, address, and phone number, is sent to Claude so it can be turned into structured fields. That's the only customer data that ever leaves the client's own systems, and it's in transit for a couple of seconds, not stored as a copy anywhere along the way.
No. Extraction runs through Anthropic's commercial API, under Anthropic's commercial terms, not the consumer Claude.ai product, and not a personal or free-tier key. Commercial API traffic is contractually excluded from being used to train models, and inputs are automatically deleted from Anthropic's systems within 30 days, per Anthropic's published data retention policy.
Our own self-hosted server, not a shared third-party cloud instance. Nothing passes through infrastructure outside our control before it reaches the client's own systems.
Nowhere but the client's own Google Workspace. Every record lives permanently in sheets they own outright. There's no separate database on our side holding a copy. If our involvement ever ended tomorrow, their data stays exactly where it already was.
Yes, just the message text, for the moment it takes to extract it. The structured result comes straight back; there's no bulk export and no historical archive replicated to a third party.
The hard part here was never the plumbing. It was the judgment: parsing a message that describes three sales at once, matching a plan name against dozens of plan/tier combinations, knowing when to trust an extraction and when to route it to a human, and catching a conflict before it becomes a dispute. That logic is what took real design work.
It runs on a workflow orchestration layer with an AI reasoning step at its core, backed by a spreadsheet-based ledger and the messaging channels the team was already using, which also means no servers to patch, no app for reps to install, and pricing changes that ship the moment someone edits a sheet.
One choice worth naming directly: this runs on Google Sheets, not a database. That wasn't an oversight. Sheets isn't an enterprise data platform, and we don't pitch it as one. It was the right-sized tool for where this business actually is: a lean field operation that needed a low-cost system reps could start using on day one, with nothing new to learn and nothing torn out and replaced. The access controls, review queues, and per-rep separation described above exist precisely because Sheets alone doesn't enforce any of that on its own. If the business scales to the point where it needs a proper database with role-based permissions and an audit log, that's a clear, well-understood next step, not a rebuild.
This is the kind of system we build: AI that sits inside the tools your team already uses, turns messy real-world input into clean structured data, and knows when to hand a decision to a human instead of guessing.
Talk to us about your workflowClient name withheld at their request. Details describe the system as built.