# Several workspaces

Each Tandem workspace is a separate CRM: its own records, members and agents. One plan covers all the workspaces you own. If you run more than one business, one agent connection can reach several of your workspaces.

## Choosing them

When an app connects over OAuth, Tandem asks which workspaces it may use. Tick each one, and choose the **default**: the workspace it acts in unless told otherwise. The consent screen names them all. You can only tick workspaces you're a member of.

## How an agent uses them

- `list_workspaces` returns every workspace the connection reaches, which is the default, and what it may do in each.
- Every tool accepts an optional `workspace` argument: a workspace's id, or its name. Without it, the tool acts in the default workspace.
- A workspace the connection can't reach is an error (`not_found`), never a silent fallback to the default. Two workspaces with the same name must be named by id.
- What it may do is checked per workspace: the scopes you approved, cut down to your role in that workspace.
- In hosts that show Tandem's widgets, results from another workspace carry that workspace's name.

```json
{ "name": "upsert_person", "arguments": { "email": "jo@acme.com", "name": "Jo", "workspace": "Delegated" } }
```

## Taking it away

The app appears under **Agents** in every workspace it reaches. In the default workspace, **Disconnect** removes the whole connection. In any other, **Remove** takes away only that workspace, at once, and the app keeps working in the rest. Leaving a workspace also cuts the app off there.

API keys belong to one workspace each. To reach several from a script, create a key in each.
