A router activity is an activity with the Activity Type field (on the Security tab) set to Route
. When referenced in a flow rule, a router
that computes or derives a workbasket or Operator ID name and
adds a new assignment to that workbasket or to a user's
worklist.
At runtime, the router activity determines which workbasket or worklist receives the new assignment. The router activity can consider skills, backlogs, facts in the work object, urgency, deadlines, and other factors in making this determination.
Routing is one of the six R- aspects of business process management.
Routing occurs as the system creates an assignment. When editing a flow rule, you can control routing using any of three options:
To create a route activity, note these characteristics:
Route
. AssignTo
. (Only input parameters need to be
declared on the Parameters tab of
the Activity form.)For example, the standard activity Work-.ToDefaultWorkbasket routes an assignment to the default workbasket associated with the current user.
In many business processes, tasks to be performed by human workers are stored in central in-baskets or electronic equivalents of in-baskets. A supervisor reviews the tasks and assigns them to a worker on her team, or workers select an item to work on when they become idle. This approach is called "pulling" work.
In other settings, work is sent directly to workers based on their availability or other criteria such as skills, regions, or customer account number. This is called "pushing" work.
Process Commander supports both approaches. Your routing activities can place assignments in workbaskets, or can send the assignments to worklists.
Intelligent routing compares characteristics of the new assignment and characteristics of the workforce to make a good-match or best-match assignment. Standard activities and functions support intelligent routing, which can significantly affect organizational throughput and productivity.
The standard Routing library includes several functions useful in router activities. For example, the getSubstitute() function identifies a substitute operator for an operator who is not available.