Panel for the field_set workflow node. One grouped dropdown for field selection, one dynamic value control based on field type. No conditions UI — node always runs.
┌──────────────────────────────────────────┐
│ Set Field [x] │
│──────────────────────────────────────────│
│ │
│ Target Field │
│ ┌────────────────────────────────────┐ │
│ │ Select a field... ▼ │ │
│ └────────────────────────────────────┘ │
│ │
│ Value │
│ ┌────────────────────────────────────┐ │
│ │ (disabled — select a field first) │ │
│ └────────────────────────────────────┘ │
│ │
│ ℹ This node always runs when reached. │
│ Use a Condition Branch for conditional │
│ execution. │
│ │
│ [Delete] [Save] │
└──────────────────────────────────────────┘
Groups come from entity type. No source selector needed.
┌────────────────────────────────────┐
│ ── Model Information ──────────── │ ← core fields
│ Tiering │
│ Business Unit │
│ Use Case │
│ Vendor Model │
│ Vendor Name │
│ ── Model Inventory Fields ─────── │ ← custom fields
│ Risk Level │
│ Is Automated │
│ Reviewers │
│ Target Completion Date │
│ Applicable Regulations │
│ Executive Summary │
│ Compliance Rating │
└────────────────────────────────────┘
┌────────────────────────────────────┐
│ ── Artifact Information ────────── │ ← core fields
│ Severity │
│ ── Artifact Fields ───────────── │ ← custom fields
│ Remediation Plan │
│ Impact Assessment │
│ Is Escalated │
└────────────────────────────────────┘
Badge picker — org-defined tiers.
│ Target Field │
│ ┌────────────────────────────────────┐ │
│ │ Tiering ▼ │ │
│ └────────────────────────────────────┘ │
│ │
│ Value │
│ ┌────────────────────────────────────┐ │
│ │ ○ Tier 1 ○ Tier 2 ● Tier 3 │ │
│ │ ○ Tier 4 ○ Clear │ │
│ └────────────────────────────────────┘ │
Stores: "Tier 3" (string)
Org-scoped dropdown.
│ Target Field │
│ ┌────────────────────────────────────┐ │
│ │ Business Unit ▼ │ │
│ └────────────────────────────────────┘ │
│ │
│ Value │
│ ┌────────────────────────────────────┐ │
│ │ Select business unit... ▼ │ │
│ └────────────────────────────────────┘ │
│ ┌────────────────────────────────────┐ │
│ │ Retail Banking │ │
│ │ Capital Markets │ │
│ │ Wealth Management │ │
│ │ ── Clear ── │ │
│ └────────────────────────────────────┘ │
Stores: "cuid_retail_banking_xxx" (CUID)
Org-defined severity levels.
│ Target Field │
│ ┌────────────────────────────────────┐ │
│ │ Severity ▼ │ │
│ └────────────────────────────────────┘ │
│ │
│ Value │
│ ┌────────────────────────────────────┐ │
│ │ ● ■ Critical │ │
│ │ ○ ■ High │ │
│ │ ○ ■ Medium │ │
│ │ ○ ■ Low │ │
│ │ ○ Clear │ │
│ └────────────────────────────────────┘ │
■ = color swatch from severity config.
Stores: "cuid_severity_critical_xxx" (CUID)
Radio list from field's values[] config.
│ Target Field │
│ ┌────────────────────────────────────┐ │
│ │ Risk Level ▼ │ │
│ └────────────────────────────────────┘ │
│ │
│ Value │
│ ┌────────────────────────────────────┐ │
│ │ ○ Low │ │
│ │ ○ Medium │ │
│ │ ● High │ │
│ │ ○ Critical │ │
│ │ ○ Clear │ │
│ └────────────────────────────────────┘ │
Stores: "High" (string)
Checkbox list from field's values[] config.
│ Target Field │
│ ┌────────────────────────────────────┐ │
│ │ Applicable Regulations ▼ │ │
│ └────────────────────────────────────┘ │
│ │
│ Value │
│ ┌────────────────────────────────────┐ │
│ │ ☑ SOX │ │
│ │ ☐ GDPR │ │
│ │ ☑ BCBS │ │
│ │ ☐ Clear all │ │
│ └────────────────────────────────────┘ │
Stores: ["SOX", "BCBS"] (string[])
Yes/No toggle.
│ Target Field │
│ ┌────────────────────────────────────┐ │
│ │ Is Automated ▼ │ │
│ └────────────────────────────────────┘ │
│ │
│ Value │
│ ┌────────────────────────────────────┐ │
│ │ ☑ Yes ☐ No ☐ Clear │ │
│ └────────────────────────────────────┘ │
Stores: true (boolean)
Searchable user picker with chips.
│ Target Field │
│ ┌────────────────────────────────────┐ │
│ │ Reviewers ▼ │ │
│ └────────────────────────────────────┘ │
│ │
│ Value │
│ ┌────────────────────────────────────┐ │
│ │ Search users... │ │
│ │ ┌──────────┐ ┌──────────────────┐ │ │
│ │ │ × J.Park │ │ × M.Rodriguez │ │ │
│ │ └──────────┘ └──────────────────┘ │ │
│ │ ┌────────────────────────────────┐ │ │
│ │ │ Ana Torres │ │ │
│ │ │ David Chen │ │ │
│ │ │ Lisa Kumar │ │ │
│ │ └────────────────────────────────┘ │ │
│ └────────────────────────────────────┘ │
Stores: ["cuid_jpark_xxx", "cuid_mrodriguez_xxx"] (CUID[])
Date picker.
│ Target Field │
│ ┌────────────────────────────────────┐ │
│ │ Target Completion Date ▼ │ │
│ └────────────────────────────────────┘ │
│ │
│ Value │
│ ┌────────────────────────────────────┐ │
│ │ 📅 2026-06-30 ▼ │ │
│ │ Clear │ │
│ └────────────────────────────────────┘ │
Stores: "2026-06-30" (ISO string)
Free text input.
│ Target Field │
│ ┌────────────────────────────────────┐ │
│ │ Vendor Name ▼ │ │
│ └────────────────────────────────────┘ │
│ │
│ Value │
│ ┌────────────────────────────────────┐ │
│ │ Acme Analytics Inc. │ │
│ │ Clear × │ │
│ └────────────────────────────────────┘ │
Stores: "Acme Analytics Inc." (string)
Number input.
│ Target Field │
│ ┌────────────────────────────────────┐ │
│ │ Compliance Rating ▼ │ │
│ └────────────────────────────────────┘ │
│ │
│ Value │
│ ┌────────────────────────────────────┐ │
│ │ 85 Clear │ │
│ └────────────────────────────────────┘ │
Stores: 85 (number)
Shows field name and value summary. Adapts to content:
┌─────────────────────────────┐
│ ✎ Set Field │ ← unconfigured
│ Configure │
└─────────────────────────────┘
┌─────────────────────────────┐
│ ✎ Set Field │ ← single value
│ Tiering → Tier 3 │
└─────────────────────────────┘
┌─────────────────────────────┐
│ ✎ Set Field │ ← boolean
│ Is Automated → Yes │
└─────────────────────────────┘
┌──────────────────────────────┐
│ ✎ Set Field │ ← multi value, truncated
│ Reviewers → J.Park +1 more │
└──────────────────────────────┘
┌──────────────────────────────┐
│ ✎ Set Field │ ← clear action
│ Risk Level → (clear) │
└──────────────────────────────┘
- One field per node (MVP). Schema supports multiple assignments for future.
- Clear is always an option — sets the field to null.
- No condition UI in the panel. Conditional execution is done by placing a Condition Branch node before this one on the canvas.
- Field dropdown groups match the existing field grouping pattern used elsewhere in the app (
Model Information,Model Inventory Fields,Artifact Information,Artifact Fields). - Value controls should reuse existing field edit components wherever possible (TierLevelBadgePicker, BusinessUnitsSelect, etc.).
- Core fields that already have dedicated nodes (status/stage) are excluded from the dropdown.