Taskdefinition
Version: v1 (minor version 2)
Scope: per-tenant
Owning service: actions-library
A Taskdefinition describes an automated ESL flash task: a rule-driven action that causes matching ESLs to flash their LED indicator in a specific color, pattern, and duration. Tasks are defined by a Conditions block that identifies which items (and therefore which ESLs) qualify, and a FlashAction that specifies the LED color, flash pattern intensity, and how long the flash should run. Tasks can be enabled or disabled without deletion. The conditions are evaluated using the shared pricer.evo.dtos.shared.Conditions type, which supports both structured rules and raw CEL expressions.
ID pattern
t/{tenantid}/tasks/{taskid}
| Segment |
Meaning |
t/{tenantid} |
Tenant scope — tasks are defined per tenant |
tasks |
Fixed collection name |
{taskid} |
Opaque identifier assigned by actions-library |
Schema
| Field |
Type |
Description |
id |
string |
Full resource name following the ID pattern above |
name |
string |
Human-readable name shown in the management UI (e.g. Flash Expiring Items) |
enabled |
bool |
Whether the task is currently active. Disabled tasks are not evaluated. |
condition |
Conditions |
The condition that determines which items this task applies to. See shared Conditions type below. |
action |
Action |
The action to perform on all ESLs linked to matching items. Currently only flash_action is supported. |
last_modified |
google.protobuf.Timestamp |
Timestamp of the last update to this task definition. The nanos field should not be used. |
Action message
Action is a oneof container:
| Variant |
Type |
Description |
flash_action |
FlashAction |
Causes the ESL LED to flash |
FlashAction message
| Field |
Type |
Description |
color |
LedColor enum |
The LED color to activate |
pattern |
FlashPattern enum |
The flash intensity/frequency pattern |
duration_seconds |
uint32 |
How long the flash should run, in seconds |
LedColor enum
| Value |
Meaning |
LED_COLOR_UNSPECIFIED (0) |
Unset |
GREEN (1) |
Green LED |
RED (2) |
Red LED |
BLUE (3) |
Blue LED |
CYAN (4) |
Cyan LED |
MAGENTA (5) |
Magenta LED |
YELLOW (6) |
Yellow LED |
WHITE (7) |
White LED |
FlashPattern enum
The numeric values are intentionally spaced to allow future intermediate patterns to be inserted.
| Value |
Meaning |
FLASH_PATTERN_UNSPECIFIED (0) |
Unset |
LOW (10) |
Slow, low-intensity flash |
SEMI_LOW (20) |
Moderately slow flash |
SEMI_STRONG_STROBE (30) |
Moderate strobe |
STRONG_STROBE (40) |
Fast, strong strobe |
STRONG (50) |
Continuous strong flash |
Shared Conditions type
condition uses the shared pricer.evo.dtos.shared.Conditions message from proto-template/pricer/evo/dtos/shared/conditions.proto:
| Field |
Type |
Description |
rule_match_type |
MatchType enum |
AND — all rules must match; OR — any rule must match |
rules |
repeated Rule |
Flat list of Rule messages to evaluate |
cel_expression |
string |
A CEL (Common Expression Language) expression. May stand alone or be an equivalent representation of rule_match_type + rules. |
Each Rule specifies a property (item field name), a source (e.g. item or link), and one of: StringRule, NumericRule, RangeRule, ListRule, or NoValueRule — matching the condition variants supported by the Studio UI rule builder.
Consumed by
| Service |
Why |
actions-library (formerly platform-plaza-actions-task) |
Stores and manages task definitions; evaluates conditions against store items to trigger flash commands |
| Studio management UI |
Displays and edits task definitions |
- communicationpack — also uses the shared
Conditions type for scenario matching, but targets design selection rather than LED actions
- storeitemvalues — item property values are the data source evaluated against task conditions