Workflow actions and execution options


You define workflow by specifying the actions that active links, filters, and escalations should perform under specified circumstances. The circumstances are called execution options

Important

Workflow components cannot exist independently of forms. Hence, you must create workflow components for a single form, or share workflow components with multiple forms.

The basic questions about workflows are What can I do, and when can I do it?.  The actions that workflows can take are the what, and the execution options are the when.  For example, users could click a button labeled Display My Active Cases to display a list of all requests assigned to the user. The following image shows an example of a basic workflow:

221_Workflow_DisplayMyActiveCases.png

You can refine execution options by specifying a qualification that must be met before an action is taken. Qualifications are often required to ensure that workflow actions apply only to certain requests. In addition, carefully designed qualifications make workflow components more efficient and powerful.

You can specify a primary action and an alternative action. If an operation meets the qualification, the primary if action is performed; if not, the alternative else action is performed, as shown in the following figure. The following image shows an example of a workflow with qualification: 

221_workflow_with qualification.png

Workflow actions

The following table lists some of the actions that active links, filters, and escalations can perform. For a complete list, see the Types-of-workflow-actions topic.

Action

Description

Active link

Filter

Escalation

Change Field

Changes the appearance of fields. For example, a Change Field action can perform one or more of these actions:

  • Move the cursor or keyboard focus to a field.
  • Hide or display a field. For example, an active link might hide all fields related to telephone problems when users report network problems.
  • Change a field's accessibility to read-only, read/write, or disabled.
  • Change the color of a field label or trim text.
  • Change the menu attached to a character field. For example, if a form for scheduling a meeting has a field for the building, the menu of meeting rooms attached to the meeting room field might change to match the specified building.
  • Refresh the data in a table field.
  • Change the label of a field.
  • Expand or collapse a collapsible panel field.

✅️



Close Window

Closes the current window.

✅️



Message

Prompts with advice, gives reactive information, warns of a particular situation, or presents an error message and stops the processing of current workflow.

Active links run on the client, so they can display messages immediately. For example, when users fill in a particular field, an active link could warn that a related field must be filled in first. Active link messages can appear in different display formats, such as a dialog box, the Prompt Bar, or a tooltip.

Filters run on the server, so they are useful for checking entire transactions and sending error messages or informational messages. For example, a filter could display a message indicating that the support staff has been notified about a problem.

✅️

✅️


Notify

Sends event notifications to users or groups by email, or a custom mechanism, such as a Windows service that notifies users. For example, a filter might notify support staff when they are assigned a request. Or an escalation might notify the service department when an asset warranty has expired.


✅️

✅️

Open Window

Opens a window of any type in the client. The action can open a New window and load some default data. Or it can open a Modify window with requests matching a specified qualification. This action can also open a dialog box. Data can be passed between the dialog box and the window that calls it. Processing of active links from the calling window is suspended until the dialog box interaction is completed.

✅️



Push Fields

Changes the values of fields in another request to the values in the current request; that is, it pushes the values from the current request to another request. This action can also change the value to a keyword or a function. You can use Push Fields to set values in related requests or to create requests that are associated with the current one. For example, you can use this action to create multiple work orders for a telephone connection, a network address, and new furniture when an employee is hired.

✅️

✅️

✅️

Run Process

Runs a separate process or program on the server for filters and escalations or on the Windows client or server for active links. For example, a filter can send a notification, or an active link can launch a browser on a user's desktop.

✅️

✅️

✅️

Service

Works with a AR System web service to obtain external services or with a Set Fields filter action to consume an internal AR System service.

✅️

✅️

✅️

Set Fields

Sets fields on a form to specified values. For example, a filter can automatically set the Status field to Assigned every time a name is entered in the Assigned To field. The value set in a field can be static, a keyword value, or a value retrieved from another data source.

✅️

✅️

✅️

Workflow execution options

Execution options determine when workflow runs. For active links and filters, you specify what event triggers the workflow. For escalations, you specify the execution schedule for the workflow. For all workflow components, you can refine the execution option by adding a qualifying statement that tells the system which set of actions to run if the additional criteria are met and which set to run if the criteria are not met.

Active link and filter execution options

The following table lists examples of execution options for active links and filters. For a complete list, see Creating-workflow-objects.

Execution option

Description

Active link

Filter

Button/Menu Field

Runs when a user selects the button or menu item associated with the active link.

✅️


Gain Focus

Runs when a user or a Change Field action moves the cursor to a field.

✅️


Display

Runs after a request is loaded into a form but before the request appears in the Details pane.

✅️


Hover on Field
Hover on Data
Hover on Label

Runs when a user hovers the mouse pointer over a field, field data, or a field label. To display tooltips, use a Hover execution option to trigger a Message action.

✅️


Lose Focus

Runs when a user or a Change Field action moves the cursor out of a field.

✅️


Menu Choice

Runs when a user chooses an item from a character menu associated with a specified field.

✅️


Modify

Runs after a user modifies an existing request but before the request is sent to the AR System server for active links or to the database for filters. An active link with this execution option does not run during a Modify All operation.

✅️

✅️

Service

Enables filters to be called by the Service action.


✅️

Submit

Runs after a user submits a new request but before the request is sent to the AR System server for active links or to the database for filters.

✅️

✅️

Table Refresh

Runs when a user updates a table's contents by loading the field, sorting, refreshing, or displaying the previous or next part or chunk of the table.

✅️


Window Open

Runs when a user opens a form or dialog box or changes a form to a different mode. This option is especially useful for establishing initial environments. It runs before any data is loaded into the window.

✅️


Execution options and user actions

Some execution options depend on how a user interacts with fields on the form. For example, if the user does not click a particular button, that active link does not run the user controls whether the active link runs. Use user-controlled execution options to provide additional helpful information, such as a list of nearby printers. 

Active links that are not under a user's control, however, run whenever the user finishes a task. That is, if the user follows the normal steps, from opening a window through closing the window, the active links not under explicit user control always run. If a user does not submit or modify the request, the active links that run on Submit or Modify do not run.

To ensure that consistent, complete data is maintained regardless of whether users perform certain actions, use execution options that are not controlled by users . For example, to guarantee that every submitted request includes the host name, an active link could retrieve the host name of the client and copy it to a field on the form whenever a request is submitted.

Execution order of active links and filters

Active link execution options have an implicit order in relation to one another and to the interaction between the client and server. You can use this order to control when the active link runs. For example:

  • If field values are required for workflow processing before a request is displayed, you would set them on Window Open. However, to set any values that you want the user to see when a request is displayed, you would use the Display execution option.
  • An active link that runs on Window Open might check the user's permission to open a Modify All window and, if the user does not have permission, generate an error message, preventing the window from opening.

More than one active link or filter can run on the same execution option. In this case, you can specify the order that you want it to run in relation to the other active links or filters. One reason to do so is that the output of one active link can affect another active link. By carefully ordering a group of active links, you can perform complex operations. 

When active links and filters are bundled into guides, the execution order within the guides is ignored. Instead, the workflow runs in a positional order within a guide. This process enables a guide procedure to run without affecting the order of the workflow outside the guide.


Escalation execution options

In contrast to active links and filters, which react to events, escalations respond to the passage of time. You can trigger an escalation at a specific time, such as every Monday at 6 A.M., or at a time interval, such as 8 hours after each run of the escalation. 

When the specified time arrives, the server searches for requests in the database that meet the escalation's qualification. If it finds any, the server runs the escalation's primary if actions for each matching request. If no requests meet the qualification, the server runs the escalation's alternative else actions, if any. The following figure illustrates how escalations work: 

221_EscalationExecutionOptions.png

An alternative else action for this example might be to notify the manager that all requests comply with the assignment rule. This action would run only if no requests meet the escalation qualification.

An escalation does not process records on a form according to its execution order. Because the AR System server follows the chunking approach to process the matching records.


Where to go from here

Specifying workflow actions

Defining workflow to automate processes

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*