{
  "id": "06-ortto",
  "slug": "ortto",
  "normalized_name": "ortto",
  "name": "Ortto",
  "vendor_url": "ortto.com",
  "category": "revops-infra",
  "what_it_does": "A combined customer data platform and marketing automation tool for building multi-channel journeys across email, SMS, push, in-app and live chat.",
  "ai_features": "The MCP layer gives natural-language access to campaign, audience and report data. The journey logic itself is rules-based automation, not AI.",
  "mcp_status": "official",
  "mcp_url": "https://mcp-api-us.ortto.app/mcp (docs: https://help.ortto.com/a-910-ortto-mcp; region variants at mcp-api-eu and mcp-api-au)",
  "mcp_auth": "A scoped JWT key created as an MCP data source inside the Ortto account, passed as a \"jwt\" query parameter on the URL.",
  "api_gate": "paid",
  "revops_role": "Customer data and lifecycle-marketing layer sitting beside the CRM, useful for pulling campaign performance into pipeline analysis.",
  "tier": "RESEARCHED",
  "last_checked": "2026-08-25",
  "sources": "https://help.ortto.com/a-910-ortto-mcp, https://help.ortto.com/a-911-using-ortto-mcp-with-claude, https://ortto.com/",
  "notes": "Added 2026-08-25 in the coverage sweep. Endpoints are region-pinned: US, EU and AU variants at mcp-api-us, mcp-api-eu and mcp-api-au respectively, so the wrong region simply will not authenticate. SECURITY DESIGN WORTH FLAGGING TO READERS: the credential is passed as a URL query parameter rather than a header, which means it can land in proxy logs, browser history and referrer headers in a way a header-based key does not. That is a vendor design choice, stated here as an observation from the vendor's own documented setup, not as a tested finding. MCP calls consume the standard Ortto API rate limit for the account's plan. NOT VERIFIED: the minimum plan required for MCP; the vendor states only that a 14-day trial exists.",
  "mcp_status_bucket": "official",
  "api_gate_bucket": "paid",
  "mcp_urls": [
    "https://mcp-api-us.ortto.app/mcp",
    "https://help.ortto.com/a-910-ortto-mcp"
  ],
  "source_urls": [
    "https://help.ortto.com/a-910-ortto-mcp",
    "https://help.ortto.com/a-911-using-ortto-mcp-with-claude",
    "https://ortto.com/"
  ],
  "source_annotations": [],
  "vendor_domain": "ortto.com",
  "display_name": "Ortto",
  "docs_url": "https://help.ortto.com/a-910-ortto-mcp",
  "jobs": [
    "run-email-sequence",
    "read-outreach-performance",
    "answer-inbound-chat",
    "run-automation-workflow"
  ],
  "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": [],
  "docs_digest": null,
  "docs_last_crawled": null,
  "submission": null,
  "mcp_tools": [],
  "mcp_tool_count": 0,
  "mcp_tools_evidence": null,
  "mcp_tools_repo": null,
  "mcp_tools_repo_party": null,
  "mcp_catalog_shape": null,
  "mcp_catalog_note": null,
  "mcp_tools_fetched_on": null,
  "cli_status": "none-found",
  "cli_party": null,
  "cli_binary": null,
  "cli_install": [],
  "cli_login": null,
  "cli_commands_seen": [],
  "cli_docs_url": null,
  "cli_repo": null,
  "cli_packages": [],
  "cli_evidence": null,
  "cli_checked_on": "2026-09-27",
  "github_org": "autopilot3",
  "github_org_status": "resolved",
  "github_org_url": "https://github.com/autopilot3",
  "github_org_evidence": {
    "rule": "rule 3",
    "url": "search q=Ortto",
    "matched_domain": "ortto.com",
    "via": "website",
    "detail": "account website https://ortto.com has the vendor's domain",
    "confidence": "strong",
    "candidates_rejected": []
  },
  "github_org_repos": 7,
  "github_org_repos_mcp": 0,
  "github_org_repos_cli": 0,
  "github_org_latest_activity": "2026-09-04T01:04:43Z",
  "github_org_recent_repos": [
    {
      "name": "ortto-push-ios-sdk",
      "url": "https://github.com/autopilot3/ortto-push-ios-sdk",
      "kind": "sdk",
      "description": null,
      "stars": 0,
      "pushed_at": "2026-09-04",
      "latest_release": "v1.10.0"
    },
    {
      "name": "ortto-flutter-sdk",
      "url": "https://github.com/autopilot3/ortto-flutter-sdk",
      "kind": "sdk",
      "description": "Ortto flutter SDK",
      "stars": 2,
      "pushed_at": "2026-07-23",
      "latest_release": "v0.4.8"
    },
    {
      "name": "ortto-push-android-sdk",
      "url": "https://github.com/autopilot3/ortto-push-android-sdk",
      "kind": "sdk",
      "description": null,
      "stars": 0,
      "pushed_at": "2026-07-23",
      "latest_release": "v1.8.7"
    },
    {
      "name": "ortto-magento2-connector",
      "url": "https://github.com/autopilot3/ortto-magento2-connector",
      "kind": "plugin-or-integration",
      "description": "Ortto Magento Extension",
      "stars": 0,
      "pushed_at": "2026-02-05",
      "latest_release": "v24.1.0"
    },
    {
      "name": ".github",
      "url": "https://github.com/autopilot3/.github",
      "kind": "other",
      "description": null,
      "stars": 0,
      "pushed_at": "2026-01-29",
      "latest_release": null
    }
  ],
  "github_org_checked_on": "2026-09-08",
  "mcp_endpoint": "https://mcp-api-us.ortto.app/mcp",
  "mcp_docs_url": null,
  "endpoint_status": "auth-wall",
  "endpoint_http_status": 401,
  "endpoint_last_probed": "2026-09-04",
  "endpoint_wall_note": "This host answered an auth challenge at every path probed, including one that cannot exist, so the 401 proves an auth wall and not a running MCP server. Demoted from live on 2026-09-27.",
  "canonical": true,
  "canonical_id": "06-ortto",
  "also_listed_in": [],
  "source_file": "06-revops-infra.md",
  "source_line": 511,
  "file_index": 22,
  "category_num": "06",
  "category_slug": "revops-infra",
  "category_label": "RevOps Infra",
  "heading": "Ortto",
  "missing_schema_fields": [],
  "extra_fields": {},
  "display_rank": 120
}
