Working as an agency or portfolio org
Run Claude across every client without juggling credentials. If your organization is an agency or a PE portfolio, On Belay lets you point Claude at one client at a time — using that client's tools, under that client's audit trail — while their keys stay locked inside On Belay. Set the scope per request. Go fast, stay clean.
This guide is for agency and portfolio (PE) organizations. The client-access tools described here are available only to those org types.
How it works
When Claude connects to On Belay, it loads your context automatically — who you are, which org you belong to, and what you can reach. You never have to explain that.
What Claude does not assume is which client you mean. Sessions don't pre-scope to a client. You name the client, and Claude passes that client's identifier as a parameter on each integration call so the proxy uses the right credentials.
Credentials never leave On Belay. Claude calls through the proxy using the client's stored keys — it never sees them. Every action lands in the client's audit trail.
Two facts shape everything below:
- A client only exposes what it has delegated to you — not everything it has connected. The client controls that grant from their own On Belay dashboard.
- There is no "current client" session state. Claude scopes per call. The client in effect is whoever you last named for the request in front of you.
The startup sequence
- Load your client list —
"List my clients."Claude returns every client org that has an active, approved relationship with your org, with each client's name and integration count. - Name the client —
"I'm working on [Client Name] — use their accounts for everything below."Claude passes that client's identifier on each call so the proxy uses their credentials. - Confirm access —
"What integrations do I have for [Client Name]?"This returns only what the client has explicitly delegated to you — not their full stack. - Do the work — Prompt Claude for the task. Keep naming the client, and be specific about platform, timeframe, fields, and the action you want.
What good prompts look like
Pulling customer data
- Weak: "Get me the recent customers."
- Strong: "I've selected Acme Co as my current client. Pull the last 30 days of new customers from their Klaviyo account. I need email, first name, and the source they signed up from."
- Why: "Recent customers" is ambiguous. Which platform? What window? What fields? Give Claude the specifics up front.
Checking a product catalog
- Weak: "What products do they have?"
- Strong: "For Riverstone Supply — my current client — list their active Shopify products in the 'Outdoor Furniture' collection. I want title, status, and inventory count."
- Why: Without a collection, Claude returns everything. Without a status filter, you get drafts and archived listings mixed in.
Multi-step actions
- Weak: "Update the client's HubSpot with the new lead."
- Strong: "I've selected Blue Harbor as my current client. In their HubSpot, create a contact — email john.smith@company.com, first name John, last name Smith, company Coastal Brands, lead source Partner Referral. Then enroll them in the New Partner Welcome sequence."
- Why: Multi-step work needs each step spelled out, with exact field values and the exact action.
Research before action
- Weak: "Send a campaign to their list."
- Strong: "For my current client, pull the subscriber segments from their Klaviyo account so I can see what lists exist. Don't send anything yet — I want to review before we pick one."
- Why: Claude attempts the action you describe. If you're not ready to execute, say so. Build a review step in before any consequential send, publish, or update.
Common mistakes
- Not naming the client before doing work — Claude doesn't auto-scope. Ask it to pull "the Shopify data" with no client named and it has to guess — it may reach for your own org's integrations, or error out. List your clients, then name the one you mean.
- Confusing your own integrations with the client's — Your org may have its own tools connected for internal work; each client has separate connections. Name a client and Claude uses that client's delegated credentials. Name none and you're in your own context.
- Under-specifying the task — "Analyze their HubSpot" is not a task. "Pull all open deals created in Q1 and summarize deal value by owner" is. The vaguer the prompt, the more Claude has to guess.
- Expecting access the client hasn't granted — If a client hasn't delegated an integration to you, Claude can't use it. Prompting harder won't change that — the client grants access from their own dashboard.
- Skipping the access check — Before diving in, ask what you have for that client. It takes five seconds and tells you exactly what you can reach.
Switching clients mid-session
You can work across several clients in one session. Name the new client each time you switch — Claude scopes per call, not per session, so there's nothing to "clear."
If you worked on Client A and then start asking about Client B without naming Client B, Claude may keep using Client A. Be explicit: "Now switch to Client B and pull…"
Unsure which client a request will hit? Name it again. There's no hidden "current client" to query — it's whoever you last named for the call in front of you.
What Claude can and can't do
Can:
- Reach any integration the client has delegated to you
- Call any operation within the scope the client granted
- Log actions to the client's audit trail
- Switch between clients within a session
- Request human approval for higher-risk operations
Can't:
- Reach integrations the client hasn't delegated
- Act outside the operation scope the client defined
- See or store the client's credentials — they never leave On Belay
- Act on a client's accounts unless you name that client for the call
- Touch the client's org settings, group structure, or team
Quick reference
| Task | What to say | |------|-------------| | See your clients | "List my clients" | | Name the client up front | "I'm working on [Client Name] for everything below" | | See what you can reach | "What integrations do I have for [Client Name]?" | | Do the work for a client | "Pull [X] from [Client Name]'s [platform]" | | Switch to another client | "Now switch to [Other Client] and pull [Y]" | | Check before acting | "Before making any changes, show me [X] first" |