Actions¶
Actions let you execute commands and control your systems directly from the Zelos App. They provide interactive parameter execution options and display results, making it easy to control devices, run diagnostics, or trigger automated processes locally or remotely.
Overview¶
Actions are functions exposed by your Zelos Agent that can be executed remotely through the app. They appear in the sidebar tree where you can drag them to create interactive control panels with custom parameters and real-time results.
Key Features¶
- Interactive Parameters - Rich inputs with parameter validation
- Real-time Execution - Run commands on connected systems
- Result Display - View responses directly in the panel
- Parameter Persistence - Settings saved in layouts
Live Mode Only
Actions require an active connection to a Zelos Agent. They are not available when viewing trace files.
Using Actions¶
Finding Actions¶
Actions appear in the sidebar when connected to an agent:
- Connect to an agent - Establish a live connection
- Open the Explorer view - Click the Explorer icon in the sidebar rail, then expand its ACTIONS section
- Browse the tree - Actions are organized by namespace
- Search - Use the search box to find specific actions
Creating an Action Panel¶
To use an action:
- Add an Action panel - Click Add panel in the timeline toolbar, then choose Action Panel.
- Drag an action - Drop any action from the tree onto the panel.
- Fill in the parameters - The fields fill the panel's Column Count columns, two by default. Hover or focus the info icon beside a field name to read its help. When an action requires some fields, the fields you can leave empty show Optional. A field left empty that the action needs shows Required at the end of its name's line.
- Execute - Click Execute in the cell after the last field, or press Enter when Enter to Execute is on. With Inline Button off, the button gets a row of its own under the fields. An action can rename the button, for example to Flash.
- Read the result - The result appears below the fields.
Action Organization¶
Namespace Structure¶
Actions are organized hierarchically:
Example organization:
power/set_voltage- Power control actiondiagnostics/self_test/memory- Nested diagnostic actiongpio/read_pin- GPIO operation
Tree Navigation¶
- Expand/collapse folders with arrow icons
- Drag actions directly to panels
- Search filters the tree to matching actions
- Empty folders appear grayed out
Parameter Types¶
Actions support various parameter types with appropriate UI widgets:
| Type | Widget | Purpose |
|---|---|---|
| Text | Text field, textarea | Strings, names, IDs |
| Number | Number input, slider | Numeric values |
| Boolean | Checkbox, toggle | On/off states |
| Select | Dropdown, radio | Predefined choices |
| Date | Date picker | Date selection |
| File | File upload | File inputs |
Dynamic Parameters¶
Some actions have dynamic parameters that change based on other inputs:
- Dependent fields - Show/hide based on conditions
- Dynamic choices - Options update based on context
- Validation - Real-time input validation
Execution & Results¶
Running Actions¶
Action panels support two execution modes:
- Button (default) - Fill in the parameters, then click Execute.
- Enter to Execute - Press Enter in a field to execute. The panel hides the Execute button.
In both modes, parameter edits still drive dynamic schema updates first. Dependent fields and required inputs resolve before execution happens.
Result Display¶
Results appear below the parameters:
The panel keeps the last run only. It shows what the action returned and lays it out by the shape of the result:
- Nothing - An empty result shows no output.
- A single value - The value shows on one line. A list of values shows on one line, separated by commas.
- Text - Multi-line text, or a list of output lines, shows as plain monospace text. Long lines wrap.
- An object - A table of names and values. A nested object shows its values under dotted names, such as
bus.dbc.path. A nested list of records, or nested multi-line text, gets its own section under its dotted name. Each name keeps its width, and values wrap in the space that is left. - A list of records - A table with one row per record. Click a column header to sort by it, or drag the header's edge to resize the column. A column of numbers aligns right. When the list has fewer records than fields, the table turns on its side and shows one column per record.
- An error - When the run's status is Error and the result is a message, the message shows in a red alert.
- Anything else - A JSON tree.
An empty list, object or string shows as a dimmed [], {} or "". A null value shows as a dimmed null.
When the agent returns the end of the action's stdout or stderr, it appears below the result under stdout or stderr.
The fields and Execute stay at the top of the panel, and the result scrolls on its own below them. When the panel is too short for the fields and a few rows of the result, the whole panel scrolls. A table with more than 100 rows takes the height of the result area and scrolls inside itself. The result stays while you change the panel's settings.
Export and Copy¶
Once the panel has a result, the Download button in the panel header exports it, as on other panels:
- Export as CSV - For a list of records: one column per field.
- Export as JSON - Any result, as the action returned it.
Zelos asks where to save the file, then offers to show it in its folder. Right-click the result for the same exports and Copy result, which copies the result as JSON.
Execution States¶
While a run is in progress, the Execute button shows a spinner and is disabled. The previous result stays in view, dimmed, until the new one arrives.
Beside the button:
- Running… counts the time so far.
- Passed, Failed, or Error - The run reported that status. The time the run finished follows the word. Hover it to see how long the run took.
- Other statuses - Only the time the run finished shows.
The status stays on the button's line. When the time doesn't fit there, it is left out and the word stays.
A run that fails or reports an error also shows a notification, because the panel can be out of view. A run that reaches no result, for example after a timeout, shows its error message as the result, with the status Error.
Panel Settings¶
Click the pencil-shaped Edit button in the panel header, then open Config.
Config Controls¶
Title and Description¶
Set a custom title and optional description for the panel header. When left blank, the panel uses metadata from the selected action.
Request Timeout¶
Set the maximum execution time in seconds. Leave it blank to send no timeout with the request: the extension then applies the timeout the action itself declares (30 seconds unless the action says otherwise). The agent substitutes no default of its own.
Persist Parameters¶
Save entered parameter values in the layout. Turn this off to avoid writing parameter edits into the layout.
Enter to Execute¶
Press Enter in a parameter field to execute the action. Enabling this hides the Execute button. Enter in a multi-line text field still starts a new line. An action without parameters always shows the button.
Column Count¶
The number of columns the fields fill, from 1 to 12. It is 2 by default.
Inline Button¶
Place the Execute button in the cell after the last field. Turn it off to give the button a row of its own under the fields. It is on by default. This control is shown only when Enter to Execute is off.
Show as JSON¶
Show the result as its JSON tree instead of laying it out by its shape. It is off by default.
To change defaults for new Action panels, open Settings from the sidebar, select Panels, then expand Action. The defaults include Column Count, parameter persistence, Enter to Execute and Inline Button.
Parameter Order¶
Open Data in the panel editor to see the action's parameters in the order the panel shows them. Drag a parameter's grip to move it, or focus the grip and press the Up or Down arrow key. The panel saves its order in the layout. Parameters the action adds later appear at the end.
View More¶
-
Explore other panel types
-
Save your Action configurations
-
Create custom actions in Python
Pro Tip
Combine Action panels with Plot and Value panels to create complete control dashboards. Use Actions to trigger changes and visualize the results in real-time.