{
  "id": "02-reply-io",
  "slug": "reply-io",
  "normalized_name": "reply io",
  "name": "Reply.io",
  "vendor_url": "reply.io",
  "category": "engagement-outbound",
  "what_it_does": "Multichannel sales engagement platform for email, LinkedIn, call, and SMS outreach with an AI SDR product layered on top.",
  "ai_features": "\"Jason,\" Reply.io's AI SDR agent, claims to autonomously find prospects, send personalized messages, and manage responses - vendor-stated, genuinely LLM-driven per description but not independently verified. AI-generated icebreakers, first-step emails, and reply categorization are also vendor-claimed AI. Core sequencing/warmup/analytics are plain automation.",
  "mcp_status": "official",
  "mcp_url": "https://reply.io/mcp/ ; repo https://github.com/reply-team/reply-mcp",
  "mcp_auth": "api key (personal API key over HTTPS, included in free trial)",
  "api_gate": "paid",
  "revops_role": "Multichannel outbound sequencing layer with an AI SDR agent tier positioned as a semi-autonomous prospecting add-on.",
  "tier": "RESEARCHED",
  "last_checked": "2026-09-07",
  "sources": "https://reply.io/mcp/, https://reply.io/, https://github.com/reply-team/reply-mcp",
  "notes": "Vendor states API/webhook access is included across all pricing tiers starting at Standard ($59/mo); some MCP operations consume metered API credits. Site returned HTTP 403 to direct fetch and was retrieved via a read-only proxy - treat pricing figures as slightly less certain than directly-fetched pages. 2026-09-07: GitHub org reply-team, repo reply-mcp; README reads \"Reply.io MCP Server - Connect Reply.io to your AI client\" and links reply.io and docs.reply.io/reply-mcp (https://github.com/reply-team/reply-mcp).",
  "mcp_status_bucket": "official",
  "api_gate_bucket": "paid",
  "mcp_urls": [
    "https://reply.io/mcp/",
    "https://github.com/reply-team/reply-mcp"
  ],
  "source_urls": [
    "https://reply.io/mcp/",
    "https://reply.io/",
    "https://github.com/reply-team/reply-mcp"
  ],
  "source_annotations": [],
  "vendor_domain": "reply.io",
  "display_name": "Reply.io",
  "docs_url": null,
  "jobs": [
    "run-email-sequence",
    "send-linkedin-message",
    "draft-personalized-outreach",
    "place-outbound-call",
    "run-autonomous-sdr-agent",
    "warm-up-inbox"
  ],
  "jobs_tagged_by": "machine-pass",
  "jobs_tagged_on": "2026-08-25",
  "github_url": null,
  "github_stars": null,
  "github_last_commit": null,
  "github_archived": null,
  "github_fetched_on": null,
  "github_candidates": [
    "https://github.com/reply-team/reply-mcp",
    "https://github.com/reply-team/reply-mcp"
  ],
  "docs_digest": null,
  "docs_last_crawled": null,
  "submission": null,
  "mcp_tools": [
    {
      "name": "reply_add_contact_to_sequence",
      "description": "Enroll up to 100 existing contacts into a sequence",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_add_knowledge_base_source",
      "description": "Add a web-page URL source to a knowledge base",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_approve_message",
      "description": "Approve one draft and send it immediately",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_assign_email_account_to_sequence",
      "description": "Link a mailbox to a sequence",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_assign_linkedin_account_to_sequence",
      "description": "Link a LinkedIn account to a sequence",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_assign_schedule_to_sequence",
      "description": "Set the sending schedule (business-hours window)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_attach_knowledge_base_to_sequence",
      "description": "Attach a knowledge base to an AI SDR sequence",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_attach_offer_to_sequence",
      "description": "Attach an offer to an AI SDR sequence",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_attach_playbook_to_sequence",
      "description": "Attach a playbook to an AI SDR sequence",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_blacklist_contact",
      "description": "Blacklist a contact's email (or whole domain) from outreach",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_bulk_approve_messages",
      "description": "Approve and send up to 100 drafts (atomic batch)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_change_contact_owner",
      "description": "Reassign up to 100 contacts to another user",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_change_inbox_category",
      "description": "Assign or clear a thread's workspace category",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_change_status_in_sequence",
      "description": "Set one contact's per-sequence status",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_compare_sequence_performance",
      "description": "Side-by-side metrics for up to 25 sequences",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_complete_task",
      "description": "Mark a task completed (with optional call resolution)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_create_contact",
      "description": "Create a contact (needs a name plus email or LinkedIn URL)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_create_knowledge_base",
      "description": "Create a knowledge base",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_create_offer",
      "description": "Create an offer Jason can pitch",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_create_playbook",
      "description": "Create a playbook (Team or Organization visibility)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_create_reengagement_card",
      "description": "Add a reengagement card (with send-after days)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_create_reply_handler",
      "description": "Add a reply handler (question type to instructions)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_create_task",
      "description": "Create a standalone task (ToDo / Call / Meeting / LinkedIn and others)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_delete_knowledge_base_source",
      "description": "Remove a URL source from a knowledge base",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_delete_reengagement_card",
      "description": "Remove a reengagement card",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_delete_reply_handler",
      "description": "Remove a reply handler",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_diagnose",
      "description": "Explain why a sequence isn't sending and how to fix it",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "reply_duplicate_playbook",
      "description": "Duplicate a playbook into a new one",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_filter_contacts",
      "description": "List contacts by list/sequence membership and/or free-text search",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_generate_offer_from_website",
      "description": "Draft offer fields from a company website (does not save)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_get_app_map",
      "description": "Catalog of app areas with in-app navigation steps and links",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_get_contact_activity",
      "description": "Activity history for one contact (sends, opens, replies, calls)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_get_inbox_emails",
      "description": "List inbox threads (email and LinkedIn) with short previews",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_get_knowledge_base",
      "description": "Full detail of one knowledge base (instructions, URL sources)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_get_knowledge_base_article",
      "description": "Read a full Help Center article by slug",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_get_offer",
      "description": "Full offer content (ICP, value props, proof points, CTAs)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_get_playbook",
      "description": "Full playbook, including the instruction body",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_get_reengagement_card",
      "description": "Full detail of one reengagement card",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_get_reply_handler",
      "description": "Full detail of one reply handler",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_get_sequence_stats",
      "description": "Email and LinkedIn performance metrics for one sequence",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_get_sequence_step_variants",
      "description": "Read a message step's A/B content variants (subject, body)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_get_sequence_steps",
      "description": "List a sequence's ordered steps (type, delay, position, variant count)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_list_email_accounts",
      "description": "List mailboxes with connection status, daily limits, tags",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_list_knowledge_bases",
      "description": "List Jason knowledge bases",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_list_linkedin_accounts",
      "description": "List connected LinkedIn accounts with health and tier",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_list_my_tasks",
      "description": "List your tasks, filterable by type / status / due window / contact",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_list_offers",
      "description": "List Jason offers (id plus name)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_list_pending_approvals",
      "description": "The queue of Jason drafts awaiting approval",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_list_playbooks",
      "description": "List Jason playbooks (id, name, visibility)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_list_reengagement_cards",
      "description": "List reengagement (win-back) cards in a knowledge base",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_list_reply_handlers",
      "description": "List reply handlers in a knowledge base",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_list_schedules",
      "description": "List sending schedules (timezone, default flag, slot counts)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_mark_contacts_as_replied",
      "description": "Mark up to 100 contacts as replied (or clear the flag)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_pause_sequence",
      "description": "Pause a sequence; halt in-flight scheduled steps",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_regenerate_message",
      "description": "Ask Jason to rewrite a pending draft (optionally with feedback)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_reject_message",
      "description": "Reject a draft and remove the contact from the sequence",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_report_unsupported_request",
      "description": "Log a capability Reply.io does not have, for the product team",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_search_contacts",
      "description": "Look up contacts by exact email or LinkedIn URL",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_search_knowledge_base",
      "description": "Search the Reply.io Help Center for how-to articles",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_search_lists",
      "description": "Resolve a contact list name to its ListId",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_search_sequences",
      "description": "Find sequences by name / status / archive flag; returns per-sequence summary fields",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_search_team_members",
      "description": "Resolve a teammate name/email to their UserId",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_send_inbox_reply",
      "description": "Send a reply on an existing thread (body only in v1)",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_set_sequence_reply_mode",
      "description": "Set Jason's Review / Autonomous reply mode",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_start_sequence",
      "description": "Start or resume a sequence so it begins sending",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "write"
    },
    {
      "name": "reply_update_contact",
      "description": "Patch fields on an existing contact",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_update_knowledge_base",
      "description": "Rename or edit a knowledge base's instructions",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_update_offer",
      "description": "Patch an offer",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_update_playbook",
      "description": "Patch a playbook",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_update_reengagement_card",
      "description": "Patch a reengagement card",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    },
    {
      "name": "reply_update_reply_handler",
      "description": "Patch a reply handler",
      "required_params": [],
      "evidence": "docs",
      "repo_party": null,
      "source_party": "vendor",
      "risk": "read"
    }
  ],
  "mcp_tool_count": 71,
  "mcp_tools_evidence": "docs",
  "mcp_tools_repo": "reply-team/reply-mcp",
  "mcp_tools_repo_party": "first-party",
  "mcp_catalog_shape": "fixed",
  "mcp_catalog_note": null,
  "mcp_tools_fetched_on": "2026-09-27",
  "cli_status": "official",
  "cli_party": "first",
  "cli_binary": "reply",
  "cli_install": [
    {
      "cmd": "npm install -g reply-cli",
      "manager": "npm",
      "source_url": "https://docs.reply.io/cli/overview",
      "party": "first",
      "fetched_on": "2026-09-27"
    },
    {
      "cmd": "npx -y reply-cli",
      "manager": "npx",
      "source_url": "https://docs.reply.io/cli/overview",
      "party": "first",
      "fetched_on": "2026-09-27"
    }
  ],
  "cli_login": "reply auth",
  "cli_commands_seen": [
    "api",
    "auth",
    "profile",
    "skills",
    "team"
  ],
  "cli_docs_url": "https://docs.reply.io/cli/overview",
  "cli_repo": null,
  "cli_packages": [],
  "cli_evidence": "vendor-docs",
  "cli_checked_on": "2026-09-27",
  "github_org": "reply-team",
  "github_org_status": "resolved",
  "github_org_url": "https://github.com/reply-team",
  "github_org_evidence": {
    "rule": "rule 1",
    "url": "https://github.com/reply-team/reply-mcp",
    "matched_domain": "reply.io",
    "via": "website",
    "detail": "account website https://reply.io has the vendor's domain",
    "confidence": "strong",
    "candidates_rejected": []
  },
  "github_org_repos": 6,
  "github_org_repos_mcp": 1,
  "github_org_repos_cli": 1,
  "github_org_latest_activity": "2026-09-03T10:20:34Z",
  "github_org_recent_repos": [
    {
      "name": "oleg-automate",
      "url": "https://github.com/reply-team/oleg-automate",
      "kind": "other",
      "description": null,
      "stars": 0,
      "pushed_at": "2026-09-03",
      "latest_release": null
    },
    {
      "name": "jason-ai",
      "url": "https://github.com/reply-team/jason-ai",
      "kind": "other",
      "description": null,
      "stars": 1,
      "pushed_at": "2026-08-18",
      "latest_release": null
    },
    {
      "name": "reply-cli",
      "url": "https://github.com/reply-team/reply-cli",
      "kind": "cli",
      "description": null,
      "stars": 1,
      "pushed_at": "2026-08-14",
      "latest_release": "v0.9.0"
    },
    {
      "name": "reply-skills",
      "url": "https://github.com/reply-team/reply-skills",
      "kind": "other",
      "description": null,
      "stars": 1,
      "pushed_at": "2026-08-14",
      "latest_release": null
    },
    {
      "name": "reply-mcp",
      "url": "https://github.com/reply-team/reply-mcp",
      "kind": "mcp-server",
      "description": null,
      "stars": 1,
      "pushed_at": "2026-08-03",
      "latest_release": null
    }
  ],
  "github_org_checked_on": "2026-09-08",
  "mcp_endpoint": null,
  "mcp_docs_url": null,
  "endpoint_status": "unreachable",
  "endpoint_http_status": null,
  "endpoint_last_probed": "2026-09-04",
  "endpoint_wall_note": null,
  "canonical": true,
  "canonical_id": "02-reply-io",
  "also_listed_in": [
    {
      "id": "04-reply-io",
      "name": "Reply.io (Jason AI)",
      "category_num": "04",
      "category_slug": "ai-sdr-agents",
      "source_file": "04-ai-sdr-agents.md",
      "canonical": false
    }
  ],
  "source_file": "02-engagement-outbound.md",
  "source_line": 179,
  "file_index": 9,
  "category_num": "02",
  "category_slug": "engagement-outbound",
  "category_label": "Engagement & Outbound",
  "heading": "Reply.io",
  "missing_schema_fields": [],
  "extra_fields": {},
  "display_rank": 124
}
