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

Contract end date approaching notification

sampath18
Regular Contributor II
Regular Contributor II

Hi All,

We have a requirement to send a notification to certain recipients to inform the contract expiry notification of their reportees.  Is there any way we could achive this in saviynt?

I dont find an option in Actionable Analytics. We want to schedule this notification so that if there are users nearing their contract end date then  saviynt should inform ahead of time.

Thanks

sampath

 

 

10 REPLIES 10

rushikeshvartak
All-Star
All-Star
  • Create analytics report with USERNAME column in it  and this is case sensitive so only USERNAME will work.
  • attach Email Template to analytics report
  • in to keep ${userEmail}

https://saviynt.freshdesk.com/support/solutions/articles/43000622153-managing-email-templates 


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

sampath18
Regular Contributor II
Regular Contributor II

Hi Rushi,

Can it send individual emails to each id? or it sends a single mail keeping all expiry users over single mail?

Thanks,
Sampath

If you want all users list in one email / DL then hardcore email address in emails TO/cc/bcc

 

If you want if 2+ users having same email then from use merge emails config from global configuration which will merge emails n send 

 

You receive a single email with the details of all the accounts and the applications to which those belong.

To: ${userEmail}

CC: ${ownerEmail}

Subject: Your password is about to expire

Body: ${ANALYTICSDATA.'First Name'[0]} ${ANALYTICSDATA.'Last Name'[0]},

The password for the following accounts is going to expire soon.

<table>

<tr><th>Application</th><th>Account name</th><th>Password expiry date</th></tr>

<%int count=Integer.parseint(“${ANALYTICSDATA.Application.size()}”); for(int i=0;i<count;i=i+1){%>

<tr><td>${ANALYTICSDATA.'Application'[i]}</td><td>${ANALYTICSDATA.'Account Name'[i]}</td><td>${ANALYTICSDATA.'Password Expiration Date'[i]}</td></tr><%}%>

</table>

Analytics name: ${analyticsConfig.analyticsName}

Analytics category: ${analyticsConfig.category}


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

Thanks for this example. What if you want the email to go to the manager but NOT to the user, will this not work? We have the USERNAME as a columns in the analytic query but we want the report to go to the manager instead. Is that not possible, I am having issues with this.

 

here's the analytic:

SELECT u.USERNAME, u.systemusername, u.userkey, u.statuskey, u.preferedfirstname, u.customproperty45, u.employeeid, u.termdate, u.customproperty41, m.username AS 'Manager Username', u.manager AS 'Manager Userkey', m.preferedfirstname AS 'Manager First Name', m.customproperty45 AS 'Manager Last Name', m.email AS 'Manager Email' FROM users u INNER JOIN users m ON m.userkey = u.manager WHERE u.statuskey = 1 AND ( (Date_format(u.customproperty41, '%Y-%m-%d') - INTERVAL 15 DAY) = Date_format(Curdate(), '%Y-%m-%d') )

 

and the following on the email template:

Name : Contractor End Date - Reminder
To : ${ANALYTICSDATA.'Manager Email'[0]}
 

SELECT u.USERNAME as 'user_name', u.systemusername, u.userkey, u.statuskey, u.preferedfirstname, u.customproperty45, u.employeeid, u.termdate, u.customproperty41, m.username AS 'USERNAME', u.manager AS 'Manager Userkey', m.preferedfirstname AS 'Manager First Name', m.customproperty45 AS 'Manager Last Name', m.email AS 'Manager Email' FROM users u INNER JOIN users m ON m.userkey = u.manager WHERE u.statuskey = 1 AND ( (Date_format(u.customproperty41, '%Y-%m-%d') - INTERVAL 15 DAY) = Date_format(Curdate(), '%Y-%m-%d') )


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

I tried what you suggested and adding the following on the email template and it didn't work:

Am I missing anything else?

kifle_0-1658771813415.png

Here's the analytic query:

SELECT u.USERNAME as 'user_name', u.systemusername, u.userkey, u.statuskey, u.preferedfirstname, u.customproperty45, u.employeeid, u.termdate, u.customproperty41, m.username AS 'Manager Username', m.username AS 'USERNAME', u.manager AS 'Manager Userkey', m.preferedfirstname AS 'Manager First Name', m.customproperty45 AS 'Manager Last Name', m.email AS 'Manager Email' FROM users u INNER JOIN users m ON m.userkey = u.manager WHERE u.statuskey = 1 AND ( (Date_format(u.customproperty41, '%Y-%m-%d') - INTERVAL 13 DAY) = Date_format(Curdate(), '%Y-%m-%d') )

Try new query suggested  & in to ${userEmail}


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

Sharukh_Shaikh
New Contributor III
New Contributor III

Hi Sampath,

You can write an update SQL query which will update a customproperty of the user attribute whose expiry is near.

Let's say, Alice's termination date is in next 10 days. The update query will check the user termination date and update the CustomProperty30 of the Alice with "Expiry" keyword.

Now as the next step, Create a user update Rule by checking the user CustomProperty30 = 'Expiry' and as Action Send the Email.

The Email template can be created with the help of the below link.

https://saviynt.freshdesk.com/support/solutions/articles/43000622153-managing-email-templates 

sampath18
Regular Contributor II
Regular Contributor II

Hi Sharukh,

Are you referring to a custom query rule job where we need to write required query and update the custom attribute? If yes, can the rule detect these updates and trigger mail? because in the given options we only get user updated from Ui or updated from import. So will updated query can be captured by the user update rules?

Thanks

Sampath.

I was thinking the same thing that it would probably have to be an update and we would just have to check the status of the expiry date that we have stored in customproperty field in Saviynt.

So are you suggesting that the sql query update is part of the HR import preprocessor?