workspaces: One workspace for every system you run.
A ConvOps workspace keeps one team, product or customer behind its own walls: its own work, workflows and memory. Support, finance, product, a customer. One question still searches every workspace you belong to.
isolated by default · searched together · written to exactly one
How do you keep AI agent work for different teams or customers apart?
One ConvOps workspace per system: its own tasks, workflows, executors, policies and memory, isolated by row-level security in Postgres, yet searchable together by its members.
ConvOps is the operations layer for AI agents: an MCP server that holds your team's process as workflows, with approval gates, a shared memory and an audit trail. It runs no AI models.
key facts · october 2026
- Workspace isolation is enforced by Postgres row-level security with FORCE, so a missing filter in one query cannot leak another workspace.
- Recall searches every workspace you are a member of in one query; every write lands in exactly one workspace.
- A new team, product or customer gets its own workspace instead of its own tool.
best for
- Agencies and consultancies running agent work for several clients.
- Companies separating support, finance and product processes.
not for
- Fine-grained permissions inside one workspace. Roles are owner, admin and member.
updated
One shared space for every system.
Support, finance, product and your customers all in one list, one rulebook and one search. Nobody can tell what is theirs.
“Can the customer see our internal work?”
Their tasks sit in the same list as your notes. One wrong filter and they read what they should not.
“Why is support buried in finance noise?”
Every team shares one board, one set of rules and one search. Nobody finds their own work.
“Do we need a new tool for every system?”
A second process means a second tool, a second login and a second place things get lost.
Everything one system needs. Behind one wall.
Each workspace owns its work, its workflows, its rules, where it runs and what it remembers. Nothing leaks between them by default.
Ask every workspace at once.
Choose the workspaces you belong to and ask. Only those are searched, each answer says where it came from, and a save lands in one.
askWhat did we decide about refunds?
searched, nothing relevant: Content
not searched: Product, Northwind · their answers never leave them
example data · search spans memberships, ownership stays put
A new customer gets its own workspace.
Northwind signs on Monday. By the afternoon they have a workspace, your proven workflows and their own people, walled off from yours.
A new customer signs.
Northwind is coming on board. One line in your AI client creates their workspace. It starts empty, with its own walls.
Your best workflows come along.
Install the templates your team already trusts. Northwind gets its own copy, routed to its own work, editable without touching yours.
from the catalog, into northwind
- Taskuniversalinstall
- Planuniversalinstall
- Decision Memouniversalinstall
- Meeting Follow-Upsalesinstall
northwind owns its copies · edit them without touching yours
Their lead joins with a role.
Invite by email as owner, admin or member. The invite waits for them to accept, and expires after seven days.
- YYouowner
- SSam, account leadadmin
- lead@northwind.examplememberpending
The work runs inside the walls.
Northwind's tasks, approvals and memory stay in Northwind. Your support team never sees them. Their lead never sees yours.
support reaches for northwind · nothing returned
You still see the whole picture.
Ask one question and the search spans every workspace you belong to. Each answer says where it came from.
Separate by default. Searched together.
One per system
A team, a customer or an automated system. Each owns its tasks, workflows, policies, executors, settings and brain.
self-serve to create
Walled by default
Isolation is enforced in the database. A request with no workspace reads nothing. Nothing leaks unless you belong.
row-level security
Three plain roles
Owner, admin, member. Invites wait to be accepted and expire after seven days. No maze of permissions.
per workspace
Searched together
One question searches every workspace you belong to. Each answer is badged. Every write lands in exactly one.
one search, never one pool
One shared mess, or one per system.
- A customer's work sits next to your internal notes.
- One set of workflows bent to fit every team.
- Search returns everyone's noise.
- A new system means a new tool.
Search spans memberships
Recall takes no workspace. It fans out across every verified membership in one query, and each result carries the workspace it came from.
{
"context_query": "refund approvals",
"returns": [
{ "workspace": "support",
"memory": "Over 200 needs a lead" },
{ "workspace": "finance",
"memory": "Post to month of sale" }
]
}Writes name exactly one
Every write resolves to one workspace. For someone in several, the workspace is required and a write without it is refused.
{
"memory_store": {
"workspace": "finance",
"category": "decisions",
"content": "Refunds post to the
month of the original sale"
}
}Isolation lives in the database
Postgres row-level security with FORCE: even the table owner cannot step around it. App scoping and tenant middleware sit on top, not instead.
USING (
org_id = current_setting(
'app.current_tenant_id', TRUE)
OR org_id IS NULL
)Three roles, a real invite lifecycle
Owner, admin, member, checked at the route and service layer, and the last owner cannot be removed. Invites move pending to accepted, revoked, declined or expired.
{
"workspaces_members_manage": {
"action": "create",
"workspace": "northwind",
"email": "lead@northwind.example",
"role": "member"
}
}Workspace questions, answered.
How many workspaces should I run?
One per automated system is the pattern that holds up: development, content, a client, an outbound motion. The boundary follows the system, not the org chart, because workflows, executors, policies, and memory all live at the workspace level.
Is memory shared between workspaces?
Search is unified; ownership is not. One recall fans out across every workspace you belong to, but each memory stays owned by its workspace and isolated at the database layer, and writes always resolve to exactly one workspace.
Who can see what?
Members see the workspaces they belong to, under three plain roles: owner, admin, member. Invites follow a real lifecycle with expiry, revocation, and decline, and isolation is enforced by row-level security the table owner cannot bypass.
Can different workspaces execute on different infrastructure?
Yes. Execution configuration is per workspace: one system can run on ConvOps cloud while another dispatches to your own OpenCode server or a custom runner, without any task definition changing.
What does creating one involve?
It is self-serve: name it and it exists, with its own settings catalog ready to tune. A new automated system starts with a workspace, not a procurement cycle.