I am working on building a workflow that looks at an identity attribute we have set to determine how long it’s been since an AD account has been used. The workflow triggers when that attribute changes to 45Past the workflow triggers and the idea is to have to workflow
- Determine if the AD account is active. If not, the workflow ends.
- Send a form to a user to verify that we want the account disabled.
- If the form is approved, then disable the account.
I have the trigger working and I am able to get the identity and the AD account attributes passed from the trigger. But having an issue with the compare strings operator to determine if the account is active or not. Any idea what I am doing wrong?
Here is the compare strings set up.
compareString.docx (46.0 KB)
Here is the sanitized step input. I just removed a bunch of Identity and Account attributes.
{
"compareStrings": {
"ChoiceList": [
{
"Comparator": "StringEquals",
"NextStep": "Compare Strings 1",
"VariableA.$": "$.hTTPRequest.body[0].disabled",
"VariableB": "true"
}
],
"DefaultStep": "End Step - Success",
"Description": "Is the account already disabled?",
"DisplayName": "Compare Strings: AD Enabled?",
"Name": "Compare Strings",
"SelectInput": "$",
"SelectOutput": "$",
"SelectResult": "$",
"Type": "choice"
},
"defineVariable": {
"clientID": "24965e799ef043e98ceb3494311f846f",
"https://promedica-sb.identitynow.com/": "https://company7833-poc.api.identitynow-demo.com",
"webhookURL": "https://webhook.site/5ab885b3-8c63-4897-ba7c-728ceecf429b"
},
"getIdentity": {
"alias": "2000952",
"attributes": {
"adDn": "CN=Dorn\\, Abbigail,OU=Student,OU=Non-ProMedica,OU=Users,OU=ProMedica,DC=test,DC=promedica,DC=org",
"workingRemote": "N",
"workingRemotes": null
},
"created": "2023-03-21T16:40:35.925Z",
"emailAddress": "No Email on File",
"id": "352e2571c40f4173bd3486540b046af7",
"identityStatus": "UNREGISTERED",
"isManager": false,
"lastRefresh": "2025-06-11T13:03:18.163Z",
"lifecycleState": {
"manuallyUpdated": false,
"stateName": "active"
},
"managerRef": null,
"modified": "2025-06-11T13:03:18.662Z",
"name": "Dorn, Abbigail(DR44745)",
"processingState": null
},
"hTTPRequest": {
"body": [
{
"attributes": {
"NetBIOSName": null,
"accountFlags": [
"Normal User Account"
],
"cn": "Dorn, Abbigail",
"userPrincipalName": "DR44745@test.promedica.org",
"whenChanged": "20250610204132.0Z"
},
"authoritative": false,
"cloudLifecycleState": "active",
"connectionType": "direct",
"created": "2023-10-02T23:09:56.735Z",
"description": null,
"disabled": false,
"ownerGroup": null,
"ownerIdentity": null,
"recommendation": null,
"sourceId": "2c918087846385ee01847c5747c90a5f",
"sourceName": "test.promedica.org",
"sourceOwner": {
"id": "2c9180867f4b899a017f4c70fda8704d",
"name": "Scott Coleman",
"type": "IDENTITY"
},
"systemAccount": false,
"type": null,
"uncorrelated": false,
"uuid": "{12c7ca7a-651e-4892-be31-11a5946431b0}"
}
],
"headers": {
"Content-Type": [
"application/json;charset=utf-8"
]
},
"responseTime": "0.422631 seconds",
"statusCode": 200
},
"hTTPRequest1": {
"body": "success",
"headers": {
"Content-Type": [
"text/html; charset=UTF-8"
]
},
"responseTime": "0.357975 seconds",
"statusCode": 200
},
"hTTPRequest2": {
"body": "success",
"headers": {
"Content-Type": [
"text/html; charset=UTF-8"
]
},
"responseTime": "0.374312 seconds",
"statusCode": 200
},
"trigger": {
"changes": [
{
"attribute": "phsiAdStatus",
"newValue": "Active",
"oldValue": "180DaysPast"
}
],
"identity": {
"id": "352e2571c40f4173bd3486540b046af7",
"name": "2000952",
"type": "IDENTITY"
}
}
}
Here is output from jsonpathfinder.com
jsonpathfinder.docx (50.3 KB)
It looks like I have the right JSON path expression in the compare string but the workflow is returning false.
outputFalse.docx (69.5 KB)
Any suggestions on what I am doing wrong?