Examples
Common integration patterns for different use cases.
Basic Setup
Minimal configuration to get Rover running on your site.
<script>
(function(){ var r = window.rover = window.rover || function(){ (r.q = r.q || []).push(arguments); }; r.l = +new Date(); })();
rover('boot', {
siteId: 'my-site',
apiKey: 'rtrvr_your_key',
allowedDomains: ['example.com'],
});
</script>
<script src="https://rover.rtrvr.ai/embed.js" async></script>Onboarding Flow
Auto-open Rover for new users to guide them through product setup.
<script>
(function(){ var r = window.rover = window.rover || function(){ (r.q = r.q || []).push(arguments); }; r.l = +new Date(); })();
const isNewUser = !localStorage.getItem('onboarded');
rover('boot', {
siteId: 'my-app',
apiKey: 'rtrvr_your_key',
allowedDomains: ['app.example.com'],
openOnInit: isNewUser,
taskRouting: { mode: 'auto', plannerOnActError: true },
checkpointing: { enabled: true, autoVisitorId: true },
});
</script>
<script src="https://rover.rtrvr.ai/embed.js" async></script>Checkout Assistant
Help users complete checkout by filling addresses, applying promos, and handling payment flows.
<script>
(function(){ var r = window.rover = window.rover || function(){ (r.q = r.q || []).push(arguments); }; r.l = +new Date(); })();
rover('boot', {
siteId: 'my-store',
apiKey: 'rtrvr_your_key',
allowedDomains: ['shop.example.com', 'checkout.example.com'],
domainScopeMode: 'registrable_domain',
externalNavigationPolicy: 'block',
allowActions: true,
taskRouting: { mode: 'auto', plannerOnActError: true },
});
</script>
<script src="https://rover.rtrvr.ai/embed.js" async></script>Form Assistance
Guide users through complex multi-step forms with validation and auto-fill.
<script>
(function(){ var r = window.rover = window.rover || function(){ (r.q = r.q || []).push(arguments); }; r.l = +new Date(); })();
rover('boot', {
siteId: 'my-portal',
apiKey: 'rtrvr_your_key',
allowedDomains: ['portal.example.com'],
sessionScope: 'tab',
taskRouting: { mode: 'planner' },
checkpointing: { enabled: true, autoVisitorId: true },
});
</script>
<script src="https://rover.rtrvr.ai/embed.js" async></script>Read-Only Support Agent
Rover helps users find information and navigate, but doesn't take actions.
<script>
(function(){ var r = window.rover = window.rover || function(){ (r.q = r.q || []).push(arguments); }; r.l = +new Date(); })();
rover('boot', {
siteId: 'my-help',
apiKey: 'rtrvr_your_key',
allowedDomains: ['help.example.com'],
allowActions: false,
externalNavigationPolicy: 'open_new_tab_notice',
});
</script>
<script src="https://rover.rtrvr.ai/embed.js" async></script>Strict Security Mode
Maximum lockdown: host-only match, no external navigation, strict scoping.
<script>
(function(){ var r = window.rover = window.rover || function(){ (r.q = r.q || []).push(arguments); }; r.l = +new Date(); })();
rover('boot', {
siteId: 'secure-app',
apiKey: 'rtrvr_your_key',
allowedDomains: ['app.example.com'],
domainScopeMode: 'host_only',
externalNavigationPolicy: 'block',
sessionScope: 'tab',
});
</script>
<script src="https://rover.rtrvr.ai/embed.js" async></script>Need a pattern not listed here? Check the Configuration Reference for all available options, or reach out on Discord.