# How Revnu Works

> The model behind the API: a growth agent that does the work, review cards for anything that needs your say-so, the trust ladder that lets work ship on its own, and workflows, results and leads.

Canonical: https://revnu.com/docs/concepts
Last updated: 2026-09-29

Revnu is a growth agent. It finds buyers, writes and sends outreach, runs ads and writes the pages that get a business found in search and AI answers. The API does not give you those tools directly. It gives you the same controls a customer has in the dashboard: see what the agent wants to do, say yes or no, tell it what to do next, and read what happened.

## Review cards

Anything that needs your say-so becomes a card in the review queue: an email draft, a blog post, a budget change, a question. A card has a `kind`, a `sourceType` naming the work, and a `status` of `pending` or `needs_revision`. The kinds that ask you to decide are `approval` (ship this), `question` (often with `textInput`) and `choice` (pick one of `options`). The others record the agent's own work: `review` (a judgment worth a second look), `follow_up`, `setup`, and `update` (a result with nothing to decide). Expect new kinds over time.

Each card lists the verbs it accepts right now in `actions`, and the label the dashboard would put on its main button in `primaryLabel`. Build your UI from those two fields rather than from `sourceType`, and new kinds of work render correctly without a code change. The verbs:

| Verb | Does |
|---|---|
| `approve` | Ships the work: publishes, applies, sets up, or approves |
| `answer` | Answers a question card |
| `choose` | Picks one option on an option card |
| `send` | Sends a Gmail draft or reply, optionally edited |
| `request_changes` | Sends the card back to the agent with your feedback |
| `snooze` | Hides the card until a time |
| `dismiss` | Declines it; nothing ships |

## The trust ladder

Revnu tracks how you resolve each kind of work. A clean approval counts in full, an edited one counts half, a dismissal counts zero. Once a kind of work has enough volume and a high enough approval rate, Revnu asks whether it may ship that kind on its own. Only after you agree do its cards carry `autoResolveAt`, the time they ship unless you act first: at least four hours for sends, a day for reversible work such as blog drafts.

Some work never ships on its own: anything that spends money, and replies inside a live email conversation. Snoozing a card cancels its deadline, and dismissing or sending one back resets that kind's streak. Cards that wait more than seven days before their kind has earned trust expire, so the queue never turns into a backlog.

## The agent

The agent runs in its own sandbox and wakes on a schedule, on new mail and replies, and when you message it. [Send it a message](/docs/agent-messages) the way you would in the dashboard chat, then wait for the reply inline or poll. [Agent status](/docs/agent-status) says whether it is up, busy, and when it next wakes.

## Workflows

A workflow is a recurring job written in plain words: a schedule such as "every weekday at 09:00 Europe/London" and a list of steps. A step can carry a gate, which makes it wait for a person before it acts. The agent reads the steps on every run, so volume ("five per day") is an instruction in a step, not a numeric field. See [Create a workflow](/docs/workflow-create).

## Results

[Results](/docs/results) is the scoreboard the agent reads when it wakes: one section per channel, each either available with numbers or unavailable with a reason. A channel that is not connected says so rather than reporting zero.

## Leads

A lead is a company the agent has researched, with a status, a score, contacts, your own columns, and the draft it would send. You can read leads, set their labels, and keep a block list of companies, mailboxes and LinkedIn profiles that outreach must never touch.

## Frequently asked questions

### Can I use the API to send an email directly?

No. You approve or send what the agent drafted. There is no route that writes and sends an email of your own, so every send goes through the same review and trust rules as the dashboard.

### What is the difference between dismiss and request changes?

Dismiss closes the card and nothing ships; the agent learns from your reason. Request changes sends it back with feedback, and a revised card returns to the queue.

### How do I know a card will ship on its own?

It has a non-null `autoResolveAt`. Snooze it to stop that, or act on it before then.
