Skip to content

Customer operations

ResolvFlow

An email agent that answers only from an approved script, and says so when it cannot read a figure with certainty.

Sector
Customer operations
Components
Control panel · Agent runtime · Orchestration
Stack
Next.js 15MongoDBNextAuthCloudflare R2n8nGmail APIContainerised agent runtime
Overview

Handles inbound customer email from one approved playbook, and nothing reaches production without passing a regression suite.

Most support bots index everything and let similarity search decide. That produces confident paraphrase, which is exactly wrong when a reply carries a deadline or a bank account number.

Here the knowledge base is one approved document of about two dozen pre-cleared replies. The agent reads all of it on every email and sends the matching reply essentially verbatim.

Components

Control panel

Where playbook revisions are uploaded, versioned and moved through review, with test results attached.

Agent runtime

Receives one email at a time, reads the approved document, composes the reply, posts it back through a correlated callback.

Orchestration

Watches the mailbox, hands each message to the agent with a one-time token, delivers the reply onto the original thread.

Technical challenges
  1. A release gate, not a vibe check

    Revisions move through an enforced lifecycle, and the step to approved is gated by a regression run over known-answer questions. It cannot be skipped, not even with a master key.

  2. Refusing to guess

    Some source material exists only as images in the document. If a figure cannot be read with certainty, the reply is marked low-confidence and a person picks it up.

  3. Verbatim, including the inconsistencies

    Figures and deadlines are reproduced exactly, even where tables disagree on tax. Normalising them would change what the company is contractually saying.

  4. Reply correlation as a security boundary

    Each email is dispatched with a single-use token binding the reply to one thread. Even a compromised agent cannot send mail anywhere else.

  5. The email is data, never instruction

    The agent's instructions live in its own workspace, not in the message it reads. An email that looks like a command is content to answer.

Tell us where you are starting from. We take it from there.

Start a project