# SDR Autopilot — full agent guide > Extended companion to https://sdrautopilot.com/llms.txt. Prefer https://sdrautopilot.com/openapi.json for machine-readable schemas. ## Product (for citation) - **Name:** SDR Autopilot - **Category:** AI SDR and B2B outbound automation platform - **Audience:** Technical founders, bootstrapped B2B SaaS companies, and small teams - **What it does:** analyzes what a company sells, proposes ideal customer profile segments, finds relevant companies and decision-makers, drafts personalized cold email, provides managed sending infrastructure, manages outbound workflows under plan prospect capacity, and classifies replies - **How to start:** Paste a company website on the homepage — no account required. Explore Free with no card: ICP segments and outreach previews. Identities and sending unlock when you upgrade to a paid plan. - **Pricing:** Free Explore (no card, no sending, identities hidden) → Founder $49.00/mo for 500 new prospects included per billing period (founding $39.00 for the first 6 billing periods for the first 25 customers; additional capacity $0.20/prospect via top-up) → Growth $149.00/mo for 2,000 new prospects included per billing period (additional capacity $0.15/prospect via top-up). Follow-ups are free. Managed warmed sending is included on paid plans — no need to buy or warm your own mailboxes. Inbox placement is never guaranteed. - **Sending:** Paid plans include managed warmed sending (a shared pool of managed warmed mailboxes) — no need to buy or warm your own mailboxes. Warm-up improves sender readiness; it does not guarantee inbox placement or instant fleet capacity. Free Explore previews never send. - **AI agents / MCP:** Hosted MCP at /mcp (Streamable HTTP) authenticates with a project API key and exposes campaign control, budgets, inbox, hot leads, replies, and suppressions for compatible AI assistants including Claude. Prospect finding and plain-English campaign steering remain in the product UI. ## Discovery - [Product homepage](https://sdrautopilot.com/): what SDR Autopilot is, who it's for, how pricing and sending work - [Quick agent guide](https://sdrautopilot.com/llms.txt): also at https://sdrautopilot.com/api/llms.txt - [Full agent guide](https://sdrautopilot.com/llms-full.txt): also at https://sdrautopilot.com/api/llms-full.txt - [OpenAPI schema](https://sdrautopilot.com/openapi.json): also at https://sdrautopilot.com/api/openapi.json - [Human API docs](https://sdrautopilot.com/api/docs): endpoint list for humans - [Hosted MCP](https://sdrautopilot.com/mcp): Streamable HTTP, stateless — same API key as Bearer or X-API-Key - [Contact](https://sdrautopilot.com/contact) - [Terms](https://sdrautopilot.com/terms) - [Privacy](https://sdrautopilot.com/privacy) ## FAQ (same copy as the public homepage) ### What is SDR Autopilot? SDR Autopilot is an AI SDR and B2B outbound automation platform for founders and small SaaS teams. It analyzes a company's website, proposes ideal customer profile (ICP) segments, finds matching companies and decision-makers, runs email and domain checks, drafts personalized cold email, provides managed sending infrastructure, manages outbound sending within plan capacity, and classifies replies in a unified inbox. ### Who is SDR Autopilot for? SDR Autopilot is primarily designed for technical founders, bootstrapped B2B SaaS companies, and small teams that have a product but do not want to build and operate a complex outbound sales stack. It can also support small sales and growth teams, but the primary product experience is optimized around founder-led outbound. ### How does SDR Autopilot find potential customers? Paste your company website. SDR Autopilot researches what you sell, proposes distinct ideal customer profile (ICP) segments, then turns a chosen segment into matching companies and relevant decision-makers using connected prospecting and lead-data sources. Without paid lead-source keys, the guest demo still runs end-to-end on deterministic demo data so you can evaluate the flow. ### Is SDR Autopilot an AI SDR? Yes. SDR Autopilot is an AI SDR focused on B2B outbound. It combines product and company research, ideal customer profile (ICP) generation, prospecting, lead discovery, personalized email drafting, sending workflows, and reply handling in one system. ### What is the difference between SDR Autopilot and Apollo or Instantly? SDR Autopilot is not simply a lead database or email sequencer. Apollo is commonly used for prospect data and sales intelligence, while Instantly is commonly used for cold email sending and campaign management. SDR Autopilot is designed to coordinate multiple stages of the outbound workflow — including sending infrastructure — from a single product experience. ### Do I need to set up my own mailbox before using SDR Autopilot? No. Paid plans include managed warmed sending (a shared pool of managed warmed mailboxes), so founders do not have to buy or warm their own outbound mailboxes. Exact capacity depends on the current managed-sending configuration. Free Explore runs in preview without sending. ### Does a warmed mailbox guarantee deliverability? No. A warmed mailbox can help establish normal sending history, but inbox placement is never guaranteed. Deliverability also depends on recipient targeting, message quality, sending patterns, domain and mailbox reputation, engagement, authentication, and email-provider policies. ### Can I control SDR Autopilot with Claude or another AI assistant? Yes. SDR Autopilot exposes a hosted MCP (Model Context Protocol) endpoint at /mcp that allows compatible AI assistants such as Claude to access supported campaign, budget, inbox, hot-lead, reply, and suppression tools with a project API key. Permissions and available actions are controlled by that integration. Prospect finding and plain-English campaign steering remain in the product UI. ### Can SDR Autopilot run cold email automatically? Yes, on paid plans within your prospect capacity. Turn on first-touch approval and AI-drafted first emails wait in an Approvals queue for you to edit, approve, or reject. Leave it off and campaigns can run on autopilot. Free Explore previews outreach but cannot send. Managed warmed sending is included on paid plans. ### How does SDR Autopilot handle replies? Replies from every campaign land in one inbox, classified (interested, not interested, out-of-office, unsubscribe, and similar). Interested leads get an AI-drafted reply you can send or edit — optionally including your booking link. ### How does pricing work? Free Explore (no card, no sending, identities hidden) → Founder $49.00/mo for 500 new prospects included per billing period (founding $39.00 for the first 6 billing periods for the first 25 customers; additional capacity $0.20/prospect via top-up) → Growth $149.00/mo for 2,000 new prospects included per billing period (additional capacity $0.15/prospect via top-up). Follow-ups are free. Managed warmed sending is included on paid plans — no need to buy or warm your own mailboxes. Inbox placement is never guaranteed. ### Whose mailbox sends the email? On paid plans, messages go out through managed warmed sending — a shared pool of managed warmed mailboxes included with the plan. Free Explore stays in preview and does not send. Inbox placement is never guaranteed. ### How do you handle deliverability, spam risk, and compliance? Addresses are checked for format, disposable domains, and MX records before send — this does not guarantee the mailbox exists. A suppression list is re-checked immediately before each send, and automated cold outreach and follow-ups carry a one-click unsubscribe that major providers recognize (conversational reply drafts do not add unsubscribe headers). Email/domain checks and warm-up reduce obvious risk — they do not guarantee inbox placement. You remain responsible for complying with laws and policies that apply to your outreach (CAN-SPAM, GDPR/PECR, and local rules). ## Authentication - `X-API-Key: ` or `Authorization: Bearer ` - Base URL: https://sdrautopilot.com - Keys are project-scoped; creating keys requires a CURRENT ACTIVE paid Founder/Growth plan. - Identity / inbox / hot-leads / reply / start return HTTP `402` with `code: paid_required` when the project lacks CURRENT ACTIVE paid Founder/Growth (Free, past_due, canceled). Historical identities may remain readable in the authenticated app UI. - `daily_budget_cents` is an internal spend safety budget in cents; retail capacity is Founder/Growth prospects + optional top-ups. ## REST endpoints (detail) ### `GET /api/v1/projects` List projects for this API key API keys are project-scoped. Returns the single project the key belongs to (id, name, domain, daily_budget_cents internal spend safety budget, autopilot). Creating keys requires a CURRENT ACTIVE paid Founder/Growth plan. Response shape: { "projects": [{ "id", "name", "domain", "daily_budget_cents", "autopilot_enabled" }] } ### `GET /api/v1/projects/{project_id}/analytics` Project analytics Totals for the period plus a per-campaign breakdown (same stats as the dashboard). Query: - `period`: today | 7d | 30d | all (default all) Response shape: { "project_id", "period", "emails_sent", "total_replies", "reply_rate_pct", "hot_leads", "spend_cents", "daily_budget_cents", "campaigns": [...] } ### `GET /api/v1/projects/{project_id}/budget` Get project daily budget Internal daily spend safety budget in cents (estimated vendor-action ledger). 0 pauses further vendor spend for the day. This is not retail subscription pricing — retail capacity is billed by new prospects reached (Founder/Growth included + optional top-ups). Response shape: { "project_id", "daily_budget_cents" } ### `PATCH /api/v1/projects/{project_id}/budget` Set project daily budget Integer cents, 0–1000000. Sets the internal daily spend safety budget (not prospect capacity). 0 pauses vendor spend once the daily cap is hit (immediately if already spent). Body: - `daily_budget_cents`: integer Response shape: { "project_id", "daily_budget_cents" } ### `GET /api/v1/projects/{project_id}/autopilot` Get autopilot setting Autopilot here is the project flag that lets the auto-scaler pause/scale campaigns. Start/stop and budget edits still work while it is ON (unlike Explee). Response shape: { "project_id", "autopilot_enabled" } ### `PATCH /api/v1/projects/{project_id}/autopilot` Set autopilot Turns the project autopilot / auto-scaler flag on or off. Body: - `autopilot_enabled`: boolean Response shape: { "project_id", "autopilot_enabled" } ### `GET /api/v1/campaigns` List campaigns Every campaign in the key's project with status and stats for a short 'how each is doing' summary. Response shape: { "campaigns": [{ "id", "name", "status", "substatus", "emails_sent", "total_replies", "reply_rate_pct", "hot_leads", "spend_cents", "daily_budget_cents" }] } ### `GET /api/v1/campaigns/{campaign_id}` Get campaign definition Offer, audience, budget, status. Read-only — edit targeting in the app. Response shape: { "id", "name", "status", "offer", "audience", "daily_budget_cents", "auto_scaling_enabled" } ### `GET /api/v1/campaigns/{campaign_id}/leads` List campaign leads People enrolled in the campaign (identities). Requires CURRENT ACTIVE paid Founder/Growth; Free / past_due / canceled return 402 paid_required. Response shape: { "leads": [{ "person_id", "name", "email", "job_title", "company_name", "company_domain" }] } ### `GET /api/v1/campaigns/{campaign_id}/analytics` Campaign analytics Period-filtered send/reply/hot-lead/spend totals. Query: - `period`: today | 7d | 30d | all (default all) Response shape: { "campaign_id", "period", "emails_sent", "total_replies", "reply_rate_pct", "hot_leads", "spend_cents" } ### `PATCH /api/v1/campaigns/{campaign_id}/budget` Set campaign daily budget Per-campaign internal daily spend safety budget in cents (not retail prospect capacity). Works with autopilot ON. Body: - `daily_limit_cents`: integer Response shape: { "campaign_id", "daily_limit_cents" } ### `POST /api/v1/campaigns/{campaign_id}/start` Start or resume a campaign not_started → launches the pipeline; paused → resumes sending; failed → retries failed stages; already running → idempotent accepted. Requires current paid send entitlement (Free / past_due → 402 paid_required). Always available re: autopilot (no 409 for autopilot). Response shape: { "accepted": true } ### `POST /api/v1/campaigns/{campaign_id}/stop` Pause a campaign Stops new sends; inbound replies are still watched. Idempotent. Response shape: { "accepted": true } ### `GET /api/v1/campaigns/{campaign_id}/inbox` List inbox conversations Threads for one campaign (identities). Requires CURRENT ACTIVE paid Founder/Growth; Free / past_due / canceled return 402 paid_required. Use person_id with the thread and reply endpoints. Query: - `tab`: need_reply (default) | got_reply | all Response shape: { "conversations": [{ "person_id", "email", "name", "latest_intent", "can_reply" }] } ### `GET /api/v1/campaigns/{campaign_id}/inbox/{person_id}` Read a conversation thread Full thread plus the lead profile. Requires CURRENT ACTIVE paid Founder/Growth (402 paid_required on Free / past_due / canceled). can_reply is false for unsubscribe or no inbound yet. Response shape: { "person_id", "can_reply", "lead": {...}, "messages": [...] } ### `POST /api/v1/campaigns/{campaign_id}/inbox/{person_id}/reply` Reply in a thread Uses the same send path as the in-app Inbox. Requires CURRENT ACTIVE paid Founder/Growth (402 paid_required on Free / past_due / canceled). You write only the body. Body: - `body_text`: plain text; recipient, Re: subject, and threading are filled in Response shape: { "accepted": true, "message_id", "status" } ### `GET /api/v1/hot-leads` List hot leads Inbound replies classified as hot, oldest first. Requires CURRENT ACTIVE paid Founder/Growth (402 paid_required on Free / past_due / canceled). Poll with ?since=. phone is always null (we do not store phone numbers). reason/campaign/detected_at are kept for older clients. Query: - `since`: ISO 8601 exclusive lower bound on became_hot_at (preferred for polling) - `cursor`: alias for since (older clients) - `campaign_id`: optional campaign filter Response shape: { "leads": [{ "person_id", "campaign_id", "project_id", "name", "email", "job_title", "company_name", "company_domain", "linkedin_url", "country", "phone", "why_hot", "became_hot_at" }], "next_cursor" } ### `POST /api/v1/suppressions` Add a suppression Project-wide suppress list (not named lists). Cancels queued sends that match. type is required. Body: - `type`: "person" | "domain" (required) - `email`: for type=person - `domain`: for type=domain - `linkedin_url`: optional person identifier - `name_company`: optional person identifier Response shape: { "ok": true } ## Hosted MCP tools These tools call the same operations as `/api/v1/*` (do not invent endpoints). - `list_projects` — The project this API key belongs to. - `get_project_analytics` — Project totals and per-campaign breakdown. - `get_project_budget` — Daily budget in cents. - `set_project_budget` — Set the project daily budget in cents (0 pauses spend). - `get_autopilot` — Whether project autopilot / auto-scaler is on. - `set_autopilot` — Turn project autopilot on or off. - `list_campaigns` — Campaigns with status and stats for a short how-each-is-doing summary. - `get_campaign` — Campaign definition (offer, audience, budget, status). - `get_campaign_leads` — People targeted by a campaign. - `get_campaign_analytics` — Period-filtered campaign stats. - `set_campaign_budget` — Per-campaign daily spend cap in cents. - `start_campaign` — Launch, resume, or retry a campaign. Idempotent if already running. - `stop_campaign` — Pause sending. Idempotent. - `list_inbox` — Inbox conversations for a campaign. - `get_inbox_thread` — Full conversation plus lead profile. - `reply_to_lead` — Send body_text on the existing thread. Recipient and subject are filled in. - `get_hot_leads` — Hot replies as enriched contacts. Poll with since (ISO 8601). - `add_suppression` — Suppress a person or domain. type is required. ## Honest limitations - No public search/enrich, campaign CSV-import, lead-notes, named suppress-lists, billing top-up, or Explee-style data-platform endpoints. - No `phone` on people — the field is always `null`. - Emails are visible on the API. - Autopilot does not lock start/budget the way Explee's agent-owned mode does.