Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

Auto Terminate user after notice period

Naveen_Talanos
Regular Contributor
Regular Contributor

Hi Experts,

Please help

Env: 2021

User Source: Oracle DB

We are getting user end date in future date, like users on notice which ends in future, or contractors with fixed end date (this is create on user import or when user is created through UI).

How do I auto terminate user on that future date? 

One option I know is through user update rules but there is no update on user data on that "future" date to trigger the update rule.

Regards,

Naveen

8 REPLIES 8

sk
All-Star
All-Star

I way you can achieve this is in user import try to  populate user custom property as terminate if user end date is current date otherwise null

And then build a user update rule on that respective custom property

like cp xx updated and cp values == terminate then disable user


Regards,
Saathvik
If this reply answered your question, please Accept As Solution and give Kudos to help others facing similar issue.

Naveen_Talanos
Regular Contributor
Regular Contributor

Thanks for your reply @sk 

But I am not sure how will that work. 

If the user informs HR on Feb 28, 2023 that March 31, 2023 will be his last day, HR updates data on Feb 28, makes End date against user record to March 31 (future date).

Now this incremental update comes to Saviynt on Feb 28, and End date is set to March 31 in Saviynt against user record as well.

After this there is no change in user record for me to pick incremental and populate customproperty the whole month. Therefore it won't trigger User Update rule on March 31.

Isn't there a way in Saviynt, like OIM does, to run a job everyday and check for all users if their EndDate is today, and disable them?

Regards

Naveen

Use actionable analytics


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

Hi @rushikeshvartak 

What will be the Default Action for "Disable User" as it is not in allowed actions list.

Please guide, very new to Analytics

Can you elaborate https://saviynt.freshdesk.com/support/solutions/articles/43000606546-configuring-allowed-actions


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

You need to use inline preprocessor to populate CPxx as terminated when end date is equal to or less the current date otherwise just null 


Regards,
Saathvik
If this reply answered your question, please Accept As Solution and give Kudos to help others facing similar issue.

Vinit556
New Contributor III
New Contributor III

User import xml in saviynt4saviynt connection can be used here.

In xml write your query and map it to any custom attribute. Schedule a job to run saviynt4saviynt and it will update custom attribute.

Based on custom attribute updation, user update can be called.

Darshanjain
Saviynt Employee
Saviynt Employee

Use Sav4sav User import xml to update the status key when the enddate is current date and then based on the statuskey update you can trigger user update rules.

Sample xml:

<dataMapping>
<before-import>
</before-import>
<sql-query description="This is the Source DB Query" uniquecolumnsascommaseparated="username">
<![CDATA[
select a.username as 'username', 0 as 'ActiveStatus' from users a where a.username is not null AND a.enddate < sysdate() AND a.statusKey='1' AND a.startdate < sysdate() AND a.enddate > a.STARTDATE;
]]>
</sql-query>
<importsettings>
<zeroDayProvisioning>false</zeroDayProvisioning>
<userNotInFileAction>NOACTION</userNotInFileAction>
<checkRules>true</checkRules>
<buildUserMap>false</buildUserMap>
<userReconcillationField>username</userReconcillationField>
</importsettings>
<mapper description="This is the mapping field for SAviynt Field name" defaultrole="ROLE_END_USER" >
<mapfield saviyntproperty="username" sourceproperty="username" type="character"></mapfield>
<mapfield saviyntproperty="statuskey" sourceproperty="ActiveStatus" type="character"></mapfield>
</mapper>
<after-import description="SQL">
</after-import>
</dataMapping>