How to attach email to transaction record?
Hi All,
In this post we are going to learn about " Attach email to record", In our example we will attach email to transaction record , you can attach to record type you want
We need "N/email" module to send email, use "email.send()" method to send email.
Author, body, recipients and subject are required parameters where as attachments, bcc, cc, isInternalOnly, relatedRecords, and replyTo are optional fields.
| Mandatory Fields | Optional Fields | 
|---|---|
| author | attachments | 
| body | bcc | 
| recepients | cc | 
| subject | isInternalOnly | 
| relatedRecords | |
| replyTo | 
We can also attach to :
1. Case and Campaign use "activityId"
2. Custom Record use "customRecord" pass object like below:
        customRecord:{
          id:recordId,
          recordType: recordTypeId 
        }   
3. Entity record like employee customer etc use "entityId"
4. Transaction record use "transactionId" 
Working Code:
/**
 * @NApiVersion 2.x
 * @NScriptType UserEventScript
 */
define(['N/record','N/email', 'N/render'],
    function(record, email, render) {
        function attachToTrans(context) {
            try
            {
                var newrecord = context.newRecord;
                
                var recordid = newrecord.id;                
                var recordtype = newrecord.type;
                //====== you can print pdf and attach to it ====
                var transactionFile = render.transaction({
                                    entityId: recordid,
                                    printMode: render.PrintMode.PDF,
                                    inCustLocale: true
                                    });
                //=================End of Print PDF ========================
                
                //============ You can use email template also ============
                
                var ngMergeResult = render.mergeEmail({
                                            templateId: XXYY, //XXYY is email template id
                                            transactionId: recordid,
                                            });
                var emailSubject = ngMergeResult.subject;
                var emailBody = ngMergeResult.body;
                        
                //=========== end of email template ========================
                //================ send email and attach to transaction record======
                email.send({
                            author: AABBCC,//AABBCC is author id 
                            recipients: myEmailList, //myEmailList array of all emails or one email
                            subject: emailSubject,
                            body: emailBody,
                            cc: myCCs,//myCCs array of emails or email
                            attachments: [transactionFile],
                            relatedRecords: {
                                transactionId: recordid
                            }
                        });
                //========== end of sending email ========================
            }
            catch(exp)
            {
                log.error({
                            title: 'exp ',
                            details: "exp "+exp
                            });
            }
        }
        return {
            afterSubmit: attachToTrans
        };
});
Hope this will help someone. Please let us know in comment section below or follow/ join us on FB and linkedin
Thanks
Netsuite Guru
Download Netsuite Guru Android App
 Follow Me on Linkedin  
 Our FB Page
Comments
Post a Comment
Thanks for you message, please join us on Facebook and Linkedin