Quick Start
Get Rover running on your site in under 2 minutes.
Prerequisite: Rover requires an active rtrvr.ai account with available Rover credits. Free Rover sites get 300 credits. Check your balance in the Workspace or upgrade at rtrvr.ai.
Create a Site Key
Go to the Rover Workspace and start Guided Launch. In most cases, keep Rover Agent selected, because it already includes Agent analytics. Enter your main domain once, keep the default scope of This domain and its subdomains, add any launch journeys you want, then open Install to copy the exact production snippet for your site.
The final review step is a check-and-change surface. Click any review row to jump back to the right section, make the edit, and return to review without losing the rest of your launch draft.
If you already have an active key with the right domains/policy, reuse it. Replace the key only when policy changes, key compromise, or planned credential rollover require a new public key.
Turn on Cloud sandboxes only when Rover should be able to use cloud execution plus approved third-party browsing. That single owner-facing control materializes the lower-level scrape/browser settings for you.
Workspace now also owns Agent analytics setup for the selected site. Use Settings for follow-up prompts and notification webhooks, then use overview, analytics, and trajectories for read-only AX analytics.
Guided Launch now defaults new production site keys to No expiry. Change TTL only if you deliberately want a rollover window.
Workspace keeps launch guided by default and moves deeper controls into Settings. Managed snippets keep apiBase fixed to https://agent.rtrvr.ai.
In Rover v2, outside-domain pages open in a new tab with notice, and Rover chooses the right tab automatically for allowed-host hops.
registrable_domain, example.com allows example.com and all subdomains. *.example.com allows subdomains only, not the apex host. host_only makes plain entries exact-host only and blocks sibling subdomains unless you list them explicitly.Add the Embed Script
In Install, copy the exact Workspace-generated snippet and paste it before your closing </body> tag. The shape looks like this:
<script
src="https://rover.rtrvr.ai/embed.js?v=replace_with_rover_site_key_id"
async
data-site-id="replace_with_rover_site_id"
data-public-key="replace_with_rover_public_key_pk_site"
data-site-key-id="replace_with_rover_site_key_id"></script>These code blocks show the shape of the install. For production, copy the exact Workspace-generated snippet instead of hand-maintaining these values.
Rover keeps the required production snippet compact. AI discovery extras such as agent-card.json, rover-site.json, the full A2W Link header, and llms.txt stay optional and are managed separately from the script tag.
Activity / Insights, install source, billing state, domain policy, and feature configuration are resolved from Rover's backend after bootstrap; they are not copied into the DOM.
Configure Rover
Rover boots itself from the script tag, then fetches the saved site configuration from the backend.
Replace placeholders with the exact Workspace values: siteId, publicKey (pk_site_*), and siteKeyId for embed cache-busting and key-rotation rollouts. See Configuration for all available options.
In the default registrable_domain mode, a plain entry like example.com already covers the apex host and subdomains, so you usually do not need to add both example.com and *.example.com.
Runtime API contracts for /v2/rover/* (session bootstrap, run input/control, tab events, SSE, snapshots) are documented in API Reference.
Public AI / CLI access uses the neutral A2W run resource at https://agent.rtrvr.ai/v1/a2w/runs. POST is canonical for API agents; URL-fetch chatbots can use GET with execution=cloud&format=markdown, follow rover_exec, or resolve a browser deep link through /v1/a2w/from-url. External AI callers do not need your siteId, publicKey, or siteKeyId.
A2W callers may optionally send an agent object to self-report their identity. If they do not, Rover falls back to lightweight heuristics such as Signature-Agent and User-Agent, then anonymous fallback.
Keep taskRouting.mode: 'act' for latency-first defaults. If you switch to 'auto', planner fallback only runs when ACT does not return a usable outcome.
Task isolation is strict in Rover v2: each normal user send starts a fresh task boundary; only ask_user answers continue the same boundary. Optional task.followup.* settings carry chat cues only.
Shortcuts, greeting, voice dictation, voice narration, Action Spotlight default/color, Activity / Insights, and page-capture settings configured in Workspace are fetched from cloud automatically. Site-key policy controls effective shortcut limits at runtime. Advanced boot overrides remain supported for custom integrations, but they are not part of the default production snippet.
Voice dictation ships as draft-only browser dictation in v1. On supported Chromium browsers, add ui.voice to boot config or enable it in Workspace, let Rover fill the draft live, allow natural pauses while speaking, then keep manual send as the last step.
Those per-site page-capture settings are separate from global cloud or extension user settings. New Workspace and Webflow installs materialize pageConfig.disableAutoScroll: true by default; enable automatic scrolling only when Rover should scroll while inspecting below-the-fold content. Voice narration is also site-owned: it defaults to guide flows, uses browser Web Speech only, and lets visitors override voice/language locally for narration and dictation. Mascot sound stays separate: Workspace or Webflow keeps it off unless the owner enables it for that site, then the generated install bundle materializes ui.mascot.soundEnabled: true and optional ui.muted automatically.
In Workspace, Save Site Config writes to the currently selected key. During new key creation, the current site config is auto-saved to the newly created key.
Async User Identity (Recommended)
If login happens after boot, send user details with rover.identify(...).
// Async login/user hydration example
// Call after your auth flow resolves:
window.rover?.identify({
name: user.fullName,
email: user.email,
});Complete Snippet
<!-- Add before </body> -->
<script
src="https://rover.rtrvr.ai/embed.js?v=replace_with_rover_site_key_id"
async
data-site-id="replace_with_rover_site_id"
data-public-key="replace_with_rover_public_key_pk_site"
data-site-key-id="replace_with_rover_site_key_id"></script>Keep using the generated version from Install for production so site policy and key rotation stay aligned.
If you installed Rover through Webflow or Wix, do not paste this snippet manually into the site. Rover publishes the same canonical embed contract through each platform's native install mechanism.
Need AI discovery extras?
Keep Quick Start focused on the required production path. If you want stronger machine-readable discovery beyond the generated snippet, follow the dedicated guide instead.
Read AI Discoveryrtrvr-cloud-website Env Mapping
If you integrate Rover through app/layout.tsx, these are the runtime override envs that path actually reads.
For this repo's own rtrvr.ai deploy, the Rover siteId, publicKey, and siteKeyId are checked into lib/rtrvr-ai-rover-site.ts, not read from env. For customer sites and third-party installs, keep using the Workspace-generated snippet and values above.
# Required
NEXT_PUBLIC_ROVER_ALLOWED_DOMAINS=rtrvr.ai
NEXT_PUBLIC_ROVER_DOMAIN_SCOPE_MODE=registrable_domain
NEXT_PUBLIC_ROVER_API_BASE=https://agent.rtrvr.ai
NEXT_PUBLIC_ROVER_ENABLE_EXTERNAL_WEB_CONTEXT=true
NEXT_PUBLIC_ROVER_EXTERNAL_SCRAPE_MODE=on_demandWhat Happens Next
Rover loads asynchronously — zero impact on page performance.
It reads your live DOM to understand the page structure.
A chat widget appears (or you can trigger it programmatically).
Workspace journeys appear as shortcut cards/chips when no task is running.
Users describe what they want; Rover clicks, fills, and navigates for them.
If Agent analytics is enabled, visits, reviews, interviews, notes, and trajectories stream into the Rover Workspace dashboard for that site.