Flat-rate inference via OpenClaw + a ChatGPT subscription
By default every Aroovo agent runs against a provider key you bring yourself — Anthropic, OpenAI, OpenRouter, or OpenClaw — and the bill is metered by token. For tenants who use agents heavily, that bill is unpredictable. There is a flat-rate alternative you can plug into per agent: configure the agent as an external (OpenClaw) agent and connect your own ChatGPT Pro subscription on the OpenClaw side. Inference then routes through OpenClaw using your subscription quota — the platform never meters API tokens for that agent.
When to pick this path
- You have a heavy, mostly-predictable agent workload (lots of turns / day) where the token bill is the limiting factor.
- You already pay for ChatGPT Pro (or Claude Pro — same shape, different provider) and want the platform to use that quota instead of opening an OpenAI API account on top.
- The agent in question doesn't need the bleeding-edge tool-use shapes the first-party Messages / Chat Completions APIs ship first — OpenClaw normalises behind an OpenAI-compatible surface.
For anything mission-critical, keep at least one agent on a metered API key as a fallback. See BYO LLM keys for the per-agent provider-routing story.
1. Connect your ChatGPT subscription in OpenClaw
Sign in at app.openclaw.ai (or your self-hosted OpenClaw instance) and complete the ChatGPT-subscription connect flow on their dashboard. Note the agent idOpenClaw issues for the agent you want to use — you'll paste it into Aroovo in step 3. Also issue an OpenClaw API key for the platform to call them with; Aroovo stores that key in the encrypted Brand-scoped vault and never logs it.
2. Save the OpenClaw API key on the Brand
In the Aroovo operator console, open the Brand admin page and paste the OpenClaw API key into the BYO-LLM section (openclawKeySecretRef on the Brand row). If your OpenClaw instance is self-hosted at a custom URL, set openclawBaseUrl on the same blob — the runtime appends /agents/<agentId>/invoke when it dispatches a turn.
3. Create the external agent
From the operator console, open Agents → New agent and pick External (OpenClaw) on the kind step. Fill in:
- Endpoint:
https://api.openclaw.ai/v1(or your self-hosted OpenClaw URL). - Agent id: the value OpenClaw issued in step 1.
- Slug, name, scope: the same per-agent metadata you'd set for any other agent.
Aroovo generates a one-time HMAC callback signing secret during creation — copy it once and paste it into the matching field on OpenClaw's side so their host can sign tool callbacks back into Aroovo's approval-gated MCP layer.
4. Enable the agent for a Tenant
From the new-tenant wizard or the per-tenant agent picker, enable the external agent for whichever tenants you want on the flat-rate path. Tenants you DON'T enable it for keep whatever metered-API agent they had before — you can mix both rosters across the same Brand without conflict.
Costs page behaviour
External-agent rows on /costs show the per-turn token usage that OpenClaw reported (so you can see what the agent burned), but record $0 cost on the platform side — because Aroovo isn't metering anything. A small BYO tag on the row reminds you the spend lives in OpenClaw's billing, not in your Aroovo balance.