Hi everyone,
We’re migrating from GCDS (Google Cloud Directory Sync) to Entra ID Google Cloud connector and need help with a specific transformation challenge.
Current Challenge:
-
We need to convert AD Distinguished Names to Google OrgUnitPath format
-
Example transformation needed:
-
From:
CN=Test User,OU=subsubOU,OU=subOU,OU=OU,DC=domain,DC=net -
To:
/OU/subOU/subsubOU
-
-
[UPDATE] In some cases, we’ll have to map some OUs with different ones on Google. For example:
- ldap dn :
CN=Test User,OU=subsubOU,OU=subOU,OU=OU,DC=domain,DC=net - target orgUnitPath on Google :
/externals
- ldap dn :
The Problem: Entra ID’s expression builder can’t reverse the OU order (it can generate subsubOU/subOU/OU but not /OU/subOU/subsubOU).
Proposed Solution: Use SailPoint IdentityNow “after provisioning” rules to:
-
Capture the user’s AD account DN after account creation
-
Apply transformation logic to convert DN → Google OrgUnitPath format
-
Store result in a custom identity attribute
-
Sync this attribute to Entra ID → Google (no further transformation needed)
Questions:
-
What’s the best approach to implement this DN-to-OrgUnitPath transformation in a provisioning rule?
-
Are there any built-in SailPoint functions that can help parse and reverse OU hierarchies?
-
Should we use BeforeProvisioning or AfterProvisioning rules for this use case?
-
Any gotchas or best practices for storing custom attributes that will be synced downstream?
Thanks for your help!

