Skip to Content
DocumentationLearnLoopstack Studio

Loopstack Studio

Loopstack Studio is the web UI that ships with every Loopstack installation. It lets you start workflow runs, interact with paused workflows, watch live execution, and monitor run history — all without writing any frontend code.

Studio is available at http://localhost:5173 when running the Docker Compose setup from Getting Started.

Who It’s For

Studio is useful both during development and in production:

  • During development — Start runs, inspect document output, trigger wait transitions, and debug state machine flows without touching an API client.
  • In production — Studio can serve as the primary interface for internal teams. Employees can launch workflows, review AI-generated output, approve HITL decisions, and monitor execution status. It is not designed as a public-facing user interface, but it is a fully capable internal operations tool.

Studio has four main sections, accessible from the top navigation:

SectionURLWhat it shows
Home/Recent runs and paused workflows needing attention
Applications/applicationsAll registered apps and their available workflows
Workspaces/workspacesAll workspaces — one per user/context
Runs/runsComplete list of all workflow runs across workspaces

There is also an Action Required view at /runs/action-required that filters runs to only those paused and waiting for user input.


Starting a Run

Click New Run from the Home page or the Runs list. A step-by-step dialog opens:

  1. Select Workspace — Pick an existing workspace or create a new one. A workspace is the runtime container for a set of workflow runs, tied to an app.
  2. Select Workflow — Choose from the workflows registered in that workspace’s app. Each option shows the workflow’s title and description.
  3. Configuration — If the workflow has an input schema (@Workflow({ schema })), a form is generated automatically from it. Fill in the arguments and click Run Now.

The run starts immediately and Studio navigates to the Workbench view for that run.


The Workbench — Live Run View

When you open a workflow run, you see the Workbench. This is where you interact with and monitor a running workflow.

Document Feed

The main area shows all documents saved by the workflow via this.documentStore.save(), in order. Each document is rendered using its YAML widget configuration:

  • Chat messages (LlmMessageDocument) render as conversation bubbles with role labels
  • Markdown renders as formatted text
  • Forms render as editable fields, optionally with action buttons
  • Code renders in a syntax-highlighted code viewer
  • Error documents render with error styling

Documents update in real time as the workflow progresses.

Interactive Widgets

When a workflow reaches a wait: true transition, the UI activates the corresponding widget. Depending on the YAML config:

  • A prompt-input widget appears at the bottom — type a message and press Enter to send
  • A form with action buttons becomes editable — fill in fields and click a button (e.g. Confirm, Reject) to trigger the transition
  • The workflow resumes immediately after the trigger

Widgets are shown or hidden based on the current workflow place via enabledWhen in the YAML config.

Toolbar

The top bar of the Workbench shows:

  • Workflow title and run number (e.g. Review Workflow — Run #4)
  • Retry button — visible when a transition has failed. Retries the failed transition immediately.
  • Run Log — opens a dialog showing the complete transition history: each transition name, its source and target place, timestamp, and status. Sub-workflow transitions are included.
  • Graph — opens a visual state machine diagram of the workflow, showing all places and transitions. Active and completed states are highlighted.

The icon strip on the far right toggles collapsible panels:

IconPanelContent
PlayRunsExecution timeline for the current workspace — all runs in chronological order with status indicators
MonitorPreviewEmbedded preview of a connected environment (available on cloud deployments)
ServerEnvironmentEnvironment connection settings for remote deployments

Workspaces

A workspace is a runtime instance of an app for a specific user or context. When a new workspace is created, it is linked to an app (defined by @StudioApp) and stores all workflow runs and documents for that context.

The workspace view (/workspaces/:id) shows workspace details and a link to its run history. The Runs panel within a workspace shows an execution timeline of all runs, sorted by time, with status badges (running, paused, completed, failed).


Runs List

The /runs page shows all workflow runs across all workspaces. Columns include:

  • Workflow name and run number
  • Workspace name
  • Status (running, paused, completed, failed)
  • Start time and duration

Click any run to open it in the Workbench.


Starting Studio

Studio is included in the full Docker Compose setup:

docker compose -f node_modules/@loopstack/loopstack-module/docker-compose.yml up -d

Alternatively: Run from Source

To run Studio from source, start the environment using the infrastructure-only compose file:

docker compose -f node_modules/@loopstack/loopstack-module/docker-compose.infra.yml up -d

And run the loopstack studio from the loopstack monorepo:

git clone git@github.com:loopstack-ai/loopstack.git cd loopstack/frontend/studio npm install npm run dev

Next Steps

  • Getting Started — set up your first project and see Studio in action
  • Human-in-the-Loop — build workflows that pause for user input in Studio
  • Documents — control how your workflow output renders in Studio
Last updated on