1. Get the roster
subaccount_list returns your active
sub-accounts — id, name, email, plan and state. Owner-only; any other role is
refused.
An account is listed when it is enabled and on a plan. Disabled, deleted and
not-yet-subscribed accounts are left out, and the response says how many were.
2. Name the account
Seven tools take auserId. Pass one and they answer for that sub-account
instead of yours:
agent_duplicate is the only one that writes across accounts. It creates an
agent inside the client’s account, so name the client and get a yes first.
Take the id from
subaccount_list. Never construct or guess one — a wrong id
does not fail quietly, it names a different account.Records by id
Beyond those seven, any tool that takes a record id —campaignId, leadId,
conversationId, linkedAccountId — also works on a sub-account’s records once
you have the id. That includes writes such as
campaign_update and
flow_set, so an id is effectively full access to
that record.
What is enforced, and where
Scoping is applied by the server, not hidden in an interface. Rephrasing a request does not widen it.userIdis accepted only from an agency owner key.- It is accepted only for an account inside your own agency. An id from
outside your roster is refused with an error naming
subaccount_list. - The sub-account list itself is scoped by the server to your own agency tree, and excludes you.
- A record reached by id is checked against the accounts you own before it is read or written.
Worth asking for
Because one key reaches the whole roster, the useful questions are the ones that span clients:- “Which client campaigns had the worst reply rate this week?”
- “Any LinkedIn sessions expired across my accounts?”
- “Which clients have no active campaigns right now?”
- “Copy my qualifier agent into the Acme account.”
subaccount_list first to know who it is
comparing. Ask it to tell you which account each number belongs to — the tools
return data per account, not a labelled roll-up.
On the ChatGPT plugin this needs release 1.2.8 or
later. Earlier releases ship a skill that predates
subaccount_list, so
ChatGPT does not know to ask for the roster first.