Tags label your entities; tagging rules assign them automatically. Tags drive
alerts and workflow triggers,
so this is the “classify” half of ingest → classify → automate. For the user guide, see
Tags & tagging rules.
Tag model
| Field | Meaning |
|---|
name | Tag name (unique per organization). |
type | Kind: DATA (auto-assigned by rules), BUSINESS (manual classification), or MIXED. |
color | Optional UI color. |
description | Optional. |
labels | Optional free-form metadata (string array). |
A tag is applied to an entity through a tag assignment:
| Field | Meaning |
|---|
tagId | The tag. |
resourceId + resourceType | The entity and its kind: PRODUCT, BRAND, VARIANT, INVENTORY_ITEM. |
Assignments are unique on (tagId, resourceId, resourceType, organizationId) — a tag can
be on an entity at most once.
Tagging rule shape
A rule binds a tag to a set of conditions (and an optional scope):
| Field | Meaning |
|---|
tagId | The tag this rule assigns. |
name | Rule name (also the stable matching key on upsert). |
description | Optional. |
conditions | What must be true — see Conditions. |
scope | Which entities to evaluate, and propagation — see Scope & propagation. |
isActive | Whether the rule runs in automated evaluations. |
{
"name": "Auto-tag: Stockout in 7 days",
"tagId": "<uuid>",
"conditions": { "operator": "AND", "rules": [ /* … */ ] },
"scope": { "entityType": "INVENTORY_ITEM" },
"isActive": true
}
A rule has no kind of its own — it inherits its tag’s type. Multiple rules can target
the same tag.
How rules apply
Tags aren’t applied live on edit; they’re (re)computed by a tag evaluation run that
evaluates active rules and creates/removes assignments accordingly — see
Runs & examples.