Share all details related to your problem, including any error messages you may have received.
Hi All,
We have defined a rule in sailpoint IIQ which runs for employees only with license. It is defined through lifecycle event which triggers if there’s a change in attribute like country, business unit, division etc.., this is causing issue with a lot of users for whom the event is not running. Can you please help me a logic so that all reminaing users can be included and we don’t have to change the existing logic.
This is the current logic define for lifecycle event which covers only employees with change in attribute. Can we add some logic for existing users for whom this event wasn’t triggered. Below is the existing logic of lifecycle event
To include the remaining users for whom the event was not triggered without changing the existing logic, you can add a check to see if the lifecycle event has ever been triggered for those users. This can be done by checking a custom attribute or a specific flag that you can set when the event is triggered.
Maybe you can put this
// Custom attribute to check if the event was triggered before
String eventTriggeredBefore = previousIdentity.getAttribute("eventTriggeredBefore");
and this after try{
// Check if the event has been triggered before
if (Util.isNullOrEmpty(eventTriggeredBefore) || eventTriggeredBefore.equals("false")) {
// Update the attribute to indicate the event has been triggered
newIdentity.setAttribute("eventTriggeredBefore", "true");
The code is working fine now but it’s running for every user again and again during the refresh tasks run. How can i fix it so that it should run for only those user for whom the event hasn’t run yet. Can you please help it’s kind of on priority.
Hi @ayadav_12,
Can you put some loggers in the rule to see whoever are the users not satisfying the attribute changes, a life cycle event is created or not.
Using Identity refresh with filters you can run for a set of users not for all users.
Use the below identity refresh options for testing
Refresh identity attributes - this option in Identity refresh will get the attributes with the changes in attribute data.
Process events – This option is used for processing the lifecycle events that you have created.
Mostly the old ones keeps getting triggered and i haven’t seen the new user being triggered a few new users getting triggered maybe due to the other conditions. Is there a way to cover all other users.
My suggestion will be to check the identity from debug page where operation is already performed to confirm that the identity being re-processed is not refreshed properly.
I would recommend looking at the logic of your rule to see if it is re-triggering on the same identity.
If you have ruled out above possibility, then kindly share the sample workflow that is being triggered as part of your event.
I want to add 1 minute delay to the workflow before it stops as it’s executing another rule for distribution list and almost take 1 minute to complete it. Any idea how we can add it?
Try put Thread.sleep(60000); //1000 = 1 sec in the rule
or you can update with wait=“1” in the step and workflow will be backgrounded for a min. When Perform Maintenance trigger then workflow will be picked up and execute next steps.
Note: Perform Maintenance is scheduled for every 5 min by default(OOTB). Please adjust accordingly.