Multi-Tenancy
How organizations and teams provide isolated workspaces in Coop.
Coop is multi-tenant from the ground up. Every piece of data — messages, contacts, conversations, settings — belongs to exactly one organization. This page explains how that isolation works and why it matters.
Organizations
When you sign up for Coop, you create an organization. This is the top-level boundary. Everything your team does happens within it, and nothing leaks out.
Two organizations on the same Coop instance cannot see each other's data. Even if someone guesses a valid message ID or contact ID from another organization, the API won't return it — every query is filtered by tenant at the database level.
Sub-teams
Within an organization, you can create sub-teams (sometimes called sub-tenants). Each sub-team gets its own isolated workspace:
- Its own contacts and contact groups
- Its own conversation history
- Its own Coop Desktop assignments
This is useful when a single organization needs internal separation. An agency managing five clients can create a sub-team per client. A business with separate sales and support departments can keep their contacts and conversations apart.
Organization-level resources — members, API keys, billing — stay at the parent level. Sub-teams don't have their own login or billing.
Roles
Access within an organization is controlled by roles:
- Owner — full control, including deletion and billing
- Admin — can manage members, relays, teams, and settings
- Member — can send and receive messages, manage contacts
Roles apply at the organization level. There isn't a separate role system per sub-team — an admin has admin access across all sub-teams.
Why this matters
Tenant isolation isn't just a feature — it's a guarantee. If you're building on the Coop API, you can trust that:
- Your data is invisible to other organizations
- A bug in another organization's automation won't affect your messages
- Rate limits are per-tenant, so another organization's traffic doesn't slow you down
- Deleting a sub-team removes only that sub-team's data, not yours