In short
- The problem: the dealer received customer inquiries through six fragmented channels: the website contact form, the Harvey Shop webshop, the Sandra chatbot, Marktplaats, the showroom appointment form and machine-specific inquiry forms. The sales team lost 0.5 to 1 hour per working day reading every email just to see whether it was a real inquiry.
- The solution: a custom inquiry interface built on Lovable and Supabase, powered by a two-stage classifier. Google Workspace Studio handles the yes/no question "is this an inquiry?". OpenAI classifies the inquiry type and writes the draft. Make orchestrates the flow, ActiveCampaign schedules follow-ups and Outlook hosts the human review.
- The outcome: all six channels in one Lovable interface. 100% of draft responses staged in Outlook for human review, with no auto-send. Price lists attached automatically for known product categories. Zero missed follow-ups.
The challenge: managing six inbound channels by hand
Before Sorrato deployed Orvia, the dealer handled customer inquiries across six separate channels: the website contact form, the Harvey Shop webshop, the Sandra chatbot on the website, Marktplaats listings, a showroom appointment form, and machine-specific inquiry forms on the product pages. Each channel produced emails that landed in different inboxes. A team member had to open, read and judge each one before any useful work could start.
That judgment was the real problem. Most incoming email was not a customer inquiry at all. Newsletters, supplier correspondence, cold outreach and internal messages arrived in the same inboxes. Someone had to read each one to decide whether it needed a response and, if so, whether it was a quote request, a showroom appointment, a service call or a spare-parts question. Only then could the right response be written.
There was no central record of open inquiries, no way to see whether a sender had contacted the dealer before, and no reminder when a quote went out without follow-up. The result was 0.5 to 1 hour per working day spent on email triage and switching between inboxes. That time created no value for customers and could not be won back.
The solution: Orvia as the first reader
Orvia reads every inbound email from all six channels before any team member sees it. She decides whether the email is a real customer inquiry, classifies its type, checks whether the sender has contacted the dealer before, and prepares a draft response. When the inquiry matches a known product category, the price list is attached automatically. All of this is done before a person opens the message.
Orvia is not a chatbot that sits on one channel and answers set questions. She works across the whole intake layer of the dealer's sales process: she reads emails from six sources, writes structured records to Supabase, shows every inquiry in one Lovable interface that looks like an email client, and stages draft responses in Outlook, where the team reviews and sends them. Orvia does the reading, judging and drafting. The team handles the relationship.
The 6-step process: how Orvia works
- Capture. An email arrives through one of six channels: the website contact form, the Harvey Shop, the Sandra chatbot, Marktplaats, the showroom appointment form, or a machine-specific inquiry form on the dealer's website.
- First-stage triage. Google Workspace Studio checks every inbound email against one yes/no question: is this a customer inquiry? Newsletters, supplier emails, cold outreach and internal messages drop out of the flow here.
- Orchestration and storage. Make picks up every email that passes the filter, turns it into a normalized record and writes it to Supabase. Each record holds the source channel, timestamp, sender details and the raw email content.
- Classification. OpenAI reads the record and classifies the inquiry type: product quote request, showroom appointment, service inquiry or spare-parts question. OpenAI also checks whether the sender has sent earlier inquiries and shows that history in the Lovable interface.
- Draft response. OpenAI writes a draft response using the dealer's response templates. If the inquiry matches a product category with an available price list, Orvia attaches that price list to the draft automatically. If no price list applies, Orvia prepares a draft for the team to complete with a custom quote.
- Human review and send. The draft lands in Outlook, ready for review. The Lovable interface shows the original email, Orvia's classification and the draft side by side. The team member reviews the draft, adjusts it where needed and sends it. Every lead is added to ActiveCampaign for automatic follow-up campaigns.
- InputEmail from one of six channels
- Stage oneGoogle Workspace Studio: is this a customer inquiry?
- StorageMake writes a normalized record to Supabase
- OrviaClassifies the type with OpenAI, checks sender history, drafts a reply, attaches a price list if one applies
- ReviewDraft staged in Outlook, shown in Lovable next to the original email
- SendA team member reviews and sends
- Follow-upLead added to ActiveCampaign
The AI tech stack: OpenAI, Supabase, Make and the orchestration layer
Sorrato deliberately avoided a single-vendor AI suite for this build. Each layer uses the tool best suited to that job, with Make connecting them.
| Layer | Tool | Role |
|---|---|---|
| Inbox triage | Google Workspace Studio | Yes/no classifier: is this email a customer inquiry? |
| Orchestration | Make | Picks up filtered emails, normalizes records, writes to Supabase and triggers the next steps. |
| Database | Supabase | Single source of truth. Every inquiry, sender, classification and draft is stored as a structured record. |
| Interface | Lovable | Custom email-client-style view for the sales team: a list of inquiries with the original email, the AI assessment and the draft response. |
| AI reasoning | OpenAI | Inquiry-type classification, sender-history matching and draft responses based on the dealer's templates. |
| Follow-up | ActiveCampaign | Creates a follow-up reminder for every quote inquiry automatically. |
| Sending | Outlook | Drafts are staged here for human review and the final send. No auto-send. |
Solving the two-stage AI classification problem
The decision that defined the build was to split classification into two separate stages instead of running one multi-class prompt. The first stage runs in Google Workspace Studio at inbox level and has one job: is this email a customer inquiry, yes or no? The second stage runs in OpenAI inside the Make flow and has a different job: for the inquiries that passed stage one, what type is it and how should we respond?
The two stages exist because their mistakes cost different things. At stage one, a false negative (a real inquiry filtered out by mistake) is commercially worse than a false positive, so the filter is deliberately permissive. At stage two it works the other way round: a misclassified inquiry produces a confused draft, so the prompt is precise and the evaluation set is tighter. Each stage has its own prompt, its own evaluation set and its own deployment cycle. This separation is what made the downstream work deterministic: the Make routing, the Supabase writes and the Outlook drafts.
Orvia vs. a traditional chatbot
| Capability | Traditional chatbot | Orvia (Sorrato digital intern) |
|---|---|---|
| Channels covered | One (website widget) | Six (contact form, Harvey Shop, Sandra, Marktplaats, showroom form, machine inquiry forms) |
| Trigger | Visitor starts a conversation | Every inbound email, automatically |
| Output | Conversation transcript only | Classified record in Supabase, draft response in Outlook, follow-up task in ActiveCampaign |
| Sender history | Session memory only | Full inquiry history per sender, shown in the Lovable interface |
| Price list logic | None | Attached automatically when the inquiry matches a known product category |
| Human role | Replaced or bypassed | Reviews and sends every draft. No auto-send. |
| Follow-up | None | Added to ActiveCampaign for campaigns |
Old flow vs. new flow, side by side
Old flow (before Orvia)
- Team members open each inbox (website, Harvey Shop, Sandra, Marktplaats, showroom form, machine inquiry forms) in separate windows.
- They read each email to decide whether it is a real customer inquiry.
- They look up by hand (or skip) whether the sender has contacted the dealer before.
- They write a response from scratch, decide whether to attach a price list, and send from Outlook.
- No follow-up reminder is created, so quotes can go unanswered.
New flow (with Orvia)
- Orvia reads every inbound email from all six channels through Google Workspace Studio.
- Orvia filters out the noise at the first stage. Newsletters, cold emails and supplier correspondence never reach the team.
- Make routes confirmed inquiries into Supabase with the source details and sender history attached.
- Orvia classifies the inquiry type through OpenAI and flags whether a price list applies.
- Orvia stages a complete draft response in Outlook, with the price list attached automatically where it applies.
- The team opens the Lovable interface, reviews the original email, Orvia's assessment and the draft, then sends from Outlook in one step. ActiveCampaign logs the follow-up reminder automatically.
The business impact: zero lost inquiries and automated quote drafts
The most concrete change Orvia brought to the dealer is that the triage step is gone. Before Orvia, a team member had to read every email from six channels to decide whether it needed action. That judgment, repeated dozens of times a day, took 0.5 to 1 hour per working day. Orvia now makes that call automatically, before anyone opens the message.
The change goes deeper than the time saved. The team now opens one interface instead of six. Every inquiry in the Lovable view arrives already read, classified and drafted. The question a team member faces is no longer "is this a real inquiry?", because that has been answered. The question is "is this draft good enough to send?". That is a much faster and more valuable use of a salesperson's attention.
Every outbound message still passes through a person before it leaves the dealer. Orvia speeds up the work. She does not replace the relationship.
- 0.5 to 1 hour per working day no longer spent on manual email triage and switching between inboxes.
- Six previously separate inbound channels brought together in one Lovable interface.
- 100% of draft responses staged in Outlook for human review, with no auto-send.
- Price list attached automatically for every inquiry that matches a known product category.
- Full inquiry history shown per contact, with no manual lookup.
- Zero missed follow-ups: ActiveCampaign creates a reminder for every quote inquiry automatically.
"The hardest part of the build was not the integration plumbing, Make and Supabase handled that cleanly. The hard part was a two-stage classification problem. First, in Google Workspace Studio, we needed a reliable yes/no filter at the inbox level: is this email a customer inquiry at all? That filter has to be conservative enough not to lose real leads, but strict enough to keep newsletters and internal mail out of the system. A false negative, a real inquiry that gets dropped, is commercially worse than a false positive. So the first-stage filter is deliberately permissive, and the second stage handles the refinement.
Once an email enters the system, OpenAI does the second stage: what kind of inquiry is it, which machine does it reference, and does the inquiry match a product category with a known price list? Each stage needed its own prompt design and its own evaluation set before the view in Lovable could be trusted. Once both stages were stable, the downstream work, draft generation, follow-up tasks in ActiveCampaign, and drafts staged in Outlook, became deterministic.
And critically, every outbound email is still reviewed by a human at the dealer. Orvia accelerates the work, she does not replace the relationship."
Frequently asked questions
What does Orvia do with an email that arrives via Marktplaats, the contact form or the Harvey Shop?
Every email that comes in through any of the dealer's six inbound channels, including Marktplaats listings, the contact form and the Harvey Shop webshop, is checked by Orvia through Google Workspace Studio. If the email is classified as a customer inquiry, Make routes it into Supabase, OpenAI classifies its type and writes a draft response, and the draft appears in Outlook for a team member to review and send.
Does Orvia send emails automatically?
No. Every draft response Orvia writes is staged in Outlook as an unsent draft. A team member reviews every message, adjusts the draft if needed and sends it by hand. There is no auto-send anywhere in Orvia's workflow, not even for inquiries where a price list was attached automatically.
How does Orvia know whether to attach a price list to a draft?
In the second stage of the triage, OpenAI classifies each inquiry against the dealer's product categories. If the inquiry refers to a machine or product category with a price list in the system, Orvia attaches that price list to the draft automatically. If there is no matching price list, Orvia prepares a draft that the team can complete with a custom quote.
What does the sales team actually see in the Lovable interface?
The Lovable interface shows all open inquiries in one list, each labelled with its source channel. Clicking an inquiry opens a three-panel preview: the original email on the left, Orvia's AI classification and assessment in the centre, and the draft response on the right. The interface also shows whether the sender has sent the dealer earlier inquiries and when, so the team has the full context before reviewing the draft.
About Sorrato
Sorrato is a staffing agency for digital interns: it places AI-powered interns at B2B clients. Where traditional AI vendors sell software licences, Sorrato delivers a managed digital intern that is built, hosted and continuously improved for a fixed monthly fee. No internal IT project, no implementation sprint, no per-seat pricing.





