# Workspace UI

A browser view of the workspace at /_rystic/ui that draws the simulator's state as a Slack client and redraws as your bot calls the API.

The workspace UI draws the simulator's state as a Slack client, so you can watch what your bot does and act as any seeded person. It ships in the simulator on every plan, and the [verified UI](https://www.rystic.ai/docs/simulators/slack/features/verified-ui.md) is the separate, Pro and Enterprise client for tasks that drive a browser. Open `$RYSTIC_URL/_rystic/ui` in a browser; the Workspace card shows the sidebar, channels, threads, DMs, pins, bookmarks, files, Block Kit and attachments, App Home tabs and modals, and redraws live as your bot calls the API:

```bash
curl -s -X POST "$RYSTIC_URL/_rystic/scenario" -d '{"name":"design_studio"}' -o /dev/null
curl -s -o /dev/null -w '%{http_code}\n' "$RYSTIC_URL/_rystic/ui"
# -> 200
curl -s "$RYSTIC_URL/api/conversations.list?types=public_channel&limit=1" -H 'Authorization: Bearer xoxb-local' -H 'X-Rystic-Actor: UWDC0000001' | jq -c '[.channels[] | {name, is_member}]'
# -> [{"name":"general","is_member":true}]
```

### View as anyone

The avatar at the foot of the rail picks the seeded user or bot the view belongs to. The sidebar lists what that identity is a member of, times show in its zone, and **All conversations** lists the rest.

### Act as them

Posts, thread replies, reactions, pins, edits, deletes and **Join channel** go through the simulator's own Web API with `X-Rystic-Actor` set to that user. They land in state exactly as that person's would, your bot reads them with `conversations.history`, and `GET /_rystic/calls` attributes them ([Identities](https://www.rystic.ai/docs/simulators/slack/features/identities.md)).

### Bot, scheduled messages and views

**Your Bot** shows the default token's bot, what it has posted and the live API calls. **Scheduled messages** and **Views** list the `chat.scheduleMessage` queue and every published view. A modal your bot opens for the viewer pops up by itself.

### What the page does not send

Buttons, menus and modal submits are drawn but the page does not send them; a client reaches an app through the [interaction methods](https://www.rystic.ai/docs/simulators/slack/features/interactivity.md). Images load only when clicked, so the page contacts nothing but the simulator. Block Kit URL buttons are inert too.

Switching users closes open edits, reaction pickers and modals. Resetting or loading a scenario also clears drafts and open panes; replies from the previous scenario cannot change the new workspace.

---

Source: https://www.rystic.ai/docs/simulators/slack/features/workspace-ui · Markdown: https://www.rystic.ai/docs/simulators/slack/features/workspace-ui.md
