Skip to main content
Cadence Web UI is a visual interface for monitoring, searching, and managing workflows in your Cadence cluster. It provides real-time visibility into workflow execution, task queues, and domain management.

Overview

The Cadence Web UI (also known as Cadence Web) is a standalone web application that connects to your Cadence server to provide:
  • Workflow Monitoring: View workflow execution history, status, and progress
  • Search & Filtering: Query workflows using advanced visibility features
  • Domain Management: Browse and manage domains and their configurations
  • Task List Monitoring: Monitor task list backlogs and worker polling
  • Visual Workflow History: Inspect event histories with detailed traces

Setup and Deployment

Using Docker Compose

The easiest way to run Cadence Web UI is with Docker Compose:
services:
  cadence-web:
    image: ubercadence/web:latest
    environment:
      - "CADENCE_GRPC_PEERS=cadence:7833"
    ports:
      - "8088:8088"
    depends_on:
      - cadence
Start the service:
docker compose -f docker/docker-compose.yml up
Access the UI at: http://localhost:8088

Configuration Options

gRPC Connection

Connect to Cadence server using gRPC:
CADENCE_GRPC_PEERS=cadence-frontend:7833

Thrift Connection (Legacy)

For older deployments using Thrift:
CADENCE_TCHANNEL_PEERS=cadence-frontend:7933

Multiple Frontend Hosts

Specify multiple frontend servers for high availability:
CADENCE_GRPC_PEERS=frontend1:7833,frontend2:7833,frontend3:7833

Standalone Installation

For production deployments, run the Web UI as a separate service:
# Pull the image
docker pull ubercadence/web:latest

# Run the container
docker run -d \
  --name cadence-web \
  -p 8088:8088 \
  -e CADENCE_GRPC_PEERS=your-cadence-frontend:7833 \
  ubercadence/web:latest

Key Features

Workflow Monitoring

Workflow List View

The main dashboard displays all workflows with:
  • Workflow ID and Run ID
  • Workflow Type
  • Current Status (Running, Completed, Failed, Timed Out)
  • Start and Close Times
  • Execution Duration

Workflow Details

Click on any workflow to view:
  • Complete event history
  • Input and output payloads
  • Pending activities
  • Timer information
  • Child workflows
  • Signal history

Event History Visualization

The UI provides a visual timeline of workflow events:
  • Decision task scheduled/started/completed
  • Activity task scheduled/started/completed/failed
  • Timer events
  • Signal events
  • Child workflow events
  • Workflow completion events

Search and Filtering

Filter workflows by:
  • Workflow ID: Exact or prefix match
  • Workflow Type: Filter by workflow type name
  • Status: Open, Closed, Completed, Failed, Terminated, Timed Out
  • Time Range: Start time or close time ranges
With Elasticsearch or other advanced visibility stores, you can:
WorkflowType = "order-processing" 
AND Status = "Failed" 
AND StartTime > "2026-01-01T00:00:00Z"
Custom Search Attributes:
CustomerId = "12345" 
AND OrderStatus = "pending"
AND OrderAmount > 100

Domain Management

View Domains

Browse all registered domains and their properties:
  • Domain name and description
  • Owner information
  • Retention period
  • Archival configuration
  • Active clusters
  • Global domain status

Domain Configuration

View domain-level settings:
  • Workflow execution timeout
  • Task list configuration
  • Isolation groups
  • Bad binary information

Task List Monitoring

Task List View

Monitor task list health:
  • Pending Tasks: Number of tasks waiting for workers
  • Pollers: Active worker count
  • Task Age: Time since oldest task was created
  • Rate: Task dispatch rate

Task List Types

  • Decision Task Lists: Tasks for workflow decisions
  • Activity Task Lists: Tasks for activity execution
  • Sticky Task Lists: Task lists for workflow cache affinity

Usage Examples

Finding Failed Workflows

  1. Navigate to the Workflows tab
  2. Set Status filter to Failed
  3. Set time range (e.g., Last 24 hours)
  4. Review failure reasons in workflow details

Debugging Workflow Execution

  1. Search for workflow by ID or filters
  2. Click on workflow to open details
  3. Review Event History tab
  4. Examine decision task payloads
  5. Check activity input/output
  6. Review timeout settings

Monitoring Workflow Performance

  1. Use time range filters to view recent workflows
  2. Sort by execution duration
  3. Identify slow workflows
  4. Examine event history for bottlenecks
  5. Check activity retry patterns

Bulk Operations

While the UI provides visualization, use the CLI for bulk operations:
# Terminate multiple workflows
cadence workflow terminate --reason "deployment" \
  --query "WorkflowType = 'old-version-workflow'"

# Signal multiple workflows
cadence workflow signal --name "update-config" \
  --query "CustomStatus = 'pending'"

Integration with Advanced Features

With Archival

View archived workflow histories:
  • Access archived workflows beyond retention period
  • Query archived visibility records
  • View history from archive storage
Configuration required: Archival Setup

With Advanced Visibility

Enable rich querying:
  • Custom search attributes
  • Complex boolean queries
  • Cross-domain searches
Configuration required: Elasticsearch or similar

With Authorization

Access control integration:
  • JWT authentication
  • OAuth providers
  • Role-based access control
  • Domain-level permissions

Best Practices

Performance

  • Use Filters: Always filter workflows by time range or status
  • Pagination: Navigate large result sets with pagination
  • Archived Queries: Query archived workflows separately
  • Search Attributes: Index frequently queried fields

Security

  • Network Security: Deploy Web UI behind a reverse proxy
  • TLS: Enable TLS for frontend connections
  • Authentication: Implement OAuth or JWT authentication
  • CORS: Configure CORS for web clients

Monitoring

  • Health Checks: Monitor Web UI container health
  • Frontend Connectivity: Alert on frontend connection failures
  • Response Times: Track query performance
  • Error Rates: Monitor for query errors

Troubleshooting

Connection Issues

Problem: Cannot connect to Cadence server Solution:
# Verify frontend is accessible
telnet cadence-frontend 7833

# Check gRPC peer configuration
echo $CADENCE_GRPC_PEERS

# Review container logs
docker logs cadence-web

Search Not Working

Problem: Advanced queries return no results Solution:
  • Verify Elasticsearch is running and accessible
  • Check that advanced visibility is enabled
  • Ensure search attributes are registered
  • Verify domain has visibility archival configured

Slow Performance

Problem: UI is slow to load workflows Solution:
  • Reduce time range in queries
  • Use more specific filters
  • Check Elasticsearch performance
  • Verify frontend server load
  • Increase frontend resource limits

Repository and Resources

Next Steps

Build docs developers (and LLMs) love