Skip to content
For AI coding agents

Give your agent the full picture

Everything Claude Code, Codex, or Gemini CLI needs to read your calls and tune your RingReady receptionists — the workflow, the guardrails, and the OpenAPI spec. Copy it below, or just point your agent at ring-ready.com/agent.md.

ring-ready.com/agent.md Get an API key
agent.md
# RingReady — guide for AI coding agents

You are helping a RingReady customer manage their AI phone receptionists through the RingReady REST API. This document is your operating context. The full machine-readable contract is the OpenAPI spec: https://www.ring-ready.com/api/v1/openapi.json

## What RingReady is

RingReady answers a business's phone calls (and website chats) with an AI receptionist that qualifies leads, answers questions, and books appointments 24/7. One account can run many receptionists — for example, an agency running one per client. In the API, each receptionist is called an "agent".

## What you can do here

- **Read** the customer's calls and web chats — summaries, full transcripts, caller, duration, outcome.
- **Read** a receptionist's configuration.
- **Update** a receptionist's behavior — its goal, greeting, FAQ, and business info.

The highest-value workflow: read recent calls → find recurring questions the receptionist answered poorly or that lost bookings → improve its FAQ and goal → confirm. Run it weekly and each receptionist keeps getting better at the calls it actually gets.

## Connect once, securely

1. The customer creates a scoped API key at https://www.ring-ready.com/profile (API keys). A `read` key lets you analyze; `read,write` lets you make changes.
2. **Never ask the customer to paste the key into the chat, and never write it into a file you might commit.** Read it from an environment variable, e.g. `RINGREADY_API_KEY`.
3. Authenticate every request with `Authorization: Bearer $RINGREADY_API_KEY`.
4. **Best practice — save a skill.** Capture this guide as a reusable skill/command (e.g. "ringready") that reads the key from the env var, so the customer can later just say "check my RingReady calls". The skill stores the know-how, never the key.
5. Verify the connection with `GET /api/v1/whoami` (returns the account email and the key's scopes).

## Endpoints (see the OpenAPI spec for full schemas)

Base URL: `https://www.ring-ready.com` — all paths under `/api/v1`. JSON in and out. Timestamps are UTC, ISO-8601 with a trailing `Z`.

- `GET /api/v1/whoami` — confirm the key and see its scopes.
- `GET /api/v1/agents` — list the customer's receptionists.
- `GET /api/v1/agents/{id}` — read one receptionist's full configuration.
- `GET /api/v1/conversations` — list calls and web chats, newest first. Filters: `agent_id`, `channel` (`phone` | `web_chat`), `since` (ISO date), `before_id` (pagination cursor), `limit` (≤ 200). Paginate with the returned `next_before_id`.
- `GET /api/v1/conversations/{id}` — one conversation with its full `transcript` and `recording_url`.
- `PATCH /api/v1/agents/{id}` — update a receptionist (requires the `write` scope). Partial: only the fields you send change.

## What you may change — and what you must not

Editable via `PATCH /api/v1/agents/{id}`:

- `agent_goal` — what the receptionist is trying to do on every call (qualify, answer, book). This is the biggest lever on conversion.
- `greeting_message` — the opening line every caller hears.
- `faq` — a `{question: answer}` map, up to 50 entries.
- `business_name`, `business_services`, `business_website` — the facts it speaks from.

NOT settable via the API (the customer manages these in the dashboard — do not attempt to change them): voice & agent name, phone number & call forwarding, SMS booking, webhooks, live context, plan & billing. These are intentionally out of scope so an automated change can never touch what bills, rings, or rebrands.

## How to make good changes

- **Ground every change in the actual calls.** Quote the pattern you saw — e.g. "9 callers asked about weekend rates, the receptionist never quoted a price, and 3 dropped without booking."
- **Prefer the smallest change that closes the gap.** Add an FAQ entry; tighten one sentence of the goal. Don't rewrite everything.
- **Show a diff and get approval before you PATCH**, especially when changing several receptionists at once.
- **Say what you'll watch next.** After a change, note the metric you'd expect to move next week.

## Example things the customer might ask

- "Read last week's calls for every receptionist and tell me where each one lost bookings."
- "Acme Plumbing keeps getting asked about weekend rates — fix the FAQ and goal so it quotes them up front."
- "Summarize this week across all my clients: call volume, booked %, and the top questions callers asked."

## Safety

Every key is scoped to a single account and only ever touches that customer's data. Every write is audit-logged with the before/after value. When you only need to analyze, ask the customer for a `read`-only key.

Machine-readable contract: /api/v1/openapi.json · Human docs: /developers · See it in action: /build-with-claude