experimentactive

AI Sales Agent

Can one AI agent run cold sales for an artisanal Gorgonzola DOP producer?

The Question

A small commercial team at an artisanal Gorgonzola DOP producer in northern Italy competes against industrial caseifici with 30-person sales departments, full CRM stacks, and key-account managers in every region.

The product is exceptional: natural fermentation, foratura a mano, aging on wooden shelves, milk from a single supply chain. The commercial infrastructure is not.

Can a single AI agent — built on Claude — level the playing field?

The Setup

A producer in northern Italy. A family S.r.l., 21 people, registered in the Albo Imprese Artigiane. A target list of artisanal-gourmet outlets in Milan: paninoteche, pizzerie napoletane, enoteche, gastronomie. Phase 1 is not about selling. It is about getting the buyer to taste.

We call the agent Claudia. Andrea — the FTB founder — sits in the loop. Nothing leaves the system without his green light.

The Pipeline

Six steps. Each step is an autonomous agent built on the Claude Agent SDK. Each one runs in subscription mode, emits structured output, and feeds the next. The whole thing lives in Supabase, with a React + Vercel front-end where Andrea reviews.

1 · Prospect discovery

Google Places API + zone-specific query rotation. The first zone — a slice of central Milan — yielded 247 candidate prospects in one pass.

2 · CRM ingestion

A custom CRM built in React on top of Supabase. Stable google_place_id as the upsert key, so re-running the same zone tomorrow does not duplicate anything. Each prospect gets a group tag for the zone, an owner, and a status.

3 · Website profiling + fit scoring — this is the gate

Claude reads the homepage and about page of every prospect and emits a structured JSON profile across five dimensions: price tier, terroir language, artisan framing, chef voice, supplier mentions. The five combine into a single fit_score from 0 to 10.

Threshold: 7. Below 7, the prospect stops here. Above 7, the rest of the pipeline runs — and consumes real compute on a prospect we already believe in.

4 · Menu extraction

For qualified prospects only. Playwright drives a real browser, Claude reads the rendered page, and we extract a structured menu — categories, items, prices — into companies.menu_structured.

This was the hardest engineering bit. v2.1 of the extractor is 7–10× cheaper than v1. Real-world success rate on first-time prospects sits around 47%; failures are dominated by SPA sites with no server-rendered text.

5 · Briefing card

A synthesis agent reads everything we know — CRM record, menu, website profile — and produces a one-page card per prospect: angle of approach, suggested first gesture, priorities, red flags. Versioned (v1, v2, …) so we can refine without losing history.

6 · Cold email drafting — Voice Twin v0.3

The producer's founder writes in a specific voice: short, concrete, never markety. We trained a Voice Twin against his real emails — three iterations — until paragraph-level drafts were indistinguishable from his own writing.

Voice Twin v0.3 was validated by the producer in April 2026.

The agent reads the briefing card, drafts an email in that voice, and inserts it into email_drafts with status = 'pending_review'.

The Review Layer

Every draft lands in a /review queue inside the CRM. Andrea sees the prospect, the briefing card, the menu, and the drafted email side by side. He can approve, reject, regenerate with feedback, or open the message for inline editing.

Approved drafts ship through Resend, sent from Claudia per *** Caseificio <claudia@***.com>. Replies route to a human inbox — Claudia never replies.

Where We Are, Today

| Metric | Count | | --- | --- | | Prospects scraped | 247 | | Prospects scored | 153 | | Qualified — fit_score ≥ 7 | 16 | | Menus extracted | 16 | | Briefing cards | 16 | | Pilot batch selected | 10 | | Drafts in review queue | 10 | | Sent | 0 (ship next) |

Voice Twin v0.3 validated. Legal opinion on the use of "artigianale" in cold outreach: cleared (L. 34/2026). Albo Imprese Artigiane registration number issued by CCIAA Novara, embedded in every signature. AI disclosure copy approved.

The system is loaded. The trigger is the next thing we pull.

A Sample Draft (redacted)

One of the ten emails sitting in the review queue right now. Restaurant name, producer name, location, and registration identifiers replaced with ***. Everything else is the real draft.

In review queue · 10 of 10 drafts waiting on send
From
Claudia per *** Caseificio · claudia@***.com
To
*** · paninoteca · Milano
Subject
Un assaggio dal nostro tagliere — Gorgonzola DOP
Drafted by
Voice Twin v0.3 · validated 2026-04-18
Reviewer
Andrea — human, in the loop

Ciao ***,

mi chiamo Claudia. Sono un agente AI che lavora per un piccolo caseificio artigiano del nord Italia — una S.r.l. familiare di 21 persone, iscritta all'Albo Imprese Artigiane della CCIAA di Novara con il numero NO-***.

Ho letto del vostro lavoro su ***. Mi ha colpito ***. È raro vedere ***.

Il nostro Gorgonzola DOP lo facciamo come si faceva prima dei cicli industriali: latte di una sola filiera, foratura a mano, stagionatura su assi di legno. Quattro cose servono per farlo bene — latte, uomo, legno, tempo.

Vorrei proporvi una cosa semplice. Non un contratto, non un acquisto. Due vaschette degustative in mano vostra, da assaggiare. Se vi piace, ci sentiamo. Se no, va bene così.

Andrea passerebbe di persona a portarle, la settimana del ***.

Grazie del tempo,

Claudia

Agente AI · per *** Caseificio S.r.l.

CCIAA Novara · Albo Imprese Artigiane n. NO-***

www.***.com

AI Disclosure

Questo messaggio è stato scritto da un agente AI (Claudia) e revisionato da Andrea prima dell'invio. Le risposte saranno gestite da una persona umana — non da un'AI.

Why the AI Signs as an AI

Every email Claudia drafts carries an explicit disclosure: the message was written by an AI agent and reviewed by a human before sending. Replies go to a human inbox.

This is not because regulation forces it. It is because if AI is going to participate in artisan commerce, it has to do it honestly. The artisan is the subject; the technology is the tool. Claudia stands behind a real producer, a real founder, a real reviewer. She does not pretend to be a person — and that is precisely what makes the email worth reading.

What's Next

In the next weeks: the ten drafts ship. We measure replies, meetings booked, tastings scheduled, vaschette delivered, repeat orders.

Then we publish — the numbers, the cost per qualified meeting, what the Voice Twin got wrong, what surprised us, and the name of the producer.

If Phase 1 lands, Claudia inherits Phase 2: the 2-vaschette asimmetria sequence, where the agent tracks reciprocity gestures over weeks instead of single emails. From there, contract, and then ambassador relationships with the buyers who carry the product the furthest.

This page updates when the pilot ends.

Get notified when we reveal the producer and the results

First pilot emails go out in the next weeks. We will publish the metrics, the name of the Gorgonzola DOP producer, and what worked — all in one drop. Subscribe to be there.