{
  "id": "04-reply-io",
  "slug": "reply-io",
  "normalized_name": "reply io",
  "name": "Reply.io (Jason AI)",
  "vendor_url": "https://reply.io",
  "category": "ai-sdr-agents",
  "what_it_does": "A multichannel sales engagement platform whose AI layer (\"Jason AI,\" per widely reported branding) generates outreach emails/follow-ups and automates sequencing across email, calls, and tasks.",
  "ai_features": "AI-assisted email generation and follow-up automation are the confirmed AI pieces (per a fetchable Product Hunt listing); could not directly verify current \"Jason AI\" branding or booking/reply-handling autonomy from the vendor's own site, which blocked automated fetching on every attempt this pass.",
  "mcp_status": "official",
  "mcp_url": "https://reply.io/mcp/ (vendor page); setup docs: https://support.reply.io/en/articles/12955018-connecting-reply-mcp-to-your-ai-model. The MCP Connection URL is issued per account: Reply dashboard > Execution > Integrations > Reply MCP Server > Configure. ; repo https://github.com/reply-team/reply-mcp",
  "mcp_auth": "Personal API key (vendor-recommended, sent as a Bearer token, scoped to the permissions the key allows) or OAuth (used by the Claude connector; grants all available tools).",
  "api_gate": "paid (API is listed across all four published tiers starting at Starter from $59/mo, and the pricing FAQ says the 14-day trial includes API and all integrations)",
  "revops_role": "Multichannel outbound sequencing tool, one of the longer-established players in this category (predates the \"AI SDR\" branding wave).",
  "tier": "RESEARCHED",
  "last_checked": "2026-09-07",
  "sources": "https://www.producthunt.com/products/reply-io, https://reply.io/pricing/, https://reply.io/llms.txt, https://reply.io/mcp/, https://support.reply.io/en/articles/12955018-connecting-reply-mcp-to-your-ai-model, https://github.com/reply-team/reply-mcp",
  "notes": "Sourcing gap flagged honestly: reply.io's own marketing pages (including /jason-ai/) returned HTTP 403 to every automated fetch attempt this pass, so this entry leans on a secondary source. Re-verify directly before bench-testing. [api_gate 2026-08-25] Reclassified unknown -> paid from the vendor's own page (https://reply.io/pricing/): API is listed across all four published tiers starting at Starter from $59/mo, and the pricing FAQ says the 14-day trial includes API and all integrations. 2026-09-02: mcp_status none-found -> official. reply.io answers to a browser user agent (the 403s above were to a bare fetcher): https://reply.io/llms.txt lists \"Reply MCP\" at https://reply.io/mcp/, that page states \"Setup takes 5 minutes and just requires copying your API key\" and names tools including reply_list_sequences, reply_add_contact_to_sequence, reply_start_sequence, reply_pause_sequence, reply_connect_crm and reply_connect_email_account, and the help article (modified 2026-07-10) documents the per-account MCP Connection URL with API key or OAuth and walks through n8n, Make and Claude connectors. No fixed public endpoint is published; the URL is issued inside the account. Plan requirement not stated on either page. 2026-09-07: Same first-party repo as the Reply.io entry: GitHub org reply-team, README \"Reply.io MCP Server\", server.json manifest linking 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://support.reply.io/en/articles/12955018-connecting-reply-mcp-to-your-ai-model",
    "https://github.com/reply-team/reply-mcp"
  ],
  "source_urls": [
    "https://www.producthunt.com/products/reply-io",
    "https://reply.io/pricing/",
    "https://reply.io/llms.txt",
    "https://reply.io/mcp/",
    "https://support.reply.io/en/articles/12955018-connecting-reply-mcp-to-your-ai-model",
    "https://github.com/reply-team/reply-mcp"
  ],
  "source_annotations": [],
  "vendor_domain": "reply.io",
  "display_name": "Reply.io (Jason AI)",
  "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_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_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_compare_sequence_performance",
      "description": "Compare performance across multiple sequences side by side",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "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_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 or a name/email/company search",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "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 Reply.io app areas and what the assistant can do in each",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "reply_get_contact_activity",
      "description": "Get a contact's activity history (emails, LinkedIn, calls, events)",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "reply_get_inbox_emails",
      "description": "List inbox threads (email + LinkedIn) with short previews",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "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": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "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 + LinkedIn performance for one sequence, over any date range",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "reply_get_sequence_step_variants",
      "description": "Get a step's A/B content variants",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "reply_get_sequence_steps",
      "description": "Get a sequence's ordered steps (type, delay, variant count)",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "reply_list_email_accounts",
      "description": "List workspace email accounts (status, daily limit, tags)",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "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 (status, health, tier)",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "reply_list_my_tasks",
      "description": "List your tasks, filtered by type, status, due window, or contact",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "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 (business-hours windows)",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "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": "Report a missing capability to the product team",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "reply_search_contacts",
      "description": "Look up contacts by exact email or LinkedIn URL",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "reply_search_knowledge_base",
      "description": "Search the Reply.io Help Center for how-to answers",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "reply_search_lists",
      "description": "Resolve contact lists to their numeric IDs by name",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "reply_search_sequences",
      "description": "Find sequences by name, status, or archive state",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "reply_search_team_members",
      "description": "Resolve teammates to their numeric user IDs by name or email",
      "required_params": [],
      "evidence": "readme",
      "repo_party": "first-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "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_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": 52,
  "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": false,
  "canonical_id": "02-reply-io",
  "also_listed_in": [
    {
      "id": "02-reply-io",
      "name": "Reply.io",
      "category_num": "02",
      "category_slug": "engagement-outbound",
      "source_file": "02-engagement-outbound.md",
      "canonical": true
    }
  ],
  "source_file": "04-ai-sdr-agents.md",
  "source_line": 182,
  "file_index": 9,
  "category_num": "04",
  "category_slug": "ai-sdr-agents",
  "category_label": "AI SDRs",
  "heading": "Reply.io (Jason AI)",
  "missing_schema_fields": [],
  "extra_fields": {},
  "display_rank": 125
}
