I recently built a SailPoint Interactive Workflow - Privileged Task Automation (PTA) to create an AD security group.
I started with a simple flow:
Interactive Trigger (user launches workflow)
Interactive Form (collect group name from user)
PAG: Search AD Group (check if group exists)
PAG: Create Group (Action: Active Directory- creates the AD security group)
Message: Group Created
The main challenge I ran into was that the PAG Create Group action (Action: Active Directory), requires a Distinguished Name, but the DN field does not support dynamic string concatenation or JSONPath expressions directly.
Whilst I know you can create a PowerShell script and execute it via PTA, I wanted to use SailPoint’s native workflow capabilities.
I attempted to add the following in the DN field, as a valid DN is mandatory:
CN={{form.groupName}},OU=Permissions,…
CN=$.interactiveForm.formData.groupName,OU=Permissions,…
However, these were treated as literal strings and failed DN validation.
In some cases the workflow completed without errors, but the group appeared in AD with the literal name, “{{form.groupName}}” instead of the value provided in the form.
Solution:
I added a Define Variable operator to make the DN before the Create Group step (after the interactive form).
Variable Name: GroupDN
Variable A: CN=X,OU=Permissions,OU=Groups,…
Operator: Replace = choose variable = interactive form - formData - GroupName
Define Variable Operator - SailPoint Identity Services
Now that the DN is fully constructed - we can add it as a “Choose Variable” - groupDN and voila! It is now an acceptable action without errors.
TLDR:
If you need to dynamically create AD objects with PTA and the connector requires a Distinguished Name:
Build the DN using Define Variable, then pass it into the PAG action using “Choose Variable
Any other solutions / comments welcome!
Thanks.