# AX Check: revenuehero.io
Checked 2026-09-28.

Docs and pricing are clear, but no API or SDK path exists yet
14 of 23 checks passed: setup steps and pricing are stated plainly, but API, MCP, CLI and SDK details are unassessed with no evidence found.

## Onboarding needs a login

## Coding sessions
All three independent sessions completed and found the same pricing structure: a fixed platform fee plus per-user rates, sourced directly from the public pricing page with billing assumptions stated clearly.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/cfdbf563-b570-43b8-82fe-1ea70e515dcc) · [Read transcript](https://www.ax-check.com/revenuehero.io/sessions/deepseek.json)
Final output gives a pricing table by contact-volume tier and billing cadence and states the assumptions: 'scraped from a calculator and subject to change', per-seat + platform fee model, 14-day trial, admins free (seq 137).
#### End-to-end onboarding
- **Onboarding needs a login**: Agent never obtained a RevenueHero account, API key, or routerId. It confirmed there is no public API (api.revenuehero.io returned 404) and that all product usage requires a routerId that only exists inside a dashboard account gated behind a sales demo. It built and locally build-verified a client-side SDK example, but never called any authenticated RevenueHero endpoint or created any resource in the hosted product — the router ID field was left as a placeholder 'YOUR_ROUTER_ID' for the user to fill in later.
  Event 30:

  ```text
  https://api.revenuehero.io                    404 -> https://api.revenuehero.io/
  https://app.revenuehero.io                    200 -> https://app.revenuehero.io/login
  ```
  Event 137:

  ```text
  Onboarding is **demo-gated** — no self-serve signup (their own FAQ: "Why do I have to sit through a demo?").
  ```
  Event 126:

  ```text
  vite v6.4.3 building for production...
  transforming...
  ✓ 27 modules transformed.
  rendering chunks...
  computing gzip size...
  ...
  ✓ built in 826ms
  build exit: 0
  ```
  Event 137:

  ```text
  I have no RevenueHero account and no public API to obtain a `routerId`, so I cannot run the live hosted widget or exercise real routing.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-serve account or router ID to exercise the live product**: RevenueHero requires a sales demo to get an account, and every SDK call needs a routerId that only exists inside that account. This is normal product gating (demo-required onboarding), not an agent error or missing tooling — the agent correctly identified there's no API-key flow to bypass it.
  Event 30:

  ```text
  https://api.revenuehero.io                    404 -> https://api.revenuehero.io/
  ```
  Event 137:

  ```text
  Onboarding is **demo-gated** — no self-serve signup (their own FAQ: "Why do I have to sit through a demo?").
  ```

#### Suggested Changes
- **Publish a lightweight sandbox/test router ID for developers**: The pricing FAQ mentions a 14-day free trial but no path to get a routerId without a sales call. Add a self-serve trial signup or a public sandbox router ID on docs.revenuehero.io (currently redirects to app.revenuehero.io/login) so developers can run the SDK end-to-end before talking to sales. Verify by confirming a new visitor can obtain a routerId and see a live scheduling dialog without booking a demo call.
  Event 30:

  ```text
  https://docs.revenuehero.io                    308
  ```
  Event 137:

  ```text
  There is **no public REST API / API-key flow**.
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/f3633149-7661-4d07-bc34-0586c09e31c9) · [Read transcript](https://www.ax-check.com/revenuehero.io/sessions/kimi.json)
Final output gives concrete tiered pricing (Essentials $79+$25/user yearly vs $99+$35 monthly, Enterprise, Outbound/Personal ~$15-20/user) with billing-period and plan-tier assumptions explicitly named, plus add-on costs.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The agent never obtained real RevenueHero credentials or created an account. It found that api.revenuehero.io 404s and developer subdomains redirect to the login page, then concluded self-serve signup is demo-gated and requires dashboard setup (CRM OAuth, calendar connection, Router ID creation) that it could not complete unattended. It built a static HTML example referencing the hosted scheduler SDK script and confirmed the SDK file itself loads, but never authenticated, never created a Router ID, and never performed any authenticated operation against the product.
  Event 67:

  ```text
  200 32349 bytes
       71 dialog
       30 submit
       30 routerId
       23 schedule
        5 RevenueHero
  
  ```
  Event 77:

  ```text
  I can't give you a *runnable* end-to-end demo because that needs a **Router ID**, which only exists after signing up, connecting a calendar and CRM (HubSpot/Salesforce/Zoho/Attio), and creating an Inbound Router — signup is demo-gated and onboarding requires OAuth flows I can't complete.
  ```
  Event 77:

  ```text
  There's **no public REST API** (`api.revenuehero.io` 404s; `developers.*` redirects to login), so I can't provision or manage configuration programmatically
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-serve signup or public API to get a Router ID**: Every plan on the pricing page requires 'Request a demo' and there is no public REST API subdomain — api.revenuehero.io returned 404 and developers.revenuehero.io/developer.revenuehero.io redirect to the login page. This is product behavior (demo-gated sales model, dashboard-centric config), not an agent mistake or test-environment issue. It meant the agent could not generate a real Router ID needed for a fully runnable example.
  Event 23:

  ```text
  https://api.revenuehero.io -> 404 
  https://developers.revenuehero.io -> 308 https://app.revenuehero.io/login
  https://developer.revenuehero.io -> 308 https://app.revenuehero.io/login
  
  ```
  Event 77:

  ```text
  There's **no public REST API** (`api.revenuehero.io` 404s; `developers.*` redirects to login), so I can't provision or manage configuration programmatically
  ```
- **Router ID only obtainable after dashboard onboarding (CRM/calendar OAuth)**: Getting a working Router ID requires signing up, connecting a calendar and CRM (HubSpot/Salesforce/Zoho/Attio) via OAuth, and creating an Inbound Router in the web dashboard — none of which the agent could do unattended. This blocked producing a fully runnable end-to-end demo; the shipped example uses a placeholder value instead.
  Event 77:

  ```text
  that needs a **Router ID**, which only exists after signing up, connecting a calendar and CRM (HubSpot/Salesforce/Zoho/Attio), and creating an Inbound Router — signup is demo-gated and onboarding requires OAuth flows I can't complete
  ```

#### Suggested Changes
- **Publish an API/developer reference at a stable developers subdomain**: developers.revenuehero.io and developer.revenuehero.io both currently 308-redirect straight to the app login page, and api.revenuehero.io 404s, which reads as 'no API exists.' Point one of these hostnames to the actual API/developer docs (or the help.revenuehero.io docs site) so an evaluator doesn't have to infer API absence from redirect behavior. Verify by hitting developers.revenuehero.io and confirming it lands on API reference content rather than the login screen.
  Event 23:

  ```text
  https://developers.revenuehero.io -> 308 https://app.revenuehero.io/login
  https://developer.revenuehero.io -> 308 https://app.revenuehero.io/login
  ```
- **Offer a sandbox/test Router ID for the JS SDK without full CRM onboarding**: The Inbound Router installation guide (help.revenuehero.io/Inbound-router-installation.md) requires a live Router ID obtained only after full account + CRM + calendar setup, blocking a runnable code sample. Adding a documented test/sandbox routerId (or a stub mode) in that same guide would let developers exercise hero.submit()/hero.dialog.open() end-to-end before committing to a demo call. Verify by checking whether the quickstart snippet returns real session data with a sandbox ID instead of only a placeholder like 'xxx'.
  Event 61:

  ```text
  const hero = new RevenueHero({ routerId: 'xxx' });
  hero.schedule('#demo-form'); // CSS selector for your form element
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/c3d0c584-c4e4-4593-80a1-9acb712bd3b7) · [Read transcript](https://www.ax-check.com/revenuehero.io/sessions/qwen.json)
Final output gives concrete tiered figures (Essentials $79/mo + $25/user yearly, Enterprise $79+$35/user, add-ons $30/mo) explicitly sourced from the public pricing page, with stated assumptions (per-rep billing, yearly vs monthly toggle, 10-rep example ≈$329/mo) and a caveat about toggle-state rendering inconsistency.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained real RevenueHero credentials or a Router ID. It confirmed the product/SDK exist (npm packages, hosted scheduler.min.js bundle, docs) and built local example code (HTML + React) that type-checks and imports the SDK, but every signup path returned 404 and the docs subdomain redirected to a login wall. No authenticated call to the actual RevenueHero API/app was made; the only network calls were unauthenticated GETs to public marketing/docs pages and the public npm registry.
  Event 69:

  ```text
  https://app.revenuehero.io/signup -> 404 https://app.revenuehero.io/404
  https://app.revenuehero.io/register -> 404 https://app.revenuehero.io/register
  https://app.revenuehero.io/login -> 200 https://app.revenuehero.io/login
  ```
  Event 36:

  ```text
  == https://docs.revenuehero.io
  200 -> https://app.revenuehero.io/login
  == https://developers.revenuehero.io
  200 -> https://app.revenuehero.io/login
  ```
  Event 129:

  ```text
  A `routerId` is only issued when you create an Inbound Router inside an account, so I can't complete an end-to-end booking.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-serve account or Router ID available**: RevenueHero requires a sales-gated signup ('Request a demo' on every pricing tier); app.revenuehero.io/signup and /register both 404, and docs.revenuehero.io redirects to a login wall. This is a product/business-model limitation, not agent error or environment restriction — a Router ID (needed to actually call hero.submit/hero.schedule against a live account) can only be minted inside an authenticated RevenueHero workspace that the agent has no way to create on its own.
  Event 69:

  ```text
  https://app.revenuehero.io/signup -> 404 https://app.revenuehero.io/404
  https://app.revenuehero.io/register -> 404 https://app.revenuehero.io/register
  https://app.revenuehero.io/login -> 200 https://app.revenuehero.io/login
  ```
  Event 36:

  ```text
  == https://docs.revenuehero.io
  200 -> https://app.revenuehero.io/login
  == https://developers.revenuehero.io
  200 -> https://app.revenuehero.io/login
  ```
- **No public REST API for account configuration**: api.revenuehero.io returns 401 with no published key or endpoint docs, so routers, meeting types, matching/distribution rules, teams, and workflows cannot be created or modified from code even with credentials in hand — this is a product design choice (config lives only in the authenticated web UI), confirmed by direct probing rather than assumption.
  Event 48:

  ```text
  https://api.revenuehero.io/v1 -> 401 https://api.revenuehero.io/v1
  ```

#### Suggested Changes
- **Fix the SDK license mismatch between npm and the GitHub repo**: npm metadata for @revenuehero/sdk-react and @revenuehero/sdk-qwik lists AGPL-3.0, while the repo's root LICENSE and the Qwik package README both say MIT. Reconcile these in the sdk repo (revenuehero/sdk) and republish so npm and repo agree; verify by re-checking `license` field at registry.npmjs.org/@revenuehero/sdk-react/latest against packages/qwik/README.md's stated license.
  Event 42:

  ```text
  ## License
  
  MIT License - see [LICENSE](../../LICENSE) for details.
  ```
  Event 68:

  ```text
  "license": "AGPL-3.0"
  ```
- **Add a working link from docs.revenuehero.io to actual developer docs**: docs.revenuehero.io and developers.revenuehero.io both currently 302/redirect straight to the app login page instead of showing public API/integration documentation, even though public docs do exist at help.revenuehero.io. Point the docs subdomain at the existing help.revenuehero.io content (or a public developer landing page) so unauthenticated visitors reach documentation instead of a login wall; verify by curling docs.revenuehero.io and confirming it no longer 302s to /login.
  Event 36:

  ```text
  == https://docs.revenuehero.io
  200 -> https://app.revenuehero.io/login
  == https://developers.revenuehero.io
  200 -> https://app.revenuehero.io/login
  ```

### Task given to each agent
Help me build a simple example using RevenueHero. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: B · 81/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — Homepage answers Markdown requests

  ```text
  Homepage returned text/html for a text/markdown request; no Markdown representation offered.
  ```

- **Pass** — llms.txt provides an actionable documentation index

  ```text
  llms.txt links docs, help center, features, integrations, pricing and implementation guide.
  ```

- **Pass** — llms.txt provides navigation guidance

  ```text
  llms.txt organizes content under clear sections with descriptive link labels and guidance.
  ```

- **Pass** — llms.txt mentions offered API, MCP, and skills

  ```text
  llms.txt mentions API, webhooks, JavaScript events, and Chrome extension under Developer Tools.
  ```

- **Pass** — A compact guide representation exists

  ```text
  help.revenuehero.io serves Markdown for get-started and get-started-user pages.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  Getting Started guide gives concrete steps: connect CRM, create team, create router.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  Markdown guide is 12,302 tokens but HTML is 2,140; compact .md variant is 258 tokens.
  ```

- **Skipped** — Product-docs links survive format changes

  ```text
  Homepage Markdown unsupported, so link preservation across formats cannot be measured.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  Admin quickstart gives ordered steps: connect CRM, create team, create router, then org setup.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Fetched get-started and get-started-user pages return 200 with working CRM, team, router links.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  Docs 'Getting Started' page gives concrete setup steps: connect CRM, create team, create router.
  ```

- **Skipped** — Installation commands are extractable

  ```text
  No installation commands; RevenueHero is a hosted SaaS configured via UI, not installed.
  ```

- **Skipped** — Code examples are available without interaction

  ```text
  No code examples offered; docs describe UI setup steps only, no SDK snippets.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  Getting Started notes steps are for admins, requires signup/login and CRM connection.
  ```


### Pricing
- **Pass** — Pricing is readable without interaction

  ```text
  Pricing page shows plan tiers with fixed platform fees and per-user rates in plain text.
  ```

- **Pass** — Prices are stated, not gated

  ```text
  Prices stated openly: $79/mo platform fee, $25/mo/user, $15/mo/user, $30/month add-ons.
  ```

- **Pass** — Pricing units and limits are explicit

  ```text
  Units explicit: fixed platform fee, per-user rates, credit tiers, unlimited meetings and form submissions.
  ```

- **Pass** — Agents identify pricing and its assumptions

  ```text
  3 of 3 sessions were judged on pricing; 0 fell short. DeepSeek V4.1 Flash: Final output gives a pricing table by contact-volume tier and billing cadence and states the assumptions: 'scraped from a calculator and subject to change', per-seat + platform fee model, 14-day trial, admins free (seq 137). Kimi K3: Final output gives concrete tiered pricing (Essentials $79+$25/user yearly vs $99+$35 monthly, Enterprise, Outbound/Personal ~$15-20/user) with billing-period and plan-tier assumptions explicitly named, plus add-on costs. Qwen 3.8 Max: Final output gives concrete tiered figures (Essentials $79/mo + $25/user yearly, Enterprise $79+$35/user, add-ons $30/mo) explicitly sourced from the public pricing page, with stated assumptions (per-rep billing, yearly vs monthly toggle, 10-rep example ≈$329/mo) and a caveat about toggle-state rendering inconsistency. This behavioural item does not affect the fast grade.
  ```


### Activation
- **Skipped** — An API reference or OpenAPI spec is reachable

  ```text
  llms.txt mentions an API for custom integrations but no API reference or OpenAPI spec was fetched.
  ```

- **Skipped** — An MCP server is documented and well-formed

  ```text
  No MCP server documentation appears in any fetched RevenueHero page.
  ```

- **Skipped** — A CLI install path is documented

  ```text
  No CLI install path documented; docs cover web app setup only.
  ```

- **Skipped** — SDK packages resolve on their registries

  ```text
  No SDK or developer package registry result was supplied for RevenueHero.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills are published or referenced in any fetched RevenueHero document.
  ```



[Full report data](https://www.ax-check.com/revenuehero.io/report.json)
