I’m encountering an issue in SailPoint Identity Security Cloud (ISC) where multiple Active Directory accounts are being provisioned with duplicate sAMAccountName values, despite using $(uniqueCounter) to ensure uniqueness. This is happening during role-based provisioning (birthright access).
Configuration Details
Accounts are provisioned automatically via role membership.
I’ve defined a custom identity attribute: samaccountcreationlogic = first letter of givenName + surname
(e.g., John Smith → jsmith)
In the Create Account provisioning policy for AD, the sAMAccountName is configured as:
$(samaccountcreationlogic)$(uniqueCounter)
So I’d expect something like:
jsmith1
jsmith2
etc.
Issue
Despite this logic, AD account creation fails with duplicate sAMAccountName values (e.g., multiple attempts with just jsmith). This results in the following error returned from IQService:
Exception occurred while executing the RPCRequest: Errors returned from IQService.
"The object already exists. The object already exists.
00000524: UpdErr: DSID-031A11F8, problem 6005 (ENTRY_EXISTS), data 0
00000524: UpdErr: DSID-031A11F8, problem 6005 (ENTRY_EXISTS), data 0
. HRESULT:[0x80071392]
For identity: <Identity_Name>"
It looks like $(uniqueCounter) is either not being evaluated, or not incrementing during the role-based provisioning flow.
What I’ve Verified
samaccountcreationlogic is populated correctly and consistently.
The same logic works correctly when provisioning via Access Requests.
The AD source’s Create Account configuration is mapped as expected.
Questions
Is $(uniqueCounter) officially supported in role-triggered provisioning flows?
Are there known limitations with dynamic expressions (like transforms or counters) in Create Account templates during automated provisioning?
Would shifting this logic into a Before Provisioning rule be a better approach to ensure runtime uniqueness?
Any advice or insight would be greatly appreciated — especially if others have faced this behaviour in automated provisioning scenarios.
Hi Jeremy,
Yes I am using the Create Unique LDAP Attribute generator. Also I have aggregated accounts from the source (active directory), and yes ‘jsmith’ is in scope of the connector.
Hi Matt - also something else to check. Are you sure it’s the sAMAccountName causing the problem? AFAIK, you would get the same error if UPN or DN were clashing.
Hi Jeremy, apologies for the late response here are my answers:
When you say role-triggered provisioning flows: Is it Role > AP > Entitlement? Currently it is Role > Entitlement. No AP configured.
When you say access request works, is that for a role, AP or Entitlement? Apologies please ignore the access request part of the post. These roles are not requestable (since they are birthright) and have not been tested / implemented for user access requests.
Can you check account activity in search tab for this user and see what value is being pushed for “samAccountName” during create? Is that having $(uniqueCounter)?
Can you confirm that the Identity Attribute you use for the sAMAccountName stub (or seed) is getting correctly populated and the attribute name that you use in the sAMAccountName transform is the “technical” name for that attribute? I see 3 different names used in this post: PVT-SamAccountNameCreationLogic, samaccountnamecreationlogic and samaccountcreationlogic. Bear in mind that the technical name is case specific.
Also, can you confirm that it is the sAMAccountName that is causing the issue with AD, ie the DN and UPN are not causing the object already exists message?
Hi All, thank you for your assitance with this topic of discussion. I believe the main problem with this issue I am facing is that in that I am trying to create accounts at the same time and SailPoint cannot interpret that two target accounts will have the same sAMAccountName/DN before being provisioned in the same batch of new identities in SailPoint. It has been made aware to me that this is a race condition when there are multiple accounts getting created at the same time and is difficult to avoid.