Implementing the Approval Service Provider Interface
The Approval SPI is a subset of the remote connector SPIs that a connector can implement to support business features of BMC Helix Digital Workplace Catalog beside the initial handshakes (descriptors, health checks) and actions (because each action is, in a way, specific to its connector).
Approvals
Capability:
com.bmc.dsm.catalog:approvalProvider
The approval SPI allows BMC Helix Digital Workplace Catalog to expose details of approvals associated with service requests to end-users. The experience of approvers cannot yet be extended through this capability. This means that you can integrate BMC Helix Digital Workplace Catalog with an external approval solution as long as approvers will be expected to use some other means to approve or reject service requests. Your end-users, though, will be able to have a view of the approval process when browsing the details of a service request.
BMC Helix Digital Workplace Catalog will not perform any long-term caching of the approval details. The connector may get a call each time an end-user enters the details of a service request.
Data Model
In the approval SPI, approval details are structured by the following concepts:
- The approval itself: this concept will contain all the details related to a single approval (or "approval process"). There can be several approvals associated with the same service request.
- The steps: each step associates a signature to an order number. All steps having the same order number are (or were) active at the same time. Here, "order" refers to the ordering of the steps; it is not related to the concept of "service order".
One approval can be composed of many steps. - The signature: a signature exposes an atomic decision to an approval request. It has:
- participants: pool of persons, which can approve or reject.
- approver: person who took the final decision.
- status: current status of the decision. Possible values:
- PENDING
- APPROVED
- REJECTED
- HOLD
- MORE_INFO
- CANCELLED
- ERROR
justification: optionally provides context to the current status.

See below (under the interface section) for examples of how to structure your payload depending on your scenario.
Relation with the Activity SPI
Approval processes will typically be initiated via an action exposed by the remote connector. The external activity status will then be tracked by BMC Helix Digital Workplace Catalog if the appropriate SPI is implemented. This status will be what BMC Helix Digital Workplace Catalog uses to calculate the status of its service request. The details of the approval as exposed by the com.bmc.dsm.catalog:findApprovals call will not be used for that purpose.
Interface
Scenarios (Examples)