Page tree
Skip to end of metadata
Go to start of metadata

Administrators who define workflows can insert a request for approval process at any point of the workflow, and direct the sequence flow based on the response. The request for approval process requires a Call Activity element that calls an existing workflow that was installed with the integration patch for BMC Remedy IT Service Management. The called process sends a request to run an approval process defined in the BMC Remedy Action Request System Approval Server.

To call a request for approval

A request for approval consists of an element to call an external process which is appropriately named Request Approval. This built-in Request Approval process is a hidden process that is not visible in the list of workflows, so that it cannot be edited.

To create a service broker context parameter

The request for approval requires a service broker context parameter. If your workflow already contains this parameter, skip to the next section.

  1. In the Workflow Designer, select the canvas to modify the process settings.
  2. Click Add/Remove Variables.
  3. Click Add Variable, and enter the following values:

    ParameterExample with comments
    Name

    objName

    The name must be unique from other variables in the same workflow.

    Input/Output Parameter

    Enable check boxes:

    • Input
    • Input Required

    The Service Broker Context parameter always contains data from the user request.

    Data TypeService Broker Context

    The objName parameter used for the service broker context is created as a Process Variable. When entering variables into the expression builder, you can expand the objName variable to insert any of its internal variables, as described in Capturing user request information.

To insert a request for approval

The following process refers to the service broker context object by the variable objName.

  1. From the palette, drag a Call Activity element onto the canvas.

  2. Enter a descriptive name for the Label.
    The name must be unique from all the other elements in the same workflow, for example, Call Request Approval.
  3. In the Properties panel, expand Called Process.
  4. Search for the built-in process named Request Approval, and click the name to select the process.
    Attach the correct process, as shown in the following illustration:


    The input map expands to show the required parameters for the selected process.

  5. To open the expression builder, click to build an expression.

  6. Expand the objName process variable to insert the specified variables into each parameter.

    After each variable, click Next > to advance to the next field without closing the expression builder.

    ParameterExample with comments
    Service NameobjName > Service > Service Name
    SB Service Request IDobjName > Service > Service Request ID
    Requesting For User IdobjName > Requested For User > Login Name
    Approval Summary

    objName > Service > Service Name

    The Approval Summary field appears in the request for approval notification in MyIT. Create a descriptive summary by concatenating other parameters and text in this field.

    Requesting User IDobjName > Requested By User > Login Name
    Service IDobjName > Service > Service ID
    Approval Process Name

    (leave blank)

    If Approval Process Name is blank, the action will call the default SB Request Manager Approval process in the Approval Server.

    If Approval Process Name is specified, the action will attempt to call a process of the same name in the Approval Server.

    Process Name(leave blank)
    Process Instance ID(leave blank)
  7. Click Save to close the expression builder.

    When fulfilling a service, the inserted Call Request Approval activity send a requests to run a process on the Approval Server.

To test the request for approval process

A quick way to test that the approval system is configured correctly is to route the output from the Call Request Approval process you just created in the preceding section into an in-app notification, as shown in the following illustration:

The in-app notification appears on the dashboard of the administrative user you specify as the receiver.

To connect an in-app notification

  1. From the palette, drag a Send In App Notification element onto the canvas.
  2. Complete the following fields by opening the expression builder. If required, expand the process variable section to find the specified variables.

    After each variable, click Next > to advance to the next field without closing the expression builder.

    ParameterExample with comments
    Receiver

    "hannah_admin"

    Manually enter the user name (without the @domain extension) of the administrator who should receive the notification.

    Title

    objName > Service > Service Name + " approval process testing"

    Expand and click to insert the process variable Service Name, and then manually concatenate the additional text.

    Content

    Activities > Call Request Approval > Status + " " + Activities > Call Request Approval > Reason

    Expand and click to insert the signal parameters Status and Reason, then manually concatenate the space between the parameters.

  3. Click Save to close the expression builder.
    The workflow is defined to send the Status and Reason returned from the approval process to the administrator's dashboard upon completion.

    Tip

    You could also insert a Send In App Notification element before Call Request Approval, to test that the workflow itself is being called.

    For example:

     

To test this workflow on an attached service

  1. Attach this workflow to a service in the service options panel.
  2. Complete the rest of the service publishing and entitlement process to view the service in MyIT.
  3. Open MyIT as a user and request the service.
    The service should appear in the user's requests.
  4. In a separate browser session, open MyIT and log in as the user's manager.
    The service request should appear in the manager's updates list.
  5. Approve or reject the service request. If you reject the service, provide a reason.
  6. Open the MyIT Service Broker dashboard while logged in as the user specified in Send In App Notification.

Note

If the approval process completes, this workflow will always generate a dashboard notification, even in the event of system errors. If an error occurs, the most common error is that the user who requested the service has not been assigned a manager.

To incorporate a request for approval in a workflow

When you have proven that the approval configuration is correct, and returns the desired messaging, you can incorporate the element into a workflow using exclusive gateways.

Responses returned from the request for approval

A request for approval is a call activity element that calls a hidden process that sends the request to the approval server that manages the request, and then returns a response to MyIT Service Broker. The response is captured in a Receive Task element, as shown in the expanded view of the workflow.

ActionDescription
Create Approval Stub Entry

Creates a record through the form SB:ServiceRequestStub on the AR System server that triggers an Approval Server process

If the process fails to create a record, the workflow exits with a failure message .

Receive TaskWaits for the response and then exits with the following message variables, called Signal Parameters:
  • Request Status
  • Reject Reason

Values returned when running the default approval process

The approval rules and messages returned upon the receipt of signatures is configured in the process named SB Request Manager Approval in the Approval Server.

The Request Status signal parameter will return one of the following values:

ResponseDescription
ApprovedThe manager approved the request.
RejectedThe manager rejected the request. The manager may or may not have supplied a Reject Reason.
ErrorThe request approval process failed. The system error message is supplied as the Reject Reason.

You can test for these returned values, and insert exclusive gateways to direct the sequence flow based on conditions.

To troubleshoot issues

If the workflow triggers a Fault error in MyIT, check the configuration. Most common configuration issues include:

  • MyIT Service Broker and MyIT are not configured to connect with each other.
  • The Request Approval workflow has not been deployed.
  • The MyIT Service Broker server needs to be restarted.

Where to go next

Calling a custom approval process

Related topics

Approval rule definitions and examples (BMC Remedy Action Request System 9.1 online documentation)

Calling external workflows

Integrating with BMC Remedy applications

 

 

2 Comments

  1. Hello Tony ChungSam Wood,

    Manager's approval is working as expected. However, I have one query and that is Email Notification.

    As of now, Approval Email notification been sent to Manager, however it contains empty fields.

    I checked ITSM Approval configuration, and found under notification, SB ITSM patch created few notifications, and which in turn points to to the html OOB template 'approval email template nc' . However , there are no field mappings.

    Does BMC expects customers to modify the HTML template and map the fields some how, or there is something more, which I am not yet aware of.

    Thanks,

    Sanket Mhatre

     

     

    1. Hi Sanket. You may see that we've continued this discussion in a couple of topics in BMC Communities: