Graph rules
These rules validate the workflow graph structure and topology.GRAPH_EXACTLY_ONE_START
Rule: Workflow must have exactly 1 START step| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
GRAPH_EXACTLY_ONE_END
Rule: Workflow must have exactly 1 END step| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
START_STEP_NO_INCOMING
Rule: START step must not have any incoming transitions| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
END_STEP_SINGLE_INCOMING
Rule: END step must have exactly 1 incoming transition| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
END_STEP_NO_OUTGOING
Rule: END step must not have outgoing transitions| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
TRANSITIONS_UNIQUE
Rule: No duplicate (from, to) transition pairs| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
(fromStepId, toStepId) pairs.
NO_SELF_LOOPS
Rule: Self-loop transitions are not allowed| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
fromStepId !== toStepId for all transitions.
NO_ISOLATED_STEPS
Rule: Steps with no incoming or outgoing transitions are isolated| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
ONLY_SPLIT_GATEWAY_CAN_FAN_OUT
Rule: Only split gateways may have more than one outgoing transition| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
JOIN_GATEWAY_MANY_IN_SINGLE_OUT
Rule: Join gateway must have at least 2 incoming transitions and exactly 1 outgoing transition| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
GATEWAY_PARALLEL_JOIN steps.
CONDITIONAL_SPLIT_SINGLE_DEFAULT
Rule: Conditional split gateway must have exactly 1 default transition| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
GATEWAY_EXCLUSIVE_SPLIT and GATEWAY_INCLUSIVE_SPLIT.
EXCLUSIVE_SPLIT_TWO_OUTGOING
Rule: Exclusive gateway must have exactly 2 outgoing transitions (1 default, 1 conditional)| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
GATEWAY_EXCLUSIVE_SPLIT steps.
ONLY_EXCLUSIVE_INCLUSIVE_STEP_HAVE_CONDITION
Rule: Regular steps cannot have conditional transitions| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
MISSING_BATCH_ITERATOR
Rule: Batch workflow should have an iterator| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GRAPH_INVALID |
iterable property.
ID rules
These rules ensure unique identifiers across workflow entities.STEP_IDS_UNIQUE
Rule: Step IDs must be unique| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | ID_INVALID |
TRANSITION_IDS_UNIQUE
Rule: Transition IDs must be unique| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | ID_INVALID |
STEP_GROUP_IDS_UNIQUE
Rule: Step group IDs must be unique| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | ID_INVALID |
Group rules
These rules validate step grouping and organization.NO_GROUP_FOR_SPECIAL_NODES
Rule: Start/end/gateways cannot be grouped| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GROUPING_INVALID |
GROUP_STEP_IDS_EXISTS
Rule: Step group contains stepIds that do not reference existing steps| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GROUPING_INVALID |
STEP_BELONGS_TO_ONLY_ONE_GROUP
Rule: Each step can only belong to one group| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GROUPING_INVALID |
STEP_GROUP_CANNOT_BE_EMPTY
Rule: Each step group must contain at least one step| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GROUPING_INVALID |
LEGACY_SERVICE_REQUEST_REQUIRES_STEP_GROUPS
Rule: Workflow with legacyServiceRequestType must have at least one step group| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | GROUPING_INVALID |
legacyServiceRequestType is set, at least one stepGroup must exist.
Legacy service request rules
These rules validate legacy service request mappings and compatibility.LEGACY_SERVICE_REQUEST_TYPE_GROUP_TASK_UNIQUE
Rule: Multiple steps share the same legacy combination (serviceRequestType, taskGroup, taskKey)| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | LEGACY_CONFIG_INVALID |
(serviceRequestType, taskGroupKey, taskKey) must be unique across all steps.
LEGACY_SERVICE_REQUEST_TASK_GROUP_EXISTS_IN_TEMPLATE
Rule: Step group with legacyServiceRequestTaskGroupKey does not exist in serviceRequestTemplate| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | LEGACY_CONFIG_INVALID |
legacyServiceRequestTaskGroupKey must exist in the service request template.
LEGACY_SERVICE_REQUEST_TASK_EXISTS_IN_TEMPLATE
Rule: Step with legacyServiceRequestTaskKey does not exist in the corresponding taskGroup template| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | LEGACY_CONFIG_INVALID |
legacyServiceRequestTaskKey must exist in the corresponding taskGroup’s tasks in the template.
LEGACY_SERVICE_REQUEST_TASK_ONLY_ON_HUMAN_STEP
Rule: Only human steps can have legacyServiceRequestTask mapping| Property | Value |
|---|---|
| Severity | ERROR |
| Error Code | LEGACY_CONFIG_INVALID |
legacyServiceRequestTaskKey set.
Error code summary
| Error Code | Category |
|---|---|
GRAPH_INVALID | Workflow graph structure issues |
ID_INVALID | Duplicate or missing identifiers |
GROUPING_INVALID | Step grouping issues |
LEGACY_CONFIG_INVALID | Legacy mapping issues |
Next steps
Service request integration
Legacy service request mapping
Creating workflows
Build your first workflow