Configuring custom approval chains
This topic explains how to create custom approvals by using approval chains. You must use an approval chain when you set the Approval Type option to Custom on the Service Request tab in the SRD.
The following information is provided:
About approval chains
An approval chain associates a service request with an approval process (or processes). You can create a custom approval chain to link different kinds of approval processes together so that they occur one after the other in sequence. For example, you can configure an approval chain so that a service request must be approved first by the user's manager and then by a group, such as IT.
You can configure BMC Service Request Management so that one service request uses a particular approval chain but another service request uses a different chain.
You can set workflow actions that occur when a particular result is returned from an approval process:
- Set Fields action — You can set values to fields on the application request (using a Set Fields action).
- Next Process action — You can add another approval process, including up to five total processes in a chain.
Furthermore, you can run multiple actions for a particular approval result. For example, you might set certain field values in the service request and run another approval process in the approval chain.
You can also use a user's response to questions to drive the selection of an approval chain. For example, you create a service request definition (SRD) that asks the user to select one of two options in response to a question. If the user selects option A, approval chain A is selected, triggering a specified approval process. If the user selects option B, approval chain B is selected, triggering a different approval process.
You must specify a qualification in the Selection Criteria field to determine which approval chain is triggered when a user submits a service request. The qualification might include the name of an SRD or information from the service request. For example, if you enter Facilities in the Category 1 field, the approval chain applies to all of the service requests in the Facilities navigation category. You can narrow the criteria further by entering a more selective qualification.
The Order field controls the order in which the approval criteria are evaluated for a service request, with 0 being the first. Use order value 0 for the most restrictive selection criteria, and higher order values for less restrictive selection criteria, as follows:
'Status' = "Waiting Approval" AND 'SRD_Level' = "Gold" AND 'Price' >= "1000.00
'Status' = "Waiting Approval" AND 'SRD_Level' = "Gold"
'Status' = "Waiting Approval"
Define at least one approval chain with very general selection criteria to capture service requests that do not meet the selection criteria of any other approval chain. Assign this approval chain a high Order value so that it is only selected after the selection criteria of all other approval chains have been evaluated.
Service requests that do not have an associated approval chain record will remain in the Waiting Approval state indefinitely. This is an error condition.
To configure a custom approval chain
- From the Application Administration Console, click the Custom Configuration tab.
- Choose Service Request Management > Approval > Approval Chains, and then click Open.
Several approval chains are listed in the Approval Chains form. To ensure that default approval processes work correctly, do not modify any of the system approval chains.
- In the Approval Chains form, click Create.
- In the Name field on the Approval Chain Definition form, enter a name for the approval chain.
- (Optional) Enter a description.
- From the Form Name list, select SRM:Request.
- In the Company field, select Global, or select a specific company that will use this approval chain.
This name maps to the name specified in the Company field on the Delivery tab of the SRD.
- Select a Status.
Leave the status Offline until you are ready to deploy it; otherwise, you might see unexpected results. Then, set the status to Enabled so that the approval chain can be executed.
- In the Selection Criteria field, enter a qualification for the service requests that you want the approval chain to apply to:
- Click the browse button (...) next to the Select Criteria field.
- In the Service Request Approval Selection Criteria dialog box, enter information in the appropriate fields.
- Click Select.
- In the Order field, enter an order for the approval chain.
- Add a process to the approval chain:
From the Process Name list under the Add Process panel (at the right), select a process:
- Service Request - Level uses approver mappings to determine approvers. See Creating approver mappings.
- Service Request - Management Chain uses a user's management chain to determine approvers.
- Service Request - Ad Hoc specifies the initial approver as the manager of the user who is requesting the service. It is up to the manager to specify the next approvers before he or she approves the service request.
If you are creating a custom chain that includes a Management Chain process and one or more Level processes, make sure that the Management Chain process is first. If the Management Chain process comes after a Level process, the Management Chain process will fail to execute.
- If you select Service Request - Management Chain, enter the maximum number of levels for approval.
- Click Apply.
The approval process is added to the chain with four possible approval statuses:
You can define an action for some or all of the possible statuses by adding another process to the approval chain (step 12) or by adding a Set Fields action (step 13).
- To add another process to the approval chain, complete the following steps:
- Select an approval status in the approval chain tree (for example, Approved).
- In the Add Process section, select a process from the Process Name list.
- Click Apply.
The process is nested under the approval status that you selected.
- To add a Set Fields action to the approval chain, complete the following steps:
- Select an approval result in the approval chain tree (for example, Approved).
- Click the Add Set Fields Action panel header (on the right side), and click Apply.
- Select the new Set Field in the approval chain tree, and click Add.
- In the Set Field Value dialog box, select a field from the form (for example, select the Status field or Status Reason field to enter information about the service request).
- In the Value field, enter the value you want to set in the field.
- Click Save.
- Click Save to save the approval chain.
- If you created any Level approval processes, create approver mappings. See Creating approver mappings.
- To use the approval chain in an SRD, set the Approval Type to Custom on the Service Request tab of the Service Request Definition form. (See Setting approvals for the service request.)
To configure approvals based on user responses to questions
- Create a standard SRD that uses a custom approval type.
- Add a question to the SRD and map the question to a field on the SR Field Mapping tab.
The question type should be a menu, check box, or radio button, which requires a specific answer. For example, map the Department menu question to the SR Type Field 1 field.
- Include the field in your qualification in the Selection Criteria field of an approval chain. For example, if the selection criteria for the custom approval was "SR Type Field 1" = 'Sales' and the user selects Sales for the mapped question, this approval chain is used.
- (Optional) Include the same field in the Selection Criteria of a different approval chain, using a different qualification. For example, if the selection criteria for the custom approval was "SR Type Field 1" = 'IT' and the user selects IT for the mapped question, this approval chain is used.