NERM Automated Workflow untriggered

We have a NERM automated workflow to make the user status as terminated when they are expired based on the end date. This will trigger a sub workflow which update the lcs to terminated from active. For few accounts i see this is not getting triggered and making the lcs to terminated even when date is passed. Looking for inputs to debug this

Hello,

Are you using any WORKFLOW in ISC for triggering this? Or, you have used a Transform in Identity Profile to manipulate the LCS state based on END DATE from NERM?

As part of aggregation we just get the data directly from NERM and map it to the lcs attribute,transform is used just to lower the value. Below snip is the condition we use

Hello,

Got It!

So, you are directly trying to Calculate the State of NERM population in NERM portal itself and then, you are just mapping it in Identity Profile to exact LCS state name.

In my recent implementation of ISC - NERM Integration where NERM was Authz Source, we took the Expiration Date from NERM and in SailPoint ISC, calculated the LCS state using Date Math, Date Compare Transform only.

This is one approach you can try rather than trying in NERM. Let me know whether you need ISC Transform for reference.

Regards,
Rohit Wekhande.

Exactly calculation happens in NERM, but this is happening only for few users randomly, you can attach the transform for reference ill give a try. But is there any other way to find the logs. I tried in activity section no results found

The Transform Details are as follows.

{
    "name": "NERM - Static - LifecycleState",
    "type": "static",
    "attributes": {
        "ValidateAssignmentStartDate": {
            "attributes": {
                "values": [
                    {
                        "attributes": {
                            "sourceName": "NERM Assignments",
                            "attributeName": "assignment_start_date"
                        },
                        "type": "accountAttribute"
                    },
                    {
                        "attributes": {
                            "value": "N/A"
                        },
                        "type": "static"
                    }
                ]
            },
            "type": "firstValid"
        },
        "ValidateAssignmentEndDate": {
            "attributes": {
                "values": [
                    {
                        "attributes": {
                            "sourceName": "NERM Assignments",
                            "attributeName": "assignment_end_date"
                        },
                        "type": "accountAttribute"
                    },
                    {
                        "attributes": {
                            "value": "N/A"
                        },
                        "type": "static"
                    }
                ]
            },
            "type": "firstValid"
        },
        "CalculateLCS": {
            "type": "static",
            "attributes": {
                "ActiveOperationCheck": {
                    "type": "dateCompare",
                    "attributes": {
                        "negativeCondition": "NoActive",
                        "positiveCondition": "ActivePass",
                        "firstDate": {
                            "type": "dateMath",
                            "attributes": {
                                "expression": "now",
                                "roundUp": false
                            }
                        },
                        "operator": "gte",
                        "secondDate": {
                            "type": "dateFormat",
                            "attributes": {
                                "input": {
                                    "type": "firstValid",
                                    "attributes": {
                                        "values": [
                                            {
                                                "type": "accountAttribute",
                                                "attributes": {
                                                    "attributeName": "assignment_start_date",
                                                    "sourceName": "NERM Assignments"
                                                }
                                            },
                                            {
                                                "type": "static",
                                                "attributes": {
                                                    "value": "01/01/1970"
                                                }
                                            }
                                        ]
                                    }
                                },
                                "inputFormat": "MM/dd/yyyy",
                                "outputFormat": "ISO8601"
                            }
                        }
                    }
                },
                "PrehireOperationCheck": {
                    "type": "dateCompare",
                    "attributes": {
                        "negativeCondition": "NoPrehire",
                        "positiveCondition": "PrehirePass",
                        "firstDate": {
                            "type": "dateFormat",
                            "attributes": {
                                "input": {
                                    "type": "firstValid",
                                    "attributes": {
                                        "values": [
                                            {
                                                "type": "accountAttribute",
                                                "attributes": {
                                                    "attributeName": "assignment_start_date",
                                                    "sourceName": "NERM Assignments"
                                                }
                                            },
                                            {
                                                "type": "static",
                                                "attributes": {
                                                    "value": "01/01/1970"
                                                }
                                            }
                                        ]
                                    }
                                },
                                "inputFormat": "MM/dd/yyyy",
                                "outputFormat": "ISO8601"
                            }
                        },
                        "operator": "lt",
                        "secondDate": {
                            "type": "dateFormat",
                            "attributes": {
                                "input": {
                                    "type": "dateMath",
                                    "attributes": {
                                        "expression": "now+14d"
                                    }
                                },
                                "inputFormat": "yyyy-MM-dd'T'HH:mm",
                                "outputFormat": "ISO8601"
                            }
                        }
                    }
                },
                "InactiveOperationCheck": {
                    "type": "dateCompare",
                    "attributes": {
                        "negativeCondition": "NoInactive",
                        "positiveCondition": "InactivePass",
                        "firstDate": {
                            "type": "dateMath",
                            "attributes": {
                                "expression": "now",
                                "roundUp": false
                            }
                        },
                        "operator": "gt",
                        "secondDate": {
                            "type": "dateFormat",
                            "attributes": {
                                "input": {
                                    "type": "firstValid",
                                    "attributes": {
                                        "values": [
                                            {
                                                "type": "accountAttribute",
                                                "attributes": {
                                                    "attributeName": "assignment_end_date",
                                                    "sourceName": "NERM Assignments"
                                                }
                                            },
                                            {
                                                "type": "static",
                                                "attributes": {
                                                    "value": "12/31/2099"
                                                }
                                            }
                                        ]
                                    }
                                },
                                "inputFormat": "MM/dd/yyyy",
                                "outputFormat": "ISO8601"
                            }
                        }
                    }
                },
                "DeleteOperationCheck": {
                    "attributes": {
                        "isDelete": {
                            "attributes": {
                                "negativeCondition": "NoDelete",
                                "positiveCondition": "DeletePass",
                                "firstDate": {
                                    "attributes": {
                                        "expression": "now-30d/d",
                                        "roundUp": false
                                    },
                                    "type": "dateMath"
                                },
                                "operator": "gte",
                                "secondDate": {
                                    "attributes": {
                                        "input": {
                                            "attributes": {
                                                "values": [
                                                    {
                                                        "attributes": {
                                                            "attributeName": "assignment_end_date",
                                                            "sourceName": "NERM Assignments"
                                                        },
                                                        "type": "accountAttribute"
                                                    },
                                                    "12/31/2099"
                                                ]
                                            },
                                            "type": "firstValid"
                                        },
                                        "inputFormat": "MM/dd/yyyy",
                                        "outputFormat": "ISO8601"
                                    },
                                    "type": "dateFormat"
                                }
                            },
                            "type": "dateCompare"
                        },
                        "GetTermDate": {
                            "attributes": {
                                "attributeName": "assignment_end_date",
                                "sourceName": "NERM Assignments"
                            },
                            "type": "accountAttribute"
                        },
                        "value": "$isDelete"
                    },
                    "type": "static"
                },
                "value": "#if($ActiveOperationCheck == 'ActivePass' && $InactiveOperationCheck == 'NoInactive')active#{elseif}($PrehireOperationCheck == 'PrehirePass' && $InactiveOperationCheck == 'NoInactive')prehire#{elseif}($DeleteOperationCheck == 'DeletePass')delete#{elseif}($ActiveOperationCheck == 'NoActive' && $InactiveOperationCheck == 'InactivePass')inactive#{else}inactive#end"
            }
        },
        "value": "#if( $ValidateAssignmentStartDate == 'N/A' || $ValidateAssignmentEndDate == 'N/A' )inactive#{else}$CalculateLCS#end"
    },
    "internal": false
}

Note that the Name of NERM source was “NERM Assignments” and we have considered 2 dates which are start date and end date from NERM Assignments source. Hence, you can use the same transform, change the name of source and attribute as per your implementation and try it out.