Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-28-2024 03:47 AM
Can someone help me with the below email inbound action?We need to set the 'To' person as an assignee of the request.
(function runAction( /*GlideRecord*/ current, /*GlideRecord*/ event, /*EmailWrapper*/ email, /*ScopedEmailLogger*/ logger, /*EmailClassifier*/ classifier) {
gs.log("SJ Email Sys_id "+email.sys_id);
var desc = email.body_text.toString();
var place = desc.indexOf("Disclaimer");
desc = desc.substring(0, place);
var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
var item = cart.addItem('9c7395f41ba5c4500da14223cd4bcba6');
cart.setVariable(item, 'request_type', 'Inquiry');
cart.setVariable(item, 'description', desc);
var cartmsg = "received from: " + email.origemail + "\n\n" + email.body_text;
cart.setVariable(item, 'comments', cartmsg);
var rc = cart.placeOrder();
try {
var toEmail = email.direct.split(',');
var firstToEmail = toEmails[0].trim();
var usrSysID ='';
if (firstToEmail != '') {
var usr = new GlideRecord('sys_user');
usr.addQuery('email', firstToEmail);
usr.query();
if (usr.next()) {
usrSysID = usr.sys_id;
gs.log('usrSysID ' + usrSysID);
}
}
var inputs = {};
inputs['description'] = desc; // String
inputs['short_description'] = email.subject.toString(); // String
inputs['assignee'] = usrSysID;
inputs['request_number'] = rc.sys_id; // Sys ID (GUID)
// Start Asynchronously: Uncomment to run in background. Code snippet will not have access to outputs.
// sn_fd.FlowAPI.getRunner().subflow('global.email_general_request_subflow').inBackground().withInputs(inputs).run();
// Execute Synchronously: Run in foreground. Code snippet has access to outputs.
var result = sn_fd.FlowAPI.getRunner().subflow('global.email_general_request_subflow').inForeground().withInputs(inputs).run();
var outputs = result.getOutputs();
// Current subflow has no outputs defined.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})(current, event, email, logger, classifier);
Solved! Go to Solution.
1 ACCEPTED SOLUTION
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-29-2024 05:59 AM
Fixed it from my end and the exact code is below
(function runAction( /*GlideRecord*/ current, /*GlideRecord*/ event, /*EmailWrapper*/ email, /*ScopedEmailLogger*/ logger, /*EmailClassifier*/ classifier) {
gs.log("SJ Email Sys_id "+email.sys_id);
var desc = email.body_text.toString();
var place = desc.indexOf("Disclaimer");
desc = desc.substring(0, place);
var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
var item = cart.addItem('9c7395f41ba5c4500da14223cd4bcba6');
cart.setVariable(item, 'request_type', 'Inquiry');
cart.setVariable(item, 'description', desc);
var cartmsg = "received from: " + email.origemail + "\n\n" + email.body_text;
cart.setVariable(item, 'comments', cartmsg);
var rc = cart.placeOrder();
try {
var toEmail = email.direct.split(',');
var firstToEmail = toEmail[0].trim();
var usrSysID ='';
if (firstToEmail != '') {
var usr = new GlideRecord('sys_user');
usr.addQuery('email', firstToEmail);
usr.query();
if (usr.next()) {
usrSysID = usr.sys_id;
gs.log('usrSysID ' + usrSysID);
}
}
var inputs = {};
inputs['description'] = desc; // String
inputs['short_description'] = email.subject.toString(); // String
inputs['assignee'] = usrSysID;
inputs['request_number'] = rc.sys_id; // Sys ID (GUID)
// Start Asynchronously: Uncomment to run in background. Code snippet will not have access to outputs.
// sn_fd.FlowAPI.getRunner().subflow('global.email_general_request_subflow').inBackground().withInputs(inputs).run();
// Execute Synchronously: Run in foreground. Code snippet has access to outputs.
var result = sn_fd.FlowAPI.getRunner().subflow('global.email_general_request_subflow').inForeground().withInputs(inputs).run();
var outputs = result.getOutputs();
// Current subflow has no outputs defined.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})(current, event, email, logger, classifier);
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-29-2024 05:59 AM
Fixed it from my end and the exact code is below
(function runAction( /*GlideRecord*/ current, /*GlideRecord*/ event, /*EmailWrapper*/ email, /*ScopedEmailLogger*/ logger, /*EmailClassifier*/ classifier) {
gs.log("SJ Email Sys_id "+email.sys_id);
var desc = email.body_text.toString();
var place = desc.indexOf("Disclaimer");
desc = desc.substring(0, place);
var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
var item = cart.addItem('9c7395f41ba5c4500da14223cd4bcba6');
cart.setVariable(item, 'request_type', 'Inquiry');
cart.setVariable(item, 'description', desc);
var cartmsg = "received from: " + email.origemail + "\n\n" + email.body_text;
cart.setVariable(item, 'comments', cartmsg);
var rc = cart.placeOrder();
try {
var toEmail = email.direct.split(',');
var firstToEmail = toEmail[0].trim();
var usrSysID ='';
if (firstToEmail != '') {
var usr = new GlideRecord('sys_user');
usr.addQuery('email', firstToEmail);
usr.query();
if (usr.next()) {
usrSysID = usr.sys_id;
gs.log('usrSysID ' + usrSysID);
}
}
var inputs = {};
inputs['description'] = desc; // String
inputs['short_description'] = email.subject.toString(); // String
inputs['assignee'] = usrSysID;
inputs['request_number'] = rc.sys_id; // Sys ID (GUID)
// Start Asynchronously: Uncomment to run in background. Code snippet will not have access to outputs.
// sn_fd.FlowAPI.getRunner().subflow('global.email_general_request_subflow').inBackground().withInputs(inputs).run();
// Execute Synchronously: Run in foreground. Code snippet has access to outputs.
var result = sn_fd.FlowAPI.getRunner().subflow('global.email_general_request_subflow').inForeground().withInputs(inputs).run();
var outputs = result.getOutputs();
// Current subflow has no outputs defined.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})(current, event, email, logger, classifier);