Skip to content

rv-poc CLI

Sales-rep tool for bootstrapping and operating POC tenants. Single bash script, depends only on curl + jq.

Install

bash
curl -sSL https://docs.rapidvalue.be/rv-poc -o /usr/local/bin/rv-poc
chmod +x /usr/local/bin/rv-poc

Or grab it directly from the repo at scripts/rv-poc.

Configure

The CLI reads config from ~/.rvpoc-config (or env vars override):

bash
# ~/.rvpoc-config
RV_CONTROL_PLANE_URL=https://api.rapidvalue.be
RV_ADMIN_TOKEN=rv_admin_xxx...
RV_SALES_REP_EMAIL=you@rapidvalue.be

Get your RV_ADMIN_TOKEN from sales operations.

Commands

rv-poc bootstrap <slug>

Provision a new POC tenant.

bash
rv-poc bootstrap acme-corp \
  --sector financial-services \
  --contact alice@acme.com \
  --duration 30

Output:

✓ Tenant 'acme-corp' provisioned
✓ Sector pack 'financial-services' installed
✓ Agent registered: agent_xyz123
✓ POC expires: 2026-06-23
✓ Funnel stage: bootstrapped

Customer install one-liner (email this):

  curl -sSL https://acme-corp.rapidvalue.be/agent/install | \
    RV_AGENT_TOKEN=rv_agent_abc... bash

Customer login:        https://acme-corp.rapidvalue.be
Admin dashboard:       https://api.rapidvalue.be/admin/tenants/acme-corp
Funnel dashboard:      https://api.rapidvalue.be/admin/poc/dashboard

Options:

  • --sector — one of: financial-services, healthcare, public-sector, manufacturing, mid-market, ai-enterprise
  • --contact — primary customer email; gets the welcome message
  • --duration — trial length in days, default 30
  • --no-agent — skip the agent setup (for hosted-only POCs)
  • --dry-run — print what would happen without making changes

rv-poc list

Show all POC tenants you've provisioned.

bash
rv-poc list
# or filter by stage:
rv-poc list --stage activated

Output:

SLUG          STAGE         DAYS_LEFT  AGENTS  LAST_ACTIVITY
acme-corp     formalized    18         1 ✓     2h ago
beta-bank     activated     22         1 ✓     1d ago
gamma-health  connected     27         1 ✓     6h ago
delta-mfg     bootstrapped  29         0 ✗     never

The 1 ✓ / 0 ✗ agent column shows agent online status.

rv-poc status <slug>

Detailed status of one tenant.

bash
rv-poc status acme-corp

Shows funnel-stage timestamps, connector list, agent health, recent activity, and recommended next sales action.

rv-poc disable <slug>

Manually expire a POC (for canceled trials, support cases, etc.).

bash
rv-poc disable acme-corp --reason "customer asked to pause"

The tenant flips to read-only immediately (same as natural expiry).

rv-poc installer <slug>

Re-generate the customer install one-liner (e.g. for resending the welcome email).

bash
rv-poc installer acme-corp
# Output: the curl ... bash command

rv-poc report <slug>

Trigger generation + download of the take-home report.

bash
rv-poc report acme-corp --format html --output /tmp/acme-report.html
rv-poc report acme-corp --format md --output /tmp/acme-report.md

Useful when sales needs to mail the report manually (rather than having the customer download it).

rv-poc help

bash
rv-poc help
rv-poc help bootstrap   # per-command details

Typical sales-call flow

bash
# 1. During the prep call, you've agreed to provision a POC.
rv-poc bootstrap acme-corp --sector financial-services --contact alice@acme.com

# 2. Copy the install one-liner from the output, email it to Alice.

# 3. Mid-call, check that her agent is online.
rv-poc status acme-corp
# → Agent: online ✓

# 4. End of call, generate the report for her CISO.
rv-poc report acme-corp --format html --output /tmp/acme-ciso-report.html
# Mail it.

# 5. Follow up next week.
rv-poc list --stage connected   # who's stuck at 'connected'?
rv-poc list --stage activated   # who's ready for the formalize conversation?

Cross-tenant dashboard

The CLI is read-only against the same backend as the /admin/cross-tenant-dashboard view. If you prefer a UI: same data, different surface.

The CLI is the right tool for automation (mailshots, weekly digest emails, slack-bot integrations).

Troubleshooting

401 Unauthorized — your RV_ADMIN_TOKEN is wrong or expired. Refresh from sales ops.

Agent offline in status — customer's agent host can't reach the control plane. Check RV_CONTROL_PLANE_URL matches the tenant URL, and that outbound HTTPS is allowed from their network.

Funnel stage stuck at connected — customer hasn't run role-mining yet. The "activated" transition fires when at least one mining opportunity is surfaced. Suggest they try Role mining → Run.

HTTP 423 Locked — POC expired. Run rv-poc status to see the expiry date; if customer wants to continue, convert to paid via the admin console.

RapidValue IGA · Built in Belgium