# Tool reference

> All thirty rivomi MCP tools grouped by job, with the scope each needs, whether it spends credits, and its REST twin.

Source: https://rivomi.com/docs/tools



Use this page to choose a tool. Before calling it, read its live schema from MCP `tools/list`;
the schema is authoritative for arguments, defaults and limits. Each tool's description also says
what it does **not** do and names the tool that does.

`$` marks the four tools that spend credits. Scope is the minimum the credential needs; see
[API keys and OAuth](/connect/authentication#scopes).

## Choose the tool [#choose-the-tool]

| Need                                                     | Use                                                                               |
| -------------------------------------------------------- | --------------------------------------------------------------------------------- |
| Know the balance, senders and whether sending is allowed | `rivomi_get_workspace`. **Call it first.**                                        |
| Answer "how are we doing"                                | `rivomi_get_dashboard`                                                            |
| Find people                                              | `rivomi_search_prospects`, then `rivomi_get_prospect`                             |
| Build an agent                                           | `rivomi_create_agent` → `rivomi_update_agent_sequence` → `rivomi_set_agent_state` |
| See who is waiting for approval                          | `rivomi_list_agent_queue`                                                         |
| Approve or reject them                                   | `rivomi_review_queue`                                                             |
| Pull a LinkedIn post's commenters                        | `rivomi_import_prospects` with `estimate_only: true` first                        |
| Enrich, score and draft a list                           | `rivomi_process_list`                                                             |
| Follow a long job                                        | `rivomi_get_run`                                                                  |
| Find threads needing an answer                           | `rivomi_list_conversations` with `needs_reply: true`                              |
| Answer one                                               | `rivomi_get_conversation`, then `rivomi_reply`                                    |

## Workspace [#workspace]

| Tool                   | Scope | What it does                                                                                                    | REST                |
| ---------------------- | ----- | --------------------------------------------------------------------------------------------------------------- | ------------------- |
| `rivomi_get_workspace` | read  | Plan, credits left, spend block, senders and their headroom today, sending consent                              | `GET /v1/workspace` |
| `rivomi_get_dashboard` | read  | The funnel over `7d`, `30d`, `3m` or `month`: found, qualified, invited, messaged, replied, spend, best sources | `GET /v1/dashboard` |

## Agents [#agents]

| Tool                            | Scope | What it does                                                                                   | REST                                |
| ------------------------------- | ----- | ---------------------------------------------------------------------------------------------- | ----------------------------------- |
| `rivomi_list_agents`            | read  | Every agent with state, totals and `list_id`                                                   | `GET /v1/agents`                    |
| `rivomi_get_agent`              | read  | One agent in full: targeting, sequence, signals, sources, stats, recent runs                   | `GET /v1/agents/{id}`               |
| `rivomi_list_agent_queue`       | read  | `awaiting_review` (drafted, nothing sent) and `enrollments` (mid-sequence)                     | `GET /v1/agents/{id}/queue`         |
| `rivomi_create_agent`           | write | A **draft** agent from a name, one source and optional targeting. Finds nobody until launched. | `POST /v1/agents`                   |
| `rivomi_update_agent_targeting` | write | Who the agent looks for. Each array sent replaces the whole array.                             | `PATCH /v1/agents/{id}/targeting`   |
| `rivomi_update_agent_sequence`  | write | Replace the steps, goal, tone, review mode, daily cap                                          | `PATCH /v1/agents/{id}/sequence`    |
| `rivomi_set_agent_state`        | write | `live` (launches and runs now, spends) or `paused` (holds everything)                          | `POST /v1/agents/{id}/state`        |
| `rivomi_run_agent_now` $        | write | Run a live agent's sources now instead of on the six-hourly schedule                           | `POST /v1/agents/{id}/run`          |
| `rivomi_review_queue`           | send  | Approve (queues real outreach) or reject (counter-example) waiting people                      | `POST /v1/agents/{id}/queue/review` |

## Prospects [#prospects]

| Tool                         | Scope | What it does                                                                                   | REST                               |
| ---------------------------- | ----- | ---------------------------------------------------------------------------------------------- | ---------------------------------- |
| `rivomi_search_prospects`    | read  | Filter by text, score band, signal, list, fit label, sequence stage, replied, date             | `GET /v1/prospects`                |
| `rivomi_get_prospect`        | read  | One person: signals with what they wrote, score and reason, lists, drafts, sequences, messages | `GET /v1/prospects/{id}`           |
| `rivomi_update_prospect`     | write | Set `fit` (`good`, `not`, `none`) and notes. `not` also suppresses them.                       | `PATCH /v1/prospects/{id}`         |
| `rivomi_research_prospect` $ | write | An AI research brief against what the workspace sells; replaces any earlier brief              | `POST /v1/prospects/{id}/research` |

## Lists and imports [#lists-and-imports]

| Tool                         | Scope | What it does                                                                                                      | REST                          |
| ---------------------------- | ----- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| `rivomi_list_lists`          | read  | Every list with member count and owning agent                                                                     | `GET /v1/lists`               |
| `rivomi_get_list`            | read  | One list's pipeline breakdown and approved-but-unqueued count                                                     | `GET /v1/lists/{id}`          |
| `rivomi_create_list`         | write | An empty list. Its `context` sentence is read by the scorer and the drafter.                                      | `POST /v1/lists`              |
| `rivomi_update_list_members` | write | Add and remove people. Membership only: nothing is queued or cancelled.                                           | `POST /v1/lists/{id}/members` |
| `rivomi_process_list` $      | write | Run `enrich`, `score`, `draft` over a list. Sends nothing.                                                        | `POST /v1/lists/{id}/process` |
| `rivomi_import_prospects` $  | write | Pull a LinkedIn post's commenters (default) or likers into a list. `estimate_only` is free and needs only `read`. | `POST /v1/imports`            |

## Runs [#runs]

| Tool               | Scope | What it does                                                  | REST                       |
| ------------------ | ----- | ------------------------------------------------------------- | -------------------------- |
| `rivomi_list_runs` | read  | Long jobs, newest first, by kind, status, agent, date         | `GET /v1/runs`             |
| `rivomi_get_run`   | read  | One run: `finished`, what it found, errors, itemised cost     | `GET /v1/runs/{id}`        |
| `rivomi_abort_run` | write | Stop the rest of a run. Spent stays spent; found stays found. | `POST /v1/runs/{id}/abort` |

## Outreach [#outreach]

| Tool                          | Scope | What it does                                                                     | REST                              |
| ----------------------------- | ----- | -------------------------------------------------------------------------------- | --------------------------------- |
| `rivomi_list_enrollments`     | read  | Everyone in a sequence, their state and next step due                            | `GET /v1/enrollments`             |
| `rivomi_enroll_prospects`     | send  | Queue named people or a whole list. Anyone without an approved draft is skipped. | `POST /v1/enrollments`            |
| `rivomi_set_enrollment_state` | send  | `paused`, `active`, or `stopped` (irreversible, withdraws a pending invitation)  | `POST /v1/enrollments/{id}/state` |

## Inbox [#inbox]

| Tool                        | Scope | What it does                                                                                            | REST                        |
| --------------------------- | ----- | ------------------------------------------------------------------------------------------------------- | --------------------------- |
| `rivomi_list_conversations` | read  | Threads newest first. `needs_reply` returns unanswered replies plus accepted-but-never-messaged people. | `GET /v1/inbox`             |
| `rivomi_get_conversation`   | read  | The invitation note, then every message in order                                                        | `GET /v1/inbox/{id}`        |
| `rivomi_reply`              | send  | Send a LinkedIn message now. No draft step, no undo, no merge fields.                                   | `POST /v1/inbox/{id}/reply` |

## REST only [#rest-only]

Two reads exist only on REST, where there is no tool budget: `GET /v1/templates` (saved outbound
copy) and `GET /v1/senders` (the long form of `get_workspace.senders`).

## Call conventions [#call-conventions]

* **Reads** take `response_format`: `markdown` (default, compact) or `json` (exact). Writes answer in JSON.
* **Lists** return `{ total, count, offset, has_more, next_offset, items }`. `limit` defaults to 25, caps at 200.
* **Long jobs** return a `run_id` immediately. Poll `rivomi_get_run` until `finished` is `true`; runs usually take minutes.
* **Results** over 25,000 characters are cut and say so. Narrow the filter rather than paging everything.
