The same on both
- The graph: identity resolution, observations, entities and claims
- Accounts, People, Graph and Activity
- Integrations, webhooks and automations
- API keys, usage and settings
- The full REST API and MCP server
- Insights, over MCP and REST
- RevBoxes and the Job Builder, which turns a chat into a RevBox job. On self-host it runs on your own model keys.
Cloud only
Cloud runs a private layer on top of the open-source code. In the Cloud codebase it lives insrc/cloud/ folders in the API and the frontend; the open-source repository is that codebase without them. The layer contains:
- The in-app agent: chat, routines, skills and the sandbox
- Tasks
- Reports
- Forecasting
- The Insights page. Insights themselves are read and written over MCP and REST on both.
- The Slack connector and agent
- Managed LinkedIn
- Billing
- The learned ICP scorer
- Clerk sign-in
403 cloud_only_feature. The list lives in CLOUD_ONLY_FEATURES in apps/api/src/lib/access.mjs.
The learned ICP scorer trains on your won and lost deals. A self-hosted workspace scores accounts with its own system and posts the results to POST /v2/scores. This is the default on self-host, so there is nothing to switch on.
Moving between them
Both use the same API and the same MCP server. To point an agent at a different instance, pass its API URL:--url, the CLI and MCP server use Cloud at https://api.opennous.cloud.