Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

Extract XML from E-Mail und create or update incident

e__rohaferero
Tera Contributor

Hello everyone,

I'm looking for a way to automate the extraction of content from an XML file received via E-Mail and use it to create update records in the Incident table.

Manually, I  achieved this by setting up the file as a Data Source, then using an Import Set and a Transformation Map to perform the transform.

Is there a way to automate this entire process? I attempted to use Inbound Actions but wasn't successful.

Any guidance or suggestions would be greatly appreciated!

Thanks in advance.

1 REPLY 1

palanikumar
Giga Sage
Giga Sage

Hi,

 

You cannot execute a data source directly from script. Instead you can create a scheduled import and this can be created from script. So first step is to create Scheduled import using the below steps:

1) Navigate to System Import Sets > Administration > Scheduled Imports

2) Create a new Record with data source as your data source and Run as Once

3) Note down the sys_id

 

You need to execute the following in Inbound Action:

1) Delete the attachment in Data Source

2) Copy the attachment from email to Data Source

3) Execute the scheduled import set

Refer the below sample script for reference:

 

var tableName = "sys_data_source";
var tableSysId = "<sys_id of data source>";

// Remove Attachments
var grAttach = new GlideRecord('sys_attachment');
grAttach.addQuery('table_name', tableName);
grAttach.addQuery('table_sys_id', tableSysId);
grAttach.query();
grAttach.next();
grAttach.deleteMultiple();

// Copy attachment from email
GlideSysAttachment.copy('sys_email', current.sys_id, tableName, tableSysId);

//Execute the scheduled import
var grSchImp = new GlideRecord('scheduled_import_set');
if(grSchImp.get('<sys_id_of_your_scheduled_import>')){
     SncTriggerSynchronizer.executeNow(grSchImp);
}
Thank you,
Palani