Monitor App
The Monitor App is a built-in web interface for interacting with the workflow engine during development. It provides a real-time view of workflow definitions, executions, jobs, and registered workers.
Integration roadmap
The Monitor App is currently a standalone development tool. Its functionality will be integrated into the neops Web Client in a future release. For now, it is the primary UI for workflow management and execution monitoring.
What You Can Do
- Browse workflow definitions -- See all registered workflows with their versions, steps, and schemas
- Trigger executions -- Execute workflows with custom parameters and entity scopes
- Monitor executions -- Watch execution state transitions in real time (NEW → RUNNING → COMPLETED)
- Inspect jobs -- See which jobs are pending, polled, or completed, and which worker handled each job
- View workers -- See online workers and their registered function blocks
Quick Start
=== "Docker Compose (recommended)"
Follow the [Quick Start](../getting-started/10-setup.md#quick-start-with-docker-compose) to
start PostgreSQL, the Monitor App, and the engine. Then open
[http://localhost:5173](http://localhost:5173) in your browser.
=== "Local development"
1. Ensure the workflow engine is running (see [Setup](../getting-started/10-setup.md))
2. Start the Monitor App:
```bash
make run-monitor
```
Or directly:
```bash
cd rest/monitor-app && npm run dev
```
3. Open [http://localhost:5173](http://localhost:5173) in your browser
Key Screens
Workflow Definitions
Lists all registered workflow definitions. From here you can:
- View the full YAML definition of each workflow
- See the version history
- Deploy new workflow definitions
- Trigger an execution directly
Executions
The execution view shows all workflow executions with their current state. Click an execution to see:
- The current state in the lifecycle (with color coding)
- Individual jobs and their status per device
- Step-by-step progress
- Error details for failed steps
- DB updates that will be applied
Workers
Shows all registered workers with their status (online, unreachable, offline) and which function blocks each worker provides. Useful for debugging when jobs are not being picked up.
Importing Workflows
The Monitor App accepts workflow definitions in JSON format. Since we recommend authoring workflows in YAML for readability, convert before importing:
Paste the raw workflow JSON into the Monitor App's definition editor — the app handles the API wrapping automatically.
Quick conversion alternatives
yq(recommended):yq -o=json < workflow.yaml-- install viabrew install yqor see github.com/mikefarah/yq- Online: json2yaml.com converts both directions
- Python:
python -c "import yaml, json, sys; json.dump(yaml.safe_load(sys.stdin), sys.stdout, indent=2)" < workflow.yaml
Technology
The Monitor App is built with Svelte and communicates with the engine
via browser-side HTTP requests to the REST API (defaulting to http://localhost:3030,
configurable in the app's Settings page). When started via Docker Compose, it runs as a static
production build served by nginx. For local development (make run-monitor), it runs as a Vite
dev server with hot-reload.
Next: Your First Workflow -- deploy and execute a workflow end to end.