Rule Library

Governance Rule Playbooks

73 governance rules across 9 categories, each with severity rating, detection scope, and step-by-step remediation guidance. Rules are applied automatically on every workflow upload.

73 active rules9 categoriesUiPath · Power Automate · Automation Anywhere

Credentials & Secrets

5 rules

Error Handling

10 rules

Observability

2 rules

PII Handling

3 rules

Governance

6 rules

Maintainability

40 rules
highPA-009

PA-009: Power Automate Initialize variable inside a loop

An `Initialize variable` action is nested inside a Foreach or Do Until scope. Variables must be initialized at the top level of the flow; nesting them inside a loop either fails at design-time or silently resets the value on each iteration.

powerautomate
mediumFC-UIP-ANA-002

FC-UIP-ANA-002: Empty workflow

Workflow has no executable activities.

uipath
mediumFC-UIP-ARG-001

FC-UIP-ARG-001: High argument count

Workflow declares more arguments than the configured maintainability threshold.

uipath
mediumFC-UIP-ARG-003

FC-UIP-ARG-003: Undefined output argument

An Out or InOut argument is declared on the workflow but no activity in the body assigns a value to it. Callers will receive the type's default value.

uipath
mediumFC-UIP-CODE-001

FC-UIP-CODE-001: Invoke code size limit

InvokeCode body exceeds the configured maximum number of lines.

uipath
mediumFC-UIP-DBP-010

FC-UIP-DBP-010: Multiple workflow or test case markers

Workflow file contains more than one [Workflow] or [TestCase] marker.

uipath
mediumFC-UIP-DLY-001

FC-UIP-DLY-001: Hard-coded delay activity

Hard-coded Delay activity detected.

uipath
mediumFC-UIP-FLOW-001

FC-UIP-FLOW-001: Nested flowchart

Flowchart is nested inside another flowchart.

uipath
mediumFC-UIP-FLOW-002

FC-UIP-FLOW-002: Large flowchart

Flowchart contains more nodes than the configured maintainability threshold.

uipath
mediumFC-UIP-FLOW-005

FC-UIP-FLOW-005: Unreachable flowchart activity

Flowchart node cannot be reached from the flowchart's start node.

uipath
mediumFC-UIP-MRD-007

FC-UIP-MRD-007: Nested If clauses

If activity is nested more than three levels deep.

uipath
mediumFC-UIP-NEST-001

FC-UIP-NEST-001: Excessive nesting

Workflow nesting depth exceeds recommended threshold.

uipath
mediumFC-UIP-NMG-005

FC-UIP-NMG-005: Variable overrides variable

Variable shadows another variable with the same name in an outer scope.

uipath
mediumFC-UIP-NMG-006

FC-UIP-NMG-006: Variable overrides argument

Variable has the same name as a workflow argument.

uipath
mediumFC-UIP-NMG-017

FC-UIP-NMG-017: Class name matches default namespace

Workflow class name matches the project default namespace.

uipath
mediumFC-UIP-PERSIST-002

FC-UIP-PERSIST-002: Persistence with non-serializable variable

Workflow uses persistence while declaring a variable type that is unlikely to serialize safely across a persisted boundary.

uipath
mediumFC-UIP-PMG-002

FC-UIP-PMG-002: Windows project incompatible expression

Project uses the C# expression language but a workflow still contains Visual Basic-only expression syntax.

uipath
mediumFC-UIP-USG-005

FC-UIP-USG-005: Hardcoded activity property

Configured activity property receives a hardcoded literal value.

uipath
mediumFC-UIP-VAR-001

FC-UIP-VAR-001: Duplicate variable name

Multiple variables declared with the same name.

uipath
lowFC-UIP-ANA-003

FC-UIP-ANA-003: Uncommented activities count

Workflow has fewer annotated activities than the configured minimum percentage.

uipath
lowFC-UIP-CMT-001

FC-UIP-CMT-001: Commented-out code

Commented-out activity left in the workflow.

uipath
lowFC-UIP-EMPTY-001

FC-UIP-EMPTY-001: Empty sequence

Sequence has no executable child activities.

uipath
lowFC-UIP-MRD-002

FC-UIP-MRD-002: Activity name defaults

Activity still uses its generated default display name.

uipath
lowFC-UIP-MRD-005

FC-UIP-MRD-005: Redundant sequence

Sequence wraps too few executable child activities.

uipath
lowFC-UIP-MRD-006

FC-UIP-MRD-006: Unused argument

Argument is declared but never referenced in the workflow body.

uipath
lowFC-UIP-MRD-017

FC-UIP-MRD-017: Incomplete If activities

If activity has no executable Then branch.

uipath
lowFC-UIP-NMG-001

FC-UIP-NMG-001: Variable naming convention

Variable name does not match the configured naming convention.

uipath
lowFC-UIP-NMG-002

FC-UIP-NMG-002: Argument naming convention

Argument name does not match the configured direction-based naming convention.

uipath
lowFC-UIP-NMG-004

FC-UIP-NMG-004: Duplicate display name

Multiple activities use the same display name.

uipath
lowFC-UIP-NMG-008

FC-UIP-NMG-008: Variable name length exceeded

Variable name exceeds the configured length limit.

uipath
lowFC-UIP-NMG-009

FC-UIP-NMG-009: DataTable variable prefix

DataTable variable does not use the dt_ prefix.

uipath
lowFC-UIP-NMG-011

FC-UIP-NMG-011: DataTable argument prefix

DataTable argument does not include the dt_ prefix after its direction prefix.

uipath
lowFC-UIP-NMG-012

FC-UIP-NMG-012: Argument default value

Argument has no default value.

uipath
lowFC-UIP-NMG-016

FC-UIP-NMG-016: Argument name length exceeded

Argument name exceeds the configured length limit.

uipath
lowFC-UIP-PERSIST-001

FC-UIP-PERSIST-001: Persistence activity

Workflow uses a long-running orchestration persistence activity (Persist, PersistDelay, TriggerScope, Pick).

uipath
lowFC-UIP-PKG-001

FC-UIP-PKG-001: Unused dependency

Package is declared in project.json but no workflow references an assembly from that package.

uipath
lowFC-UIP-PMG-001

FC-UIP-PMG-001: Duplicate activity IdRef

Multiple activities share the same `sap2010:WorkflowViewState.IdRef` value. Studio relies on these IDs being unique for designer state and review tooling.

uipath
lowFC-UIP-USG-004

FC-UIP-USG-004: Flat folder structure

Project workflow layout is too flat. Too many workflows sit in the project root with no supporting subfolder organization.

uipath
lowFC-UIP-USG-009

FC-UIP-USG-009: Unused variable

Variable is declared but never referenced.

uipath
lowPA-006

PA-006: Power Automate empty Scope action

A Scope action contains no nested actions; the wrapper has no effect and is likely abandoned scaffolding or dead code.

powerautomate

Hardcoded Values

2 rules

Performance

4 rules

Selector Quality

1 rule

Rules are applied automatically when you upload a workflow. No configuration required on Starter. Policy packs let you override severity thresholds and add exemptions on Growth and above.