Skip to main content

Resolving flow issues by using problem flows 

In the Pega Platform™, when you finish an Assignment and encounter a problem within the workflow, the system temporarily stops the primary flow run and begins a standardized problem flow. This standardized problem flow enables administrators to determine the appropriate course of action to address and resolve the workflow issue.

Pega Platform provides four standard problem flows:

  • FlowProblems for general process configuration issues.
  • pzStageProblems for Stage configuration issues.
  • ConnectionProblem for interface issues.
  • pyRemoteProblem for problems in creating instances of Cases on the remote system.

The problem flow administrator identifies and manages problem flows on the Flow Errors landing page.

Note: As a best practice, override the default workbasket or impacted operator settings in the getFlowProblemOperator activity of your application to route the issue to the appropriate destination.

Flow problems

Flow problems are error conditions that occur during the run of a flow, impeding its continuous progression. For example, the flow might try to reference a Rule that the system cannot find at runtime. This scenario is a flow problem, which can arise from various sources. 

Here are some conditions that can trigger a flow problem:

  • The flow Rule references a Rule that does not exist or a Rule that the CSR (or background processing) who is running the flow lacks the required Rulesets, versions, Access Roles, privileges, or other prerequisites for implementation.    
  • The flow Rule references a non-existent data instance, for example, a workbasket, operator, organization, Work Group, or Access Group.   
  • The run of the flow is stuck; after a Decision shape, none of the outgoing Connectors evaluate to true.   
  •  An activity failed, or a connector Rule has failed or timed out.   
  • The work object contains invalid data, which leads to one of the conditions mentioned previously.   
  • The database, hardware, network, or system software has failed.

You can customize the flowProblems flow to support your requirements. Copy the flowProblems flow to your Application. Do not change the name key.

 Assume that you want to notify the manager when cancellations occur. For this requirement, add a Send Email smart shape to each CancelAssignment action. When a CancelAssignment action is submitted, the system sends an email to the configured recipient.

In the following diagram, the flowProblems flow has two Assignments, one that routes to a Work Queue and the other to a Worklist. Both Assignments route to Param.OperatorToInform. Both Assignments have four actions:

  • CancelAssignment
  • RestartProblemflow
  • RetryProblemStep
  • RetryFromBeginning
The flowProblems flow has two Assignments.

Stage-related problem flow

Alterations to stage configurations, such as the removal or relocation of a Stage, can result in flow problems. When Pega Platform cannot process an Assignment because of a Stage-related issue, the system initiates the standard pzStageProblems flow.

The following diagram shows how the system defines the pzStageProblems flow. The fork at the top advances the Assignment if the flow runs in App Studio. Otherwise, the flow pauses at an Assignment named pzStageProblems. Two actions are available: Change Stage and Cancel Assignment.

The configuration of the the pzStageProblems flow.

Interface related problem flow

A flow run can call an external system for various reasons using interfaces. A tested connector interface may fail or time out, which causes the processing of work items in the flow Rule to halt. To facilitate the detection of problems and analysis or repair of such events, you can designate a flow Rule for connector exceptions in your application. Failure of an interface causes the designated flow Rule to start.

For connectors, Pega Platform calls the ConnectionProblem flow. The original flow run is paused. The system calls the ConnectionProblem flow with the following parameters:

  • Operator to inform.
  • The Applies To and Flow Name key parts of the original flow run.
  • The name of the step in which the problem occurred.
  • A Connector Exception type.
  • An error message.
  • An Assignment type (workbasket or Worklist), which indicates where to place a resulting Assignment.

The following figure shows how the system defines the ConnectionProblem flow. The fork at the top decides the path to take. For all the exception types other than ResourceUnavailable, processing continues in a FlowProblems flow. If the exception type is ResourceUnavailable, the system attempts up to five retries by using the RetryConnection activity at intervals determined by a Service-Level Agreement (SLA).

IncompleteConnections is the default Work Queue for the resultant assignment. A developer who accesses the Work Queue can either cancel the Assignment (which ends both the ConnectionProblem flow and the original flow) or attempt to restart the original flow, perhaps after taking corrective action.

A connection problem flow.

You can override and customize the ConnectionProblem flow to support your requirements. The flow Rule can send out email correspondence, attempt retries, skip over the integrated step, or send an assignment to a user. 

Remote system-related problem flow

Pega Platform calls pyRemoteProblem for problems creating instances of Cases on the remote system. It again calls FlowProblems flow to handle the problem, as shown in the following diagram:

Remote problem flow.

Data structure for flow executions

Several system-maintained properties in a work item record the current state of the flow run that is in process. For example, the integer property @baseclass.pxFlowCount indicates how many flow runs are in process for the work item.

The  page group property @baseclass.pxFlow contains a page of facts about each run:

  • pyFlowType: The second key part of the flow.
  • pxAssignmentKey: Key of the current assignment instance for this flow run. Typically, there are instances of the Assign-Workbasket or Assign-Worklist class.
  • pyLastFlowStep: Internal name of the most recent shape or connector processed.
  • pyNextFlowStep: Internal name of the next shape or connector to be processed.
  • pyFlowParameters: A classless page that contains the parameters used to start this flow.

Check your knowledge with the following interaction:


This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice