Knowledge bases are not shareable. A KB reaches other people only by being
bound to a shared Agent, which delegates the owner’s content at run time (see
“How access flows through bound resources”). There is no publish-KB action.
The two questions
Every sharing decision answers two independent questions:- Visibility — can the other person see/use this resource at all?
- Credentials — whose secret (API key, DB password, server env) does it run with?
Visibility: own + subscribed
A resource is visible to you only if you own it or you have an explicit subscription to it. There is no implicit “everyone in my org can see it” anymore — org sharing is delivered through subscriptions.
The same rule governs everywhere a resource is used — chat tool assembly, binding
to an agent, and a workflow step all resolve own + subscribed. So a connector
you subscribed to can be bound to an agent and called from a workflow; one you
can neither see nor subscribe to is refused in all three places.
Subscriptions are scoped: leaving (or being removed from) an organization
revokes the subscriptions you only had through it, and deletes the per-user
credentials you saved for those resources.
Credentials & “Allow fallback”
Only Connectors and MCP servers hold credentials. Each one has an Allow fallback switch that decides whether subscribers may borrow the owner’s credential:
Key rules:
- Off is the default. Sharing your token is opt-in. A newly created connector or MCP server does not share the owner’s credential, and existing ones were migrated to off.
- The owner is always exempt. “Allow fallback” only governs other users; you can always use your own connector with your own credential.
- No silent failure. When fallback is off and a user has no credential, the tool is removed from the toolset rather than offered and then failing at call time. Every surface (chat, the Playground, workflow steps) must show a “configure your own credentials” prompt instead of a broken tool.
How access flows through bound resources
Resources compose. Sharing one resource implicitly exposes the resources bound underneath it — but credentials do not automatically flow with them.
When you share the container, the references travel with it as a graph of ids
— a shared workflow or agent carries no embedded secrets. At run time, each
referenced resource re-checks the runner’s access:
- Knowledge Bases have no per-user credential, so a KB bound to a shared agent delegates its content: whoever runs the agent reads the KB owner’s data (the agent needs its KB to function). The delegation is gated by the agent owner’s visibility — if the agent owner loses access to a bound KB (for example after leaving the organization it was shared through), that KB drops out of the agent instead of continuing to be read. Ad-hoc KB search outside a bound agent is access-checked against the caller (own + subscribed).
- Connectors / MCP servers carry credentials, so they delegate only when Allow fallback is on (see below).
Worked scenarios
You own an Agent that binds a personal connector (you have not shared the connector itself). You share the Agent to your org or globally. Someone else runs it:
In other words: sharing the agent does not share the connector’s secret. The
connector’s own “Allow fallback” setting is the single switch that decides
whether the credential penetrates through the binding. The same holds for a
connector or MCP server referenced from a Skill or a Workflow step.
This is why the recommended pattern for a connector you intend to share is:
leave Allow fallback off, and have each user bind their own credential. Turn
it on only when you deliberately want to lend your key (and absorb the usage) —
for example a metered API you’re comfortable paying for on others’ behalf.