Operator guideEN

Activity Tag Rules / List

Main inventory for activity-driven tag rules, with search, activity and status filters, grouped rows, clone, edit, and run actions.

How to use this guide

Start with the main guide

Follow the explanation and examples first. Extra definitions and formulas are available below when you need them.

What this page shows

This page is the operational inventory for all saved activity tag rules. Operators use it to find an existing rule, confirm which activity it listens to, see which tags it adds or removes, and open the appropriate detail or edit flow.

How to read the list

  • ID is the primary stored rule identifier used for navigation and audit lookups.
  • Rule Name is the visible grouped rule name after the page removes the (Add) and (Remove) suffixes when possible.
  • Activity shows which activity event must happen before the rule can apply.
  • Tags shows the visible + tag and - tag chips for grouped rows.
  • Priority controls execution order. Higher values are processed first.
  • Status is the stored isActive state rendered as a badge.

Main actions

  • Create Rule opens the create flow.
  • Apply Filters applies Search, Activity, and Status filters and resets pagination.
  • Edit opens the grouped editor with the add/remove IDs currently retained by the visible row. It does not recover any colliding source rules hidden by grouping.
  • Clone Rule opens the create page with one existing rule preloaded.
  • Run calls the saved-rule manual-run endpoint for the ID or two IDs retained by the visible row. In the traced backend this endpoint returns placeholder zero counters and does not process users or tags.

Important caveats

  • The row grouping is a page convenience. Operators should not assume one visible row means one stored source row.
  • There is no proven uniqueness rule for normalized name, activity, priority, and action. If more than one add or remove rule collides in the same group, the visible row overwrites the earlier retained ID; Edit and Run can then omit hidden stored rules.
  • Run is rendered for inactive rows as well as active rows. The backend rejects an inactive rule; unlike the detail page, the list does not disable the button from isActive.
  • Manual Run currently validates the saved active rule and returns zeroed processed, added, removed, skipped, and errors counters. It does not enumerate users, mutate tags, or create application rows.
  • Search is applied after the source returns the current page, so it is not verified as full-dataset search.
  • Running a grouped row calls only its retained add/remove IDs sequentially. If one call succeeds and a later call fails, the page does not roll back the earlier call.
  • When the list hook has no rules value, the component returns null; it has no dedicated loading or read-error state. An empty array can render the grid's empty behavior, but a failed read is not separately explained on this surface.
  • The list does not provide a durable operator-action history for Run. Recent Applications records live tag outcomes only.

List grouping, filter, action, list-read, and placeholder manual-run behavior have been traced.

More details

Definitions and formulas

Open only the section you need. The relevant section opens automatically when you request help for a specific item on screen.

Calculations10 topicsOpen details

Grouped Rule Row

Logic
The page removes trailing `(Add)` or `(Remove)` from stored rule names to build a base visible name., The page groups source rows when base name, activity ID, and priorities within one point match., A visible row stores at most one retained add-rule ID and one retained remove-rule ID., Additional matching add or remove rows overwrite the previously retained value; no backend uniqueness constraint prevents this collision., Edit and Run use only the retained IDs and can omit colliding stored rows hidden by the group.

Grouped Priority Pairing

Logic
Group membership accepts matching priorities within one point; it is not limited to a unique add/remove pair., The visible grouped priority is the highest priority in the group., This mirrors the create form behavior where the remove rule is submitted one point below the add rule.

Visible tag chips

Logic
Add rules render as a green `+ tag` chip., Remove rules render as a red `- tag` chip., A grouped visible row can show both chips, but each chip reflects only the retained value after any matching rows overwrite earlier values.

Visible timestamps

Logic
`createdAt` and `updatedAt` are formatted by the page as `yyyy-MM-dd HH:mm`., Timestamp formatting is presentation-only and does not change source values.

Filter normalization

Logic
Empty filter values are omitted from applied filters., Activity is converted to a number before list reload., Status is converted to a boolean before list reload., Applying filters resets pagination.

Search scope

Logic
The source first returns a page of rules., The controller then filters that returned rules array by rule name or tag name when search is present., This is not verified as full-dataset search.

Run sequence

Logic
A visible row runs its retained primary/add/remove IDs only., When both retained add and remove IDs exist, the page runs them sequentially., Colliding source rules hidden by grouping are not included., The page blocks duplicate clicks while any selected ID is already marked running., If a later run in a grouped sequence fails, earlier completed runs are not rolled back by the verified page flow., Current successful responses contain zero processed users because the backend method is a placeholder.

Source run caveat

Logic
The source validates that the selected rule exists and is active., The source returns processed, added, removed, skipped, and error counts, all set to zero in the traced implementation., It does not enumerate users, mutate tags, or create application rows., The list permits a click for an inactive row, but backend validation rejects the rule.

Sort caveat

Logic
The page sends order field and direction in list params., Verified source ordering is priority descending and creation time ascending., Arbitrary requested sort-field handling was not proven in the service layer.

Missing list state

Logic
When the list hook has no rules value, the list component returns null., The surface does not render a dedicated initial-loading or read-error message., An empty returned array can continue into the DataGrid empty behavior.
Columns14 topicsOpen details

ID

Primary backend rule identifier used as the row navigation key.

Visual Type
grid-column

Add Rule ID

Add-tag rule ID currently retained by the visible grouped row for Edit and Run.

Visual Type
hidden-row-state
Data Type
ui-state
Caveats
A later colliding add rule overwrites an earlier retained ID, so hidden stored rules can be omitted.

Remove Rule ID

Remove-tag rule ID currently retained by the visible grouped row for Edit and Run.

Visual Type
hidden-row-state
Data Type
ui-state
Caveats
A later colliding remove rule overwrites an earlier retained ID, so hidden stored rules can be omitted.

Rule Name

Visible grouped name for the rule row after the page removes `(Add)` or `(Remove)` suffixes where possible.

Visual Type
link

Activity

Activity event that triggers the rule logic.

Visual Type
badge

Tags

Shows the add/remove tag values retained by the grouped row after matching source rows are folded together.

Visual Type
chip-group
Caveats
Colliding rows can overwrite earlier retained tag values and remain hidden from this chip display.

Priority

Execution order for source rule processing. Higher values are intended to run first.

Visual Type
grid-column

Created

Rule creation timestamp after page formatting.

Visual Type
datetime

Updated

Last update timestamp after page formatting.

Visual Type
datetime

Status

Source active-state flag for the rule.

Visual Type
badge

Actions

Shortcut actions for edit, clone, and source run.

Visual Type
action-group

Running State

Local page state used to disable Run while one or more selected stored rule IDs are already running.

Visual Type
transient-state
Caveats
The list does not disable Run merely because a rule is inactive; backend validation rejects inactive rules.

Pagination

Controls the current source list page and page size.

Visual Type
pagination

Sort

DataGrid sort state sent with the list params.

Visual Type
table-sort
Caveats
Backend service ordering is priority descending then created time ascending; arbitrary requested sort handling is not proven.
Filters3 topicsOpen details

Search

Searches by rule name or tag name inside the current fetched result set.

Type
text
Affects
list_results

Activity

Limits the list to rules attached to one tracked activity.

Type
select
Affects
list_results

Status

Limits the list to active or inactive backend rules.

Type
select
Affects
list_results
Values
All, Active, Inactive
More help

Related pages

Activity Tag Rules

Operator documentation for activity-driven tag automation rules, including list, create, edit, detail inspection, and recent application history.

Activity Tag Rules / Create

Create flow for a new activity tag rule, including optional clone-from-existing behavior, transaction condition testing, and one-or-two-rule save behavior.

Activity Tag Rules / Detail

Rule inspection page with stored identity, conditions, timestamps, impact estimate, run action, delete action, and recent application history.

Activity Tag Rules / Edit

Edit flow for one stored rule or an existing grouped add/remove pair, including grouped form rebuild, condition testing, and update-only save behavior.

Activity Tag Rules / Applications

Read-only recent recorded application rows inside rule detail, including user ID, tag outcome, timestamp, and captured activity payload.

Affiliate Deals / List

Searchable table of affiliate deal rows with PID filter, create action, dashboard shortcut, and edit/delete row actions.