Support for Custom Workflow

The following outlines how the before provisioning rule can be used to modify the provisioning plan (as provisioning is sent out), for a custom workflow use case.

Before Provisioning rule - Custom Workflow

SailPoint has configured a key named CustomRequestType that can be used to provision the custom request type. In the before provisioning rule you can set this key with the request type that you want to be provisioned in SAP. For example, if you want to set 028 in the request type, you will set it by using the following:

Copy
attrRequest.setName("CustomRequestType");
attrRequest.setOperation(ProvisioningPlan.Operation.Set);
attrRequest.setValue("028");

Custom Type for Certification

If you want to provision the custom request type when a certification is done, use the before provisioning rule to set the CustomRequestType key. You can check to see if the request is for certification by using the following line:

Copy
String source = plan.get("source");

If the source equals certification, you can set the CustomRequestType in the attribute request, by using the following:

Copy
if ("Certification".equals(source)) {
     log.warn(" Inside Certification ");
      AttributeRequest attrRequest = new ProvisioningPlan.AttributeRequest();
      attrRequest.setName("CustomRequestType");
      attrRequest.setOperation(ProvisioningPlan.Operation.Set);
      attrRequest.setValue("028");
}

A Sample provisioning plan for certification after this rule will look like the following:

Copy
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE ProvisioningPlan PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<ProvisioningPlan nativeIdentity="SAMEER/AHMED" targetIntegration="SAPGRCNew" trackingId="26a76b714cba4ba29b63efb16d488179">
  <AccountRequest application="SAPGRCNew" nativeIdentity="SAMEER/AHMED" op="Modify">
    <AttributeRequest name="Roles" op="Remove" trackingId="7f0000018b3c1bf8818b427e6a5b3fbd, 7f0000018b3c1bf8818b427e6a4d3fbc">
      <Value>
        <List>
          <String>SELF~~0050568569A01EDB82A956794BCE8C77</String>
          <String>SELF~~0050568569A01EDB82AA25091DEECC77</String>
        </List>
      </Value>
    </AttributeRequest>
    <AttributeRequest name="CustomRequestType" op="Set" value="028"/>
  </AccountRequest>
  <Attributes>
    <Map>
      <entry key="source" value="Certification"/>
      <entry key="sourceId" value="7f0000018b3c1bf8818b427d32123fba"/>
      <entry key="sourceName" value="Application Owner Access Review for SAPGRCNew"/>
    </Map>
  </Attributes>
  <Requesters>
    <Reference class="sailpoint.object.Identity" id="c0a81d9489b013d08189b0441fc900ff" name="spadmin"/>
  </Requesters>
</ProvisioningPlan>