ISC Workflows JSONPath validator wrong fully marks expression as invalid

Thank you for the clear information @adamian! Some of which I hadn’t seen before.

Based on your information it indeed looks like they use different implementations at different parts of workflows.

This bit was added on my request. I was trying before to get SailPoint to document which implementation they use for JSONPath, such that I know how I should write the code as it felt a bit too much as reverse engineering: doing trial and error to see what works and what doesn’t. The documentation team did create the internal ticket SAASDOCS-7447 and updated the documentation as a consequence, mentioning the JSON Slice GitHub repository.

I disagree with your ‘not necessarily’ part. The comparison action in the workflow does rely on input. And the documentation mentions that for this input, you use the variable selector, which is therefore using the JSON Slice according to SailPoints documentation, where they also attach the specific repository.

The issue here is not with the specific implementation of JSONPath, but rather on the specific implementation of the validator, as the validator is wrongly saying that the code is wrong.

Also, for other developers that are reading this. I think it is good to also be aware of this bug in Identity Security Cloud related to JSONPath where a filter will not return an array if the filter returns only one object, making it more difficult to loop over it. Suddenly you don’t loop with just one iteration, but you loop over the properties of that single object instead.