Skip to content

Dashboard

Dashboard is Vessel's operator-facing workspace. It combines fixed overview panels with customizable dynamic dashboards that can host maps, flow controls, entity cards, and action buttons.

What Dashboard Is For

Use Dashboard when you need to:

  • assemble a task-focused operational screen
  • monitor entities and system state in one place
  • expose the most important map and flow controls to users
  • trigger running automations from a UI button

Core Concepts

Main dashboard

The dashboard area includes a main overview surface for system and entity visibility.

Dynamic dashboard

A dynamic dashboard is a saved, user-configurable canvas. It is arranged as a grid and persisted on the server.

Widget

Widgets are the building blocks placed on the grid. Current dashboard widgets include:

  • entity cards
  • buttons
  • map panels
  • flow panels

Edit mode

Edit mode is where users add, move, resize, and configure widgets. It separates layout work from operational use.

Listener id

A listener id connects dashboard button clicks to a matching flow listener. This is the bridge between the operator UI and the automation runtime.

User Flow

The current workflow is:

  1. Open the dashboard area.
  2. Move between views using the swipe layout.
  3. Create a dynamic dashboard.
  4. Enter edit mode.
  5. Add widgets and arrange them on the grid.
  6. Configure widget-specific settings such as a map layer, a flow, or a button listener id.
  7. Leave edit mode and use the dashboard operationally.

How To Use Dashboard

1. Create a dynamic dashboard

Add a new dashboard from the dashboard area. Each dashboard is stored as a reusable layout.

2. Enter edit mode

Edit mode unlocks layout controls so you can drag, resize, and delete items without triggering operational actions.

3. Add widgets

Use the add-item menu to place widgets on the canvas. Common combinations are:

  • entity cards for live monitoring
  • map panels for location context
  • flow panels for run controls
  • buttons for manual triggers

4. Configure buttons for automation

To make a button trigger a flow:

  1. assign a listener id to the button
  2. run a flow that includes a matching dashboard event listener
  3. click the button outside edit mode

5. Let autosave persist layout changes

Dashboard layout changes are saved automatically after edits. This keeps the experience fast and reduces manual save steps.

Core Design

Dashboard is designed as an operations layer on top of Vessel's existing systems:

  • routing and swipe navigation control which dashboard is visible
  • dashboard layout is stored as structured JSON on the server
  • map and flow widgets reuse the corresponding product features instead of duplicating them
  • button events are published over WebSocket and can be consumed by running flows

This gives Dashboard a clear role: it is the place where monitoring, control, and automation meet.

Dashboard and Flow Integration

Dashboard buttons do not execute automation by themselves. Instead, they emit validated UI events that a running flow can listen for.

This makes the integration explicit:

  • Dashboard provides the operator action
  • Flow provides the automation logic

Practical Notes

  • Button actions are intentionally disabled while edit mode is active.
  • Button-triggered automation depends on an active WebSocket connection and a running matching flow listener.
  • Layout changes are autosaved.
  • The current UI focuses on a single visible canvas per dynamic dashboard.