How to pass displayValue of entitlement to endpoint/body in Webservice connector

Which IIQ version are you inquiring about?

[8.4p2]

Share all details about your problem, including any error messages you may have received.

We are trying to pass the displayValue of an entitlement to context URL in “Add Entitlement-group” operation in Webservice connector with below expressions but the value is always empty. I can confirm by logging the plan that it contains displayValue.

Expression we have tried already.

  1. $plan.displayValue$
  2. $plan.displayName$
  3. $plan.accountRequest.attributeRequest.displayValue$

Please let us know how to pass group displayValue from plan or group to endpoint?

sample Plan :

provisioningPlan::<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE ProvisioningPlan PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<ProvisioningPlan nativeIdentity="naveen.guddati" targetIntegration="app_env" trackingId="07aa311ceca446a994ead5796092d4f5">
  <AccountRequest application="app_env" instance="first.last" nativeIdentity="first-last" op="Modify">
    <Attributes>
      <Map>
        <entry key="attachmentConfigList"/>
        <entry key="attachments"/>
        <entry key="flow" value="AccessRequest"/>
        <entry key="id" value="ac12000345734657676534f1"/>
        <entry key="interface" value="LCM"/>
        <entry key="operation" value="EntitlementAdd"/>
      </Map>
    </Attributes>
    <AttributeRequest assignmentId="ac12000345734657676534f147" displayValue="ent_display_name" name="teams" op="Add" value="ent123456">
      <Attributes>
        <Map>
          <entry key="assignment" value="true"/>
        </Map>
      </Attributes>
    </AttributeRequest>
  </AccountRequest>
  <Attributes>
    <Map>
      <entry key="identityRequestId" value="0000000606"/>
      <entry key="requester" value="spadmin"/>
      <entry key="source" value="LCM"/>
    </Map>
  </Attributes>
</ProvisioningPlan>

Hi @kumar_k ,

Try with

$plan.teams$

Makesure teams attribute configured in schema as an Entitlement

<AttributeRequest assignmentId="ac12000345734657676534f147" displayValue="ent_display_name" name="teams" op="Add" value="ent123456">
      <Attributes>
        <Map>
          <entry key="assignment" value="true"/>
        </Map>
      </Attributes>
    </AttributeRequest>

HI @Arun-Kumar ,

Thank you for quick reply. I did try this and I see “value” of the entitlement schema is passed to the endpoint but not the displayValue of the entitlement.

Unfortunately, the endpoint accept only displayValue (ent_display_name in the example above) of the entitlement.

Hi @kumar_k ,

You can retrieve the entitlement value directly from the provisioningPlan object, and then use it to dynamically modify the contextUrl within a WebServicesBeforeOperationRule.

Thank you very much for your quick response, Arun.

I was able to do that for “Add Entitlement” Operation successfully but facing a problem with “Remove Entitlement” operations as ProvisioningPlan doesn’t have displayValue attribute in AttributeRequest object.

Finally I decided to change the schema and use the required field/value as 'Identity Attribute" for that group object.

I wish Sailpoint provides a way to pass/validate these expressions/variable in connectors, at least for generic connectors.