Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

Epic CreateAccountJSON updates

shipleys
New Contributor
New Contributor

Looking to get help with updating our Epic CreateAccountJSON – we would like to be able to set a block in Epic depending on different items, employee class and customer fields from Saviynt to start

For example – No user that is has an employee class of Student should get a block in Epic. Which with this I was able to get it to work

<urn:BlockStatus><urn1:IsBlocked>${if(user.employeeclass == 'Student'){false} else {true}} </urn1:IsBlocked><urn1:Reason>Training Incomplete</urn1:Reason></urn:BlockStatus>

I would also like to include that if a user is with a certain organization, then they should also not get blocked. I tried the below, but it did not work.

<urn1:IsBlocked>${if(user.employeeclass == 'Student'){false} else if(user.customer == 'VENDORNAME'){false} else {true}} </urn1:IsBlocked><urn1:Reason>Training Incomplete</urn1:Reason></urn:BlockStatus>

Any suggestions on how I can make this work?

5 REPLIES 5

rushikeshvartak
All-Star
All-Star

Can you elaborate more with example and screenshot what is issue ?


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

shipleys
New Contributor
New Contributor

In our Epic Createaccountjson - we currently have it set to add a block to any Epic account Saviynt creates - 
<urn:BlockStatus><urn1:IsBlocked>true</urn1:IsBlocked><urn1:Reason>Training Incomplete</urn1:Reason></urn:BlockStatus>

I was able to get it to not block accounts we classify as students, but still block other accounts using this - <urn:BlockStatus><urn1:IsBlocked>${if(user.employeeclass == 'Student'){false} else {true}} </urn1:IsBlocked><urn1:Reason>Training Incomplete</urn1:Reason></urn:BlockStatus>

I just need more help on making a few more changes to include another type of user that should not get a block. We recently started to use Organizations for 3rd parties, and there is one that I would like to exclude from getting a block.
My original thought was something like this below, but there is something not right with the else if(user.customer == 'VENDORNAME')

<urn1:IsBlocked>${if(user.employeeclass == 'Student'){false} else if(user.customer == 'VENDORNAME'){false} else {true}} </urn1:IsBlocked><urn1:Reason>Training Incomplete</urn1:Reason></urn:BlockStatus>

Please share full json


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

Here is our current CreateAccountJSON for Epic in our Saviynt Dev environment. 

 

 <soapenv:Body>

<urn:CreateUser>

<urn:UserInternalID>${user.username}</urn:UserInternalID>

<urn:SystemLoginID>${user.username}</urn:SystemLoginID>

<urn:IsActive>true</urn:IsActive>

<urn:StartDate>t</urn:StartDate>

<urn:ReportGrouper1>${user.employeeid}</urn:ReportGrouper1>

<urn:UserComplexName><urn:FirstName>${user.firstname}</urn:FirstName><urn:LastName>${user.lastname}</urn:LastName><urn:MiddleName>${if(user.middlename != null){user?.middlename?.toString().substring(0,1)} else {''}}</urn:MiddleName></urn:UserComplexName>

<urn:AuthenticationConfigurationID><urn1:ID>1000002</urn1:ID></urn:AuthenticationConfigurationID>

<urn:BlockStatus>

<urn1:IsBlocked>${if(user.employeeclass == 'Student'){false} else {true}} </urn1:IsBlocked>

<urn1:Reason>Training Incomplete</urn1:Reason>

</urn:BlockStatus>

</urn:CreateUser>

</soapenv:Body> 

<soapenv:Body>
  <urn:CreateUser>
    <urn:UserInternalID>${user.username}</urn:UserInternalID>
    <urn:SystemLoginID>${user.username}</urn:SystemLoginID>
    <urn:IsActive>true</urn:IsActive>
    <urn:StartDate>t</urn:StartDate>
    <urn:ReportGrouper1>${user.employeeid}</urn:ReportGrouper1>
    
    <urn:UserComplexName>
      <urn:FirstName>${user.firstname}</urn:FirstName>
      <urn:LastName>${user.lastname}</urn:LastName>
      <urn:MiddleName>${
        if (user.middlename != null) {
          user.middlename.toString().substring(0, 1)
        } else {
          ''
        }
      }</urn:MiddleName>
    </urn:UserComplexName>

    <urn:AuthenticationConfigurationID>
      <urn1:ID>1000002</urn1:ID>
    </urn:AuthenticationConfigurationID>

    <urn:BlockStatus>
      <urn1:IsBlocked>${
        if (user.employeeclass == 'Student' || user.customer == 'VENDORNAME') {
          false
        } else {
          true
        }
      }</urn1:IsBlocked>
      <urn1:Reason>Training Incomplete</urn1:Reason>
    </urn:BlockStatus>

  </urn:CreateUser>
</soapenv:Body>

Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.