Skip to Content

UI

Open your Gestalt server’s base URL in a browser to access the web client. For a local server, that’s http://localhost:8080.

The UI lets you browse apps, connect to upstream services through OAuth or manual authentication, invoke operations, and manage personal tokens. It uses the same HTTP API and authentication model as the CLI.

Dashboard

The dashboard shows an overview of the workspace with authorization, app, and workflow counts.

Dashboard

Workflows

When the default web bundle is mounted, the workflow UI is available at /workflows.

It shows workflow schedules, event triggers, and recent run history in one place. You can inspect individual runs, filter by status, search recent activity, and cancel pending runs.

Apps

The apps page lists all configured providers. Connected apps show a green checkmark. Click the settings icon to manage connections or disconnect.

Integrations

Authorization

The authorization page lets you create and revoke personal API tokens for your current user.

Authentication

When providers.authentication points to an interactive authentication provider such as OIDC, the UI redirects to your identity provider for login. When providers.authentication is omitted, every request is anonymous.

Custom UI bundles

Public UI bundles are configured through the providers.ui map.

  • Omit providers.ui to run headless with no public UI bundles.
  • Add ui.<name> entries with source and explicit path fields to mount static SPAs under public URL prefixes.
  • New custom UI bundles should check in frontend source and declare top-level build.command plus spec.assetRoot in the UI manifest. Gestalt verifies the generated out, dist, or build directory and serves those static assets after preparation.
  • Gestalt does not serve frontend source directories at runtime. serve --locked only serves prepared assets, so build tools are needed during lock, sync, dev, or release preparation when the configured UI source declares build.
  • UI bundles use the normal /api/v1 and /mcp surfaces; there is no separate app-local browser route surface.

The built-in admin UI at /admin remains available regardless. See UI for the bundle format and Releasing provider packages for packaging.