Skip to content
Lebtaglebtag

Toreply.me: turning a legacy system into conversational AI

Multi-tenant middleware · WhatsApp and widget · agents with configurable steps

Every mid-sized company has an ERP holding the answer and a team that never opens it. A manager asks in a WhatsApp group, someone drops what they were doing, exports a spreadsheet and replies half an hour later. The data was there the whole time — what was missing was a path to it.

toreply.me

The challenge

  • Every client runs a different system

    Middleware that only serves one ERP isn't a product, it's an integration. It had to work over any API without rewriting code for each new client.

  • The answer cannot be invented

    An assistant that gets a number wrong in a business context burns out in the first week. The data had to come from the system, always.

  • The channel is WhatsApp

    Where people already are. That brings voice notes, messages broken across several bubbles, and conversations that follow no script.

How we solved it

  1. 01

    Agents configured, not programmed

    The company registers the APIs it already has and describes in plain text what each one does. Each agent is a sequence of steps with SQL and scripts before and after the call — a new client is configuration, not development.

  2. 02

    An orchestrator picks the path

    The message arrives, gets grouped when it came in fragments, and a model chooses which agent handles it — or none. Only then does the flow run its steps and fetch the real data.

  3. 03

    Audio becomes text first

    Voice notes are transcribed and enter the same path as everything else. On Brazilian WhatsApp, ignoring audio means ignoring half the messages.

  4. 04

    The answer is formatted last

    A dedicated step turns the technical result into a short messenger-sized sentence. The data is never rewritten — only presented.

The outcome

  • A lookup that depended on a person is answered in seconds, around the clock
  • New clients onboard through agent configuration, with no new code
  • The same architecture serves WhatsApp and an embedded website widget
  • A leads and campaigns CRM built on the same conversation history

What this architecture teaches

The hard part of a conversational system isn't the model — it's the plumbing around it: grouping fragmented messages, deciding when not to answer, and guaranteeing the number on screen came from the database and not from the model's memory. Start with the model and you ship a demo; start with the plumbing and you ship a product.

Stack

  • n8n
  • PostgreSQL
  • AI Agents
  • RAG
  • WhatsApp API
  • Next.js
  • Multi-tenancy

Facing something similar?

Tell us the process you want to automate. You leave the conversation with a technical path — no commercial proposal in between.

Other projects