How rivomi works
The nouns an agent works with (workspace, agent, signal, prospect, list, run, sequence, conversation) and how one leads to the next.
One workspace sells one thing to one kind of buyer. Everything below lives inside it, and every score and draft is written against the workspace's company profile.
agent ──watches──▶ signals ──find──▶ prospects ──land in──▶ list
│
run: enrich → score → draft
│
human approves ──▶ sequence (enrollment) on a LinkedIn sender
│
conversation (inbox)The nouns
| Noun | What it is | Id comes from |
|---|---|---|
| Workspace | The tenant. Plan, credits, company profile, senders, sending consent. A credential reaches exactly one. | The credential itself |
| Agent | One goal: where to look (sources), who counts (targeting), what to say (sequence), and which LinkedIn account says it. States: draft, live, paused, archived. | rivomi_list_agents |
| Signal | Why a person showed up: they commented on a post, liked one, wrote a post matching a keyword, changed jobs, their company is hiring or raised money. | Read on the prospect |
| Prospect | One person, with their signals, score, reasoning, drafts and messages. | rivomi_search_prospects |
| List | A set of people with a reason attached (context). Every agent owns one; you can make more. | rivomi_list_lists, or an agent's list_id |
| Run | Any long job: an agent's search, an import, a scoring pass. Poll it until finished. | Returned by whatever started it; rivomi_list_runs |
| Sequence (enrollment) | One person moving through an agent's steps on a sender: invitation, then messages at a delay. | rivomi_list_enrollments |
| Sender | A connected LinkedIn account with daily invitation and message caps. | rivomi_get_workspace.senders |
| Conversation | The thread with one person, opened by the invitation note. Keyed by the enrollment id. | rivomi_list_conversations |
Ids are opaque strings. Take every id from a list or search tool's response.
Signals: a comment beats a like
Somebody who wrote a sentence under a post has told you what they think. Somebody who tapped
like has told you almost nothing. Filters that take a signal kind let you prefer
post_comment, and rivomi_import_prospects pulls comments by default.
An agent's sources come in three kinds:
| Source | Watches |
|---|---|
signals | Keyword posts, named creators' posts, competitor company pages, and buying events (job change, hiring, funding) |
lookalike | One ideal buyer's profile: people engaging with them, and their colleagues |
list | People already in the workspace |
Scoring
Each prospect is enriched, then scored 0–100 against the targeting (titles, industries, sizes,
locations, exclusions) with a one-sentence reason. The agent's matching sets the bar:
matching | A fit scores |
|---|---|
precise (default) | 75 or more |
broad | 60 or more |
skip | Everyone found is kept, and no scoring spend happens |
A human label teaches the scorer. fit: "not" on a prospect, or rejecting them from an agent's
queue, records them as a counter-example the scorer sees on every later run. See
Tune the scorer.
Sending
A qualified person gets a drafted invitation note (300 characters at most, a LinkedIn limit) and follow-ups. With review mode on, each one waits in the agent's queue for approval. Approved people are queued onto a sender, which paces them inside its working hours and daily caps. That's why every sending tool answers "queued", not "sent".
When a person replies, their sequence stops and the thread appears in the inbox. Once anyone replies by hand, the scheduler leaves that thread alone.
Two gates sit in front of all of this, and both are human. See What agents cannot do.