Attribute Name not found during Attribute Sync

Hi All,

We have a webservice connector which we configured for attribute sync. I have configured the create provisioning policy as below:

Identity Profile:

Snippet of cloud rule:
image

However, when I try to manually perform the attribute sync, I am getting this error even though the attribute is already set up. I also tried to manually sync the attribute via the Actions button in the identity cube and it was working fine. I am only encountering this error when I manually sync the whole applicaiton.

If anyone has an insight on what’s causing the error please let me know. Thank you so much!

@jasmedina Attribute sync actually use the modify operation to update the value. So in webservice you need an operation if you want to modify something like entitlement, user update, etc…

So anything you want to do in webservice connector you need an desired operation for it. Make sure you have the modify endpoint like user update and check this.

Thanks
Shantha Kumar

Hi @Santhakumar! The http operations are all configured correctly. This is working in Sandbox but I am encountering this error in Prod.

1 Like

I don’t think error is from Cloud Rule.

Uncheck sync for this attribute, Reload the page, see if any changes.

Just cross check the attribute names with case, maybe something is missing compared to Sandbox.

Make sure you have the same attribute name in both account schema and create profile.

I have faced this issue when I have used modify in Webservice connector.

@jasmedina you can use a before provisioning rule for the same .Please find the below sample

ty
  import java.util.ArrayList;
  import java.util.List;
  import sailpoint.object.ProvisioningPlan;
  import sailpoint.object.ProvisioningPlan.AccountRequest;
  import sailpoint.object.ProvisioningPlan.AccountRequest.Operation;
  import sailpoint.object.ProvisioningPlan.AttributeRequest;
  import sailpoint.object.Identity;

  if (plan != null) {
			Identity identity = null;
			if (plan.getIdentity() != null) {
				identity = plan.getIdentity();
			}
			if (identity != null) {

				String lcs = (String) identity.getAttribute(\"cloudLifecycleState\");

				List accountRequests = plan.getAccountRequests();
				if (accountRequests != null) {
					List accreqs = new ArrayList();
					for (AccountRequest accountRequest : accountRequests) {
						AccountRequest.Operation op = accountRequest.getOperation();
						String nativeIdentity = accountRequest.getNativeIdentity();
						String userID = identity.getAttribute(\"identificationNumber\");
						String deletealertops = identity.getAttribute(\"deletealertops\");
					
						// Enable Operation
						
							// Disable operation
							

							// Modify Operation
							if (op == AccountRequest.Operation.Modify) {
								accountRequest.add(new AttributeRequest(\"deletealertops\", ProvisioningPlan.Operation.Set,	deletealertops));
								
								
								accreqs.add(accountRequest);
							}

							// Create Operation
							
							
						plan.setAccountRequests(accreqs);
					}
				}
			}
		}
,