In Webservice connector, During add entitlement operation, I want to pass the manager email in the JSON body. Is this possible to achieve without Cloud rule?
Requirement : For a particular role: CSR, I need to send managerEmail as mandate field in the payload.
I tried using UPDATE POLICY AND ASSIGN POLICY, it is not working
If you don’t want to use a rule you can add multiple Http Operations to pre-load the manager information as a first Add Entitlement and then use the response in the second Add Entitlement Operation.
Yes, but only if the manager email is already available in the provisioning plan or identity attributes.
Without a Cloud Rule, the Web Services connector cannot dynamically perform an identity lookup to fetch the manager’s email during provisioning. However, you can try:
Adding the manager email as an Identity Attribute.
Using provisioning policy field mappings or request templates to populate the value.
Referencing the identity attribute in the request body using connector placeholders, for example
`{
“role”: “CSR”,
“managerEmail”: “$identity.managerEmail$”
}`
If the manager email is not available in the provisioning plan/account request payload, then a Before Provisioning Rule (Cloud Executed Rule) or connector customization will be required to retrieve and inject the manager’s email before the Add Entitlement operation.
For the specific requirement of sending managerEmail only when the CSR role is assigned, a Before Provisioning Rule is typically the most reliable approach, as it can inspect the role being provisioned and conditionally add the required attribute to the request payload.
Hi Chandra. $identity.managerEmail$ is not a documented Web Services connector placeholder. The supported contexts are $plan, $response, $application, $getobject, and $authenticate. Also, $plan.managerEmail$ works only when that value already exists in the provisioning plan. Reference
@WhiteBat multiple-operation approach can work if the target API has an endpoint that returns managerEmail. The next operation can then use $response.managerEmail$.
If managerEmail exists only as an ISC identity attribute, use:
A cloud Before Provisioning Rule to read plan.getIdentity().getStringAttribute("managerEmail") and store it using accountRequest.addArgument("managerEmail", value).
Using an account-request argument is preferable because additional AttributeRequests may be filtered before reaching the connector rule.
So, without a Cloud Rule, this is possible only when the value can be retrieved from the target API or another connector response. Otherwise, the Before Provisioning Rule is the appropriate solution
Hi Chandra,
you can use parent-child chaining to achieve this without the cloud rule.
use https operation to fetch manager metadata Then the Add Entitlement operation with the target application.
In response mapping that manager’s email path to be added.
In the child operation - assign the role with response .
looks like - “managerEmail”: “$response.managerEmail$” in the JSON body. Check something like that if that works with CSR Role assignment.