Agriva, real estate · 2026

Brokers send everything on WhatsApp and leads waited for a human

Built by Vyzma. Led by Ansuj.

Situation

Listings, corrections and buyer replies all arrived as WhatsApp messages, photos and videos, and someone had to type them in and chase follow-ups.

What we built

A shared harness for small, bounded, tool-using agents: WhatsApp capture, broker follow-up, lead replies and the listing inspector.

What changed

Every agent action is logged and reversible, and each agent has an evaluation set that runs before any prompt or model change ships.

The problem

Agents that can call tools are useful and dangerous in equal measure. The team wanted the useful half: a message becomes a draft listing, a stale listing gets a polite nudge, a buyer gets a first reply within minutes.

What it did not want was an agent that loops, sends twice, or edits something nobody asked it to edit.

What we built

  • A harness with a fixed step budget, a whitelist of tools per agent, structured logging of every tool call, and a hard stop when the budget runs out.
  • WhatsApp capture: turns incoming text, photos and video into a draft listing with the fields it is confident about and asks the broker for the rest.
  • Broker follow-up: finds listings that need broker input and drafts the ask; a human approves sends where the stakes are higher.
  • Lead replies: drafts the first reply to a buyer enquiry from the listing facts; replies are reviewed by ops before going out.
  • An eval harness per agent (chatbot, listing assistant, photo agent, ops agents) with recorded cases that run before changes merge.

How it works

  • Each agent is a plan over whitelisted tools. The harness runs the loop, records every step, and refuses tool calls outside the whitelist.
  • Side effects go through one guarded sender per channel, so a template that is not configured means nothing is sent, and a resend token stops duplicates.
  • Evals replay recorded inputs and compare outputs to expected outcomes; a regression blocks the change.

What changed

  • Every agent action is logged and reversible.
  • Evals run before any prompt or model change ships.

Stack

PythonFastAPIOpenAIAnthropicWhatsApp Business APIPostgres

If this looks like your situation

Tell us where it hurts. We will say whether it is worth automating, and what we would build first.