Assign Node
TLDR: Assign nodes modify agent attributes instantly as agents pass through. Build rules with conditions, set or change values, and optionally transform agent types. No processing time is added.
Assignment Rules
The properties panel shows a list of rules with a badge indicating the total count. Each rule is a collapsible card with:
Structure of a Rule
- Condition — when this rule applies (e.g., "If agent type is Customer" or "If priority > 3"). Leave blank to apply to all agents.
- "THEN ASSIGN" — the assignments to make when the condition matches
- Assignments — one or more attribute changes, built with a sentence-style editor
Assignment Operators
| Operator | Meaning | Example |
|---|---|---|
= | Set to value | priority = 1 |
+= | Add to current value | cost += 10 |
-= | Subtract from current value | remaining -= 1 |
*= | Multiply current value | price *= 1.1 |
/= | Divide current value | score /= 2 |
Agent Type Transformation
A rule can optionally change the agent's type. When it does, a yellow warning box appears: "This rule transforms [source] → [target]". This is useful for triage (transforming "Patient" into "SeverePatient" or "MinorPatient").
Ordering Rules
Rules apply from top to bottom. If multiple rules match, all of them apply in order. Use the up/down chevron buttons on the left side of each rule to reorder.
Click "Add Assignment Rule" at the bottom to add more rules.
Assign nodes apply instantly — they add zero delay to your simulation. Use them anywhere you need to tag, classify, or modify agents without affecting timing.
Path Control
Only visible when 2 or more outgoing connections exist.
Same routing options as other nodes. A common pattern is to use an Assign node to set an attribute, then use Conditional routing on the next node to route based on that attribute.
Use Cases
- Set priority for queuing: If severity is "critical" → priority = 1. Then use a Priority queue on the downstream Processor.
- Track costs: Add cost at each step (cost += 50 at registration, cost += treatment_cost at treatment).
- Mark for routing: If order_value > 100 → tier = "premium". Then route premium vs standard downstream.
- Transform agent types: After triage, change "Patient" to "SeverePatient" or "MinorPatient" based on ESI level.
The most powerful pattern: use Assign to classify agents, then use Conditional Path Control on the next node to send them down different paths. This replaces most Separator routing use cases.