Reuse one pool across agent runs
Problem
Agent runs share an expensive or fragile origin with your interactive traffic, and each run can open many requests at once. You want them inside the origin's concurrency limit, on a pool that already exists, without creating a new pool every session or handing agents the upstream credential.
Fix
- Confirm a Capacity budget named for the origin (for example NetSuite). Set the shared concurrency limit once.
- Use a pool already on that budget. Create a pool only if none fits (with its own origins and credentials), then attach it to the budget in the dashboard.
- Mint a pool key for callers. Use a TTL (
1h,24h, or7d) for session runs. Keep a longer-lived project key only in repo env when the team accepts that risk. - Commit a short skill (or
AGENTS.mdsnippet) naming the pool URL, the env var that holds the pool key, and a tag convention. Refer to the pool by the budget's name (NetSuite), not as "the capacity budget." - Agents call the pool URL for day-to-day work and never touch the Control API.
Orchestrators use the Control API to find a pool and mint
short-lived keys. AI assistants connect at
https://nthbouncer.com/mcp(Agents) and use the MCP server for the same discovery and session keys.
If the project key is missing, stop and tell the human. Do not invent credentials or provision infrastructure unless they explicitly ask.
Copy-paste skill (NetSuite example)
Copy the skill below into your project. Substitute your budget name, pool hostname, and env var.
# NetSuite via nthbouncer
Copy this into a customer repo as a skill, `AGENTS.md` section, or rules
snippet. Substitute the pool hostname and env var for your team. NetSuite is the
worked example. The same shape works for any origin with a shared concurrency
limit.
For SuiteQL and NetSuite REST, call through the team pool. Do not hit
NetSuite directly. Do not create a new nthbouncer pool.
- Base URL: `https://netsuite.nthpool.cloud`
- Auth: `Authorization: Bearer $NTHBOUNCER_NETSUITE_KEY` (nthbouncer pool key;
the pool attaches the NetSuite credential upstream. Do not add TBA tokens.)
- Tag runs: `x-nthpool-tags: agent=<session-or-pr-id>`
- SuiteQL paths stay as on the origin; only the host changes.
If the key is missing, stop and tell the human. Do not invent credentials
or provision infrastructure unless they explicitly ask. Never ask for or
store NetSuite secrets in the repo.