need to create RITM based from email or outlook like based on email content

Purushotham Ga2
Tera Contributor

HI experts,

email content:

-----------------

User  S Admin has been disabled due to inactivity.
* User Name - Testssrm_1
* Job Title - Security Service
*AD Last Logon - 11/08/2024 04:50:13
* Azure AD Last Sign-In - 11/08/2024 04:50:13
* Manager - Putt
* Manager Email ID - zyelynn.putt@abc.com
Business Process: Disablement: Testssrm_1 (Disabled)
Subject: Admin account Testssrm_1 disabled by AD automation due to inactivity
Details: Admin account Testssrm_1 disabled by AD automation due to inactivity and disabled on 2/11/2025 12:42:54 AM
--------------------
 
we have sr form 
--------------
name - Admin account disabled by AD automation due to inactivity1
variables like :-
-----------
Question                                                  type
----------                                                 --------------
User Name                                              single line text
Job Title                                                   single line text
AD Last Logon                                         date/time
Azure AD Last Sign-In                                   date/time
Manager Name                                                single line text(string)
Manager Email ID                                              single line text
------------------------------------------------------------------------------
 
need to create RITM based on email body and need to capture those info in RITM variables as well
 
please assist me asap.
 
10 REPLIES 10

Purushotham Ga2
Tera Contributor

PurushothamGa2_0-1742534315591.png

 

Hello @Purushotham Ga2 

 

Your code updated:

 

function createRequest() {
var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
var item = cart.addItem('f3ee4b5e93775e502235f2066aba105d');

if (!email || !email.body_text) {
gs.error("Email body is empty or undefined.");
return;
}

var emailbody = email.body_text;
gs.info("Email Body: " + emailbody); // Debugging email body

var emailLines = emailbody.split('*');

if (emailLines.length < 6) {
gs.error("Email body does not contain expected data.");
return;
}

var user_name = emailLines[0].split('User Name - ')[1]?.trim() || "";
var job_title = emailLines[1].split('Job Title - ')[1]?.trim() || "";
var ad_last_logon = emailLines[2].split('AD Last Logon - ')[1]?.trim() || "";
var azure_ad_last_sign_in = emailLines[3].split('Azure AD Last Sign-In - ')[1]?.trim() || "";
var manager_name = emailLines[4].split('Manager - ')[1]?.trim() || "";
var manager_email_id = emailLines[5].split('Manager Email ID - ')[1]?.split('\n')[0]?.trim() || ""; // Fix for extra data

gs.info("Parsed Values - User Name: " + user_name + ", Job Title: " + job_title);

cart.setVariable(item, 'user_name', user_name);
cart.setVariable(item, 'job_title', job_title);
cart.setVariable(item, 'ad_last_logon', ad_last_logon);
cart.setVariable(item, 'azure_ad_last_sign_in', azure_ad_last_sign_in);
cart.setVariable(item, 'manager_name', manager_name);
cart.setVariable(item, 'manager_email_id', manager_email_id);

var abc = cart.placeOrder();
gs.info("Order placed with ID: " + abc);
}

createRequest();

 

NOTE: Used onecompiler website to generate split and trim statements for your code.

 


Hope that helps!

Purushotham Ga2
Tera Contributor
createRequest();
function createRequest()
{
var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
var item = cart.addItem('f3ee4b5e93775e502235f2066aba105d');
    var emailbody = email.body_text;
   
    var test1 = emailbody.split('*')[0]; //user name
    var test2 = emailbody.split('*')[1];     // job title
    var test3 = emailbody.split('*')[2];     // ad logon
    var test4 = emailbody.split('*')[3];     // azure ad last login
    var test5 = emailbody.split('*')[4];     // manager name
    var test6 = emailbody.split('*')[5];    // manager email id

    var test7 = test1.split('*')[1];
    var test8 = test7.trim();
    var test9 = test2.split('-')[1];
    var test10 = test9.trim();
    var test11 = test3.split('User Name - ')[1];
    var test12 = test11.trim();
    var test13 = test4.split('Job Title - ')[1];
    var test14 = test13.trim();
    var test15 = test5.split('AD Last Logon -')[1];
    var test16 = test15.trim();
    var test17 = test6.split('Azure AD Last Sign-In -')[1];
    var test18 = test17.trim();
    var test19 = test6.split('Manager Name - ')[1];
    var test20 = test19.trim();
    var test21 = test6.split('Manager Email ID -')[1];
    var test22 = test21.trim();


        cart.setVariable(item,'user_name',test12);
                cart.setVariable(item,'job_title',test14);
        cart.setVariable(item,'ad_last_logon',test16);
        cart.setVariable(item,'azure_ad_last_sign_in',test18);
        cart.setVariable(item,'manager_name',test20);
        cart.setVariable(item,'manager_email_id',test22);
            var abc = cart.placeOrder();
   
}

Purushotham Ga2
Tera Contributor

i used the above script to populate data based on variables matches but getting error like undefiened so please assist me asap

Purushotham Ga2
Tera Contributor

@Ankur Bawiskar@Vishal Jaswal - pls assist me on this asap