Provisioning Completed Trigger

Hi,

Got a workflow with provisioning completed trigger below, the compare action is failing even though the AD account creation succeeded, wondering if it is evaluating other sources as well, since there are some provisioning failures

Provisioning Completed Trigger: $.accountRequests[?(@.provisioningTarget == ‘AD’ && @.accountOperation == ‘Create’)]

Also, thinking to tweak it as below, will it work?

use these

$.accountRequests[?(@.accountOperation == “Create” && @.provisioningResult== “committed” && @.provisioningTarget == “Active Directory”)]

Provisioning Completed

A provisioning action completed on a source.
This trigger only fires if you have the Provisioning service.

{
    "trackingNumber":"4b4d982dddff4267ab12f0f1e72b5a6d",
    "action":"IdentityRefresh",
    "requester":{
        "id":"2c91808b6ef1d43e016efba0ce470906",
        "name":"Adam Admin",
        "type":"IDENTITY"
    },
    "recipient":{
        "id":"2c91808b6ef1d43e016efba0ce470909",
        "name":"Ed Engineer",
        "type":"IDENTITY"
    },
    "errors":[
        "General Error",
        "Connector AD Failed"
    ],
    "warnings":[
        "Notification Skipped due to invalid email"
    ],
    "sources":"Corp AD, Corp LDAP, Corp Salesforce",
    "accountRequests":[
        {
            "source":{
                "id":"4e4d982dddff4267ab12f0f1e72b5a6d",
                "name":"Corporate Active Directory",
                "type":"SOURCE"
            },
            "accountId":"CN=example,ou=sample,ou=test,dc=ex,dc=com",
            "accountOperation":"Modify",
            "provisioningResult":"committed",
            "provisioningTarget":"Corp AD",
            "ticketId":"72619262",
            "attributeRequests":[
                {
                    "operation":"Add",
                    "attributeName":"memberOf",
                    "attributeValue":"CN=admin,DC=training,DC=com"
                }
            ]
        }
    ]
}

in your condition issue:

the compare step can fail if you use $.trigger.accountRequests[0].provisioningResult, because the trigger can contain multiple accountRequests, and SailPoint notes that provisioning operations may not execute in a predictable order. So [0] may point to a different source/request than the AD create you care about.

Value1: $.accountRequests[?(@.accountOperation == “Create” && @.provisioningResult== “committed” && @.provisioningTarget == “Active Directory”)]

Does it look correct?

instead of single ‘ quote . please use double quotes.

$.accountRequests[?(@.accountOperation == “Create” && @.provisioningResult== “committed” && @.provisioningTarget == “Active Directory”)]