> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ringee.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Command reference

> Every ringee CLI command, argument and flag

Add `--json` to any command for raw, machine-readable output.

```text theme={null}
ringee [--json] <group> <command> [args] [options]
```

Phone numbers are **E.164** (`+14155552671`). Datetimes are **ISO-8601 with an offset** (`2026-05-23T14:30:00-04:00`).

## Every command at a glance

<div className="rg-legend">
  <span className="rg-badge rg-read">Read</span> looks, never changes anything  · 
  <span className="rg-badge rg-write">Write</span> creates or updates a record  · 
  <span className="rg-badge rg-sensitive">Sensitive</span> spends money or mints a shareable link  · 
  <span className="rg-badge rg-destructive">Destructive</span> removes access or data
</div>

| Command                                                                                                | Type                                                         | Guard                       |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------ | --------------------------- |
| [`contacts search`](#contacts-search)                                                                  | <span className="rg-badge rg-read">Read</span>               | —                           |
| [`contacts get`](#contacts-get)                                                                        | <span className="rg-badge rg-read">Read</span>               | —                           |
| [`contacts by-outcome`](#contacts-by-outcome)                                                          | <span className="rg-badge rg-read">Read</span>               | —                           |
| [`contacts create`](#contacts-create)                                                                  | <span className="rg-badge rg-write">Write</span>             | —                           |
| [`contacts update`](#contacts-update)                                                                  | <span className="rg-badge rg-write">Write</span>             | —                           |
| [`contacts delete`](#contacts-delete)                                                                  | <span className="rg-badge rg-destructive">Destructive</span> | `--confirm-phone` + `--yes` |
| [`leads search`](#leads-search)                                                                        | <span className="rg-badge rg-read">Read</span>               | —                           |
| [`leads reveal`](#leads-reveal)                                                                        | <span className="rg-badge rg-sensitive">Sensitive</span>     | `--yes`                     |
| [`leads import`](#leads-import)                                                                        | <span className="rg-badge rg-write">Write</span>             | —                           |
| [`sessions create`](#sessions-create)                                                                  | <span className="rg-badge rg-sensitive">Sensitive</span>     | `--yes`                     |
| [`sessions get`](#sessions-get)                                                                        | <span className="rg-badge rg-read">Read</span>               | —                           |
| [`sessions update`](#sessions-update)                                                                  | <span className="rg-badge rg-write">Write</span>             | —                           |
| [`sessions revoke`](#sessions-revoke)                                                                  | <span className="rg-badge rg-destructive">Destructive</span> | `--yes`                     |
| [`calls list`](#calls-list)                                                                            | <span className="rg-badge rg-read">Read</span>               | —                           |
| [`outcomes log`](#outcomes-log)                                                                        | <span className="rg-badge rg-write">Write</span>             | —                           |
| [`callbacks create`](#callbacks-create)                                                                | <span className="rg-badge rg-write">Write</span>             | —                           |
| [`meetings schedule`](#meetings-schedule)                                                              | <span className="rg-badge rg-write">Write</span>             | —                           |
| [`config show`](#config-and-knowledge) / [`config check`](#config-and-knowledge)                       | <span className="rg-badge rg-read">Read</span>               | —                           |
| [`tools`](#config-and-knowledge) / [`flow`](#config-and-knowledge) / [`prompt`](#config-and-knowledge) | <span className="rg-badge rg-read">Read</span>               | works offline               |

## Contacts

### `contacts search`

```text theme={null}
ringee contacts search <query...>
```

Search by name, phone, email or company.

| Option            | Description       |
| ----------------- | ----------------- |
| `-p, --page <n>`  | Page number       |
| `-l, --limit <n>` | Page size, max 50 |

```bash theme={null}
ringee contacts search acme
ringee contacts search "ada lovelace" --limit 5
```

### `contacts get`

```text theme={null}
ringee contacts get <contactId>
```

Full details for one contact, including recent calls, notes and meetings.

### `contacts by-outcome`

```text theme={null}
ringee contacts by-outcome <outcomes...>
```

Find contacts whose calls reached given outcomes — useful for deriving an ICP from closed business.

| Option                  | Description                                         |
| ----------------------- | --------------------------------------------------- |
| `--match <any\|last>`   | `any` matches any call; `last` only the most recent |
| `--include-unreachable` | Include `doNotCall` and `unsubscribed` contacts     |
| `-p, --page <n>`        | Page number                                         |
| `-l, --limit <n>`       | Page size, max 50                                   |

```bash theme={null}
ringee contacts by-outcome sale interested --match last
```

Valid outcomes: `meeting_booked`, `sale`, `interested`, `follow_up`, `callback_scheduled`, `not_interested`, `no_answer`, `voicemail`, `wrong_number`, `gatekeeper`.

### `contacts create`

| Option                                      | Description                                   |
| ------------------------------------------- | --------------------------------------------- |
| `--phone <e164>`                            | **Required.** Must be unique in the workspace |
| `--name <name>`                             | Display name                                  |
| `--first <firstName>` / `--last <lastName>` | Name parts                                    |
| `--email <email>`                           | Email                                         |
| `--title <jobTitle>`                        | Job title                                     |
| `--company <organization>`                  | Company name                                  |
| `--note <note>`                             | Initial note                                  |

```bash theme={null}
ringee contacts create --phone +14155552671 --name "Ada Lovelace" --company "Babbage Engines"
```

### `contacts update`

```text theme={null}
ringee contacts update <contactId>
```

Accepts `--phone`, `--name`, `--first`, `--last`, `--email`, `--title`, `--company`. Only the flags you pass change.

### `contacts delete`

```text theme={null}
ringee contacts delete <contactId>
```

<span className="rg-badge rg-destructive">Destructive</span>

<Warning>
  **Destructive.** Requires both `--confirm-phone` matching the stored number **and** `--yes`.
</Warning>

```bash theme={null}
ringee contacts get <contactId>          # verify the number first
ringee contacts delete <contactId> --confirm-phone +14155552671 --yes
```

## Leads

Prospecting uses your connected enrichment provider. These commands never spend Ringee calling credits.

### `leads search`

Returns a `jobId` you pass to `reveal` and `import`.

| Option                              | Description                                       |
| ----------------------------------- | ------------------------------------------------- |
| `--provider <name>`                 | `apollo` or `prospeo`. Auto-selected when omitted |
| `--keywords <text>`                 | Free-text keywords                                |
| `--title <t>`                       | Job title (repeatable or comma-separated)         |
| `--seniority <s>`                   | Seniority (repeatable)                            |
| `--department <d>`                  | Department (repeatable)                           |
| `--industry <i>`                    | Industry (repeatable)                             |
| `--country <c>` / `--city <c>`      | Person location (repeatable)                      |
| `--company <name>` / `--domain <d>` | Company filters (repeatable)                      |
| `--has-email` / `--has-phone`       | Only candidates with that field                   |
| `--page <n>` / `--per-page <n>`     | Pagination, max 25 per page                       |

```bash theme={null}
ringee leads search --title "VP Sales" --country US --industry Software
```

### `leads reveal`

```text theme={null}
ringee leads reveal <jobId> <externalId>
```

<span className="rg-badge rg-sensitive">Sensitive</span> <span className="rg-badge rg-neutral">Spends provider credits</span>

Unlocks email — and optionally phone — and upserts a Ringee contact.

| Option      | Description                                         |
| ----------- | --------------------------------------------------- |
| `--phone`   | Also reveal a mobile phone (extra provider credits) |
| `-y, --yes` | **Required.** Confirms the credit spend             |

### `leads import`

```text theme={null}
ringee leads import <jobId> <externalIds...>
```

Bulk-imports candidates as contacts, deduplicated by phone number. Does not reveal hidden emails or phones.

## Call sessions

### `sessions create`

<span className="rg-badge rg-sensitive">Sensitive</span>

Mints a magic link someone can open to dial through a queue without logging in.

| Option                    | Description                                     |
| ------------------------- | ----------------------------------------------- |
| `--contact <id>`          | Contact in the queue (repeatable)               |
| `--phone <e164>`          | Raw phone in the queue (repeatable)             |
| `--title <title>`         | Session title                                   |
| `--campaign <campaignId>` | Attribute calls to a campaign                   |
| `--max-calls <n>`         | Auto-complete after N calls                     |
| `-y, --yes`               | **Required.** Confirms minting a shareable link |

```bash theme={null}
ringee sessions create --contact <id> --contact <id> --title "Tue outbound" --yes
```

<Warning>
  The join URL is printed **once** and cannot be re-fetched. Share it only with someone authorized to call on the workspace's behalf.
</Warning>

### `sessions get`

```text theme={null}
ringee sessions get <callSessionId>
```

Status and progress. Never prints the raw token.

### `sessions update`

```text theme={null}
ringee sessions update <callSessionId>
```

| Option                    | Description                         |
| ------------------------- | ----------------------------------- |
| `--title <title>`         | New title                           |
| `--campaign <campaignId>` | Set a campaign, or `null` to detach |
| `--expires <minutes>`     | Extend validity                     |

### `sessions revoke`

```text theme={null}
ringee sessions revoke <callSessionId>
```

<span className="rg-badge rg-destructive">Destructive</span>

<Warning>
  **Destructive.** Requires `--yes`. The link stops working immediately; call history is preserved.
</Warning>

## Calls and follow-ups

### `calls list`

Full call detail, newest first.

| Option                               | Description                                       |
| ------------------------------------ | ------------------------------------------------- |
| `--contact <contactId>`              | Filter to one contact                             |
| `--outcome <outcomes...>`            | Filter by logged outcome                          |
| `--status <statuses...>`             | Filter by status, e.g. `completed`                |
| `--from <iso>` / `--to <iso>`        | Created-at range                                  |
| `--full`                             | Print the full transcription instead of a preview |
| `-p, --page <n>` / `-l, --limit <n>` | Pagination, max 50                                |

```bash theme={null}
ringee calls list --outcome sale --from 2026-05-01T00:00:00Z --full
```

### `outcomes log`

```text theme={null}
ringee outcomes log <callId> <outcome>
```

| Option          | Description              |
| --------------- | ------------------------ |
| `--note <note>` | Free-text follow-up note |

### `callbacks create`

```text theme={null}
ringee callbacks create <contactId> <scheduledAt>
```

| Option            | Description    |
| ----------------- | -------------- |
| `--call <callId>` | Source call id |
| `--note <note>`   | Free-text note |

```bash theme={null}
ringee callbacks create <contactId> 2026-05-24T10:00:00-04:00 --note "Asked for Monday"
```

### `meetings schedule`

```text theme={null}
ringee meetings schedule <contactId> <scheduledAt>
```

| Option                  | Description          |
| ----------------------- | -------------------- |
| `--title <title>`       | Meeting title        |
| `--duration <minutes>`  | Defaults to 30       |
| `--location <location>` | Address or video URL |
| `--notes <notes>`       | Notes                |

## Config and knowledge

| Command               | Description                                        |
| --------------------- | -------------------------------------------------- |
| `ringee config show`  | Resolved connection, token masked                  |
| `ringee config check` | Connect and list every tool the server exposes     |
| `ringee tools`        | The agent capability catalog with sensitivity tags |
| `ringee flow`         | The outbound sales flow, step by step              |
| `ringee prompt`       | The shared agent system prompt                     |

`tools`, `flow` and `prompt` need no connection — they print the shared knowledge from `@ringee-io/agent`, which is handy when briefing your own agent.

## Global options

| Option          | Description                        |
| --------------- | ---------------------------------- |
| `--json`        | Raw JSON instead of formatted text |
| `-v, --version` | Print the version                  |
| `--help`        | Help for any command or subcommand |

## Next steps

<Card title="Drive it from an agent" icon="robot" href="/cli/agents">
  Use the CLI as an agent's Ringee interface
</Card>
