> ## Documentation Index
> Fetch the complete documentation index at: https://docs.joystream.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Set up your organization

> Create an organization, add team workspaces, and move between them.

An organization holds team workspaces. Each workspace owns its own agents, credentials, catalogs, and members.

<Steps>
  <Step title="Create the organization">
    ```bash theme={null}
    jstm workspace create --type ORG --name "Acme Corp"
    ```

    This creates the organization's root workspace. Note the handle it returns — you'll use it as the parent for teams.
  </Step>

  <Step title="Add team workspaces">
    Create one per team that owns real work, not one per project.

    ```bash theme={null}
    jstm workspace create --type TEAM --org-id acme-corp --name "Finance"
    jstm workspace create --type TEAM --org-id acme-corp --name "RevOps"
    ```

    <Tip>
      Let the shape of your capabilities decide the shape of your workspaces. Month-end close belongs to Finance; lead qualification belongs to RevOps. The team that owns the work should own the workspace that holds it.
    </Tip>
  </Step>

  <Step title="Control who can join">
    ```bash theme={null}
    jstm workspace update acme-corp/finance --access-mode RESTRICTED
    ```

    `OPEN`, the default, lets organization members discover and join. `RESTRICTED` makes membership invitation-only. Use `RESTRICTED` for workspaces holding sensitive credentials.
  </Step>

  <Step title="Move between workspaces">
    ```bash theme={null}
    jstm workspace context                     # where am I
    jstm workspace switch acme-corp/finance    # change it
    jstm workspace list                        # everything, grouped by org
    ```

    Your active workspace is what commands use when you don't pass `--workspace`. Agents you create land there.
  </Step>

  <Step title="See a workspace's contents">
    ```bash theme={null}
    jstm workspace show acme-corp/finance
    ```

    This shows the workspace hub: its agents, its members, and its model configuration.
  </Step>
</Steps>

## Naming and handles

A workspace has a handle used in addressing. To change it:

```bash theme={null}
jstm workspace update acme-corp/finance --handle finance-ops
```

Team handles are unique within an organization, not across all of them. Two organizations can each have a `platform` workspace, so a bare handle is sometimes ambiguous:

```bash theme={null}
jstm workspace resolve platform                  # every match
jstm workspace resolve platform --org acme-corp  # scoped
jstm workspace org platform                      # which org owns it
```

The unambiguous form is the fully qualified name, `acme-corp/platform`.

## Credentials across the organization

Credentials in an org vault can be shared with every workspace, or restricted to named ones:

```bash theme={null}
jstm vault scope 4d90c7e2-… --scope all
jstm vault scope 4d90c7e2-… --scope selected --workspace acme-corp/finance
```

To see everything connected anywhere in the organization:

```bash theme={null}
jstm vault audit
```

Both require org owner or admin. See [Audit and scope org credentials](/guides/audit-and-scope-org-credentials).

## Deleting a workspace

```bash theme={null}
jstm workspace delete acme-corp/old-team --yes
```

<Warning>
  A personal workspace can't be deleted. An organization workspace can't be deleted while team workspaces still exist under it — remove those first.
</Warning>

## Next

<Columns cols={2}>
  <Card title="Invite and manage members" href="/guides/invite-and-manage-members" icon="user-plus">
    Add people and set their roles.
  </Card>

  <Card title="Organize and publish agents" href="/guides/organize-and-publish-agents" icon="share-2">
    Move agents to the team that owns the work.
  </Card>
</Columns>
