เทคนิคการวัดความเร็วในการตอบอีเมลลูกค้า

ถ้ามี KPI ที่ต้องทำให้สำเร็จคือ “ร้อยละของปัญหาที่ตอบกลับลูกค้าภายใน 2 วันทำการ” แล้ว … ช่องทางที่รับปัญหาจากลูกค้าคือ ทางอีเมล (ในที่นี้เป็นบริการอีเมลบนระบบของ Google Mail หรือ Gmail) โดยการตอบกลับ คือ การ Reply กลับไปหาลูกค้า เวลาที่นับคือ นับตั้งแต่เวลาที่อีเมลเข้ามาถึง จนกระทั่งมีการตอบกลับไปหาลูกค้าทางอีเมลฉบับแรก สำหรับคนที่ใช้ Google Mail หรือ Gmail อยู่ สามารถใช้ Google Sheets ทำรายงานได้ ตามขั้นตอนต่อไปนี้ 1. ไปที่ drive.google.com (ให้ Login ด้วย Account ที่ต้องการด้วย) 2. สร้าง Google Sheets แล้วตั้งชื่อตามต้องการ เช่น Report 3. ไปที่เมนู Tools > Script Editor 4. ตั้งชื่อ Project ว่า report แล้ววางโค๊ดต่อไปนี้ลงไป   function reportResponseTime() { // ถ้าจะทำรายงานทั้ง Inbox ให้ uncomment บรรทัดต่อไปแทน //var threads = GmailApp.getInboxThreads(); // ถ้าจะทำรายงานเฉพาะ Lable ที่เตรียมไว้ ในที่นี้ใช้ Label “support-psuemail” var threads = GmailApp.search(‘label:support-psuemail ‘); for (var i = 0; i < threads.length; i++) { // วนลูปแต่ละ Thread if (threads[i].getMessageCount() > 1) { // สนใจเฉพาะ Thread ที่มีการตอบกลับเท่านั้น var messages = threads[i].getMessages(); // Subject ของอีเมล var d1= messages[0].getDate().getTime(); // เวลาที่อีเมลเข้ามา var d2= messages[1].getDate().getTime(); // เวลาที่ตอบกลับฉบับแรก var diff = (d2-d1)/(1000*60*60); // ระยะเวลาหน่วยเป็น ชั่วโมง // เขียนต่อท้าย Sheet ที่กำลังใช้งาน SpreadsheetApp.getActiveSheet().appendRow([messages[0].getSubject(), messages[0].getDate(), messages[1].getDate(), diff]) } } }     5. คลิก Run > reportResponseTime (หากมีหน้าจอ Consense ต่างๆขึ้นมาให้ Allow ไป) 6. ผลจะปรากฏใน Sheet ที่เปิดไว้ 7. จากนั้นสามารถเอาผลไปคำนวนต่อ เช่น ร้อยละของอีเมลที่ตอบสนองภายใน 48 ชั่วโมงหรือ 2 วัน เป็นต้น และสามารถตอบคำถามได้ว่า ทำไมบางฉบับใช้เวลาเกิน 48 ชั่วโมง (อาจจะเป็นเพราะติดเสาร์อาทิตย์เป็นต้น) *** กรุณาอ้างอิงด้วยนะครับ หากนำไปเผยแพร่ต่อ ***

Read More »

การแสดงผลจำนวน Quota การส่งอีเมลที่ยังเหลืออยู่ในรอบ 24 ชั่วโมง

ปิด Google Sheets : GASWS1 เมนู Tools > Script Editor… เมนู File > New > Script File ตั้งชื่อ: myscript6 สร้าง function remainDailQuota() ตามนี้ function remainDailQuota() { // https://developers.google.com/apps-script/guides/services/quotas var emailQuotaRemaining = MailApp.getRemainingDailyQuota(); var emailaddress=Session.getActiveUser().getEmail(); var subject=”Email Quota Remaining”; MailApp.sendEmail( emailaddress, subject , “คุณเหลือ Quota การส่งอีเมลอีก ” + emailQuotaRemaining + ” ฉบับ ในรอบ 24 ชั่วโมง” ); } เมนู File > Save หรือ กดปุ่ม Ctrl+s เมนู Run > remainDailQuota

Read More »

การส่งไฟล์แบบ Top Secret!

ปิด Google Sheets : GASWS1 เมนู Tools > Script Editor… เมนู File > New > Script File ตั้งชื่อ: myscript6 สร้าง function MailMerge4() ตามนี้ function MailMerge4() { var ss = SpreadsheetApp.getActiveSpreadsheet(), SalarySheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Salary”)), TemplateID=’1bjpQnJikYMGYNaJQhetpZpkHyjI7iqBqDufprzMSo4k’, header = “A1:G1″, data=”A2:G6”, dataRows = SalarySheet.getRange(data).getValues(), headerRow = SalarySheet.getRange(header).getValues(), numColumns = SalarySheet.getRange(header).getNumColumns(), emailaddress= “”, subject = “”, docUrl = “”; for (var i=0 ; i < dataRows.length ; i++) { emailText=””; subject = “[ลับ] กองคลัง : แจ้งการโอนเงินให้คุณ ” + dataRows[i][0] + ” ” + dataRows[i][1]; var id =DriveApp.getFileById(TemplateID).makeCopy(subject).getId(), doc=DocumentApp.openById(id), docBody=doc.getBody(); for (var j = 0 ; j < numColumns -1 ; j++) { docBody.replaceText(‘{‘ + headerRow[0][j] + ‘}’ , dataRows[i][j]); } emailaddress=dataRows[i][2]; doc.addViewer( emailaddress); docUrl=doc.getUrl(); doc.saveAndClose(); var attachment = DocumentApp.openById(id); MailApp.sendEmail( emailaddress, subject , “เปิดอ่านเอกสารลับได้ที่ \n” + docUrl ); try { dataRows[i][numColumns-1] = new Date(); } catch (e) { dataRows[i][numColumns-1] = e.message; } } SalarySheet.getRange(data).setValues(dataRows); } เมนู File > Save หรือ กดปุ่ม Ctrl+s เมนู Run > MailMerge4 สร้าง function MailMerge5() ตามนี้ function MailMerge5() { var ss = SpreadsheetApp.getActiveSpreadsheet(), SalarySheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Salary”)), TemplateID=’1WzzAwF5cDtQD0kcrLKRdP0ZO6-6MCqc_VXRUxzgq_gI’, header = “A1:H1″, data=”A2:H6”, dataRows = SalarySheet.getRange(data).getValues(), headerRow = SalarySheet.getRange(header).getValues(), numColumns = SalarySheet.getRange(header).getNumColumns(), emailaddress= “”, subject = “”, docUrl = “”; for (var i=0 ; i < dataRows.length ; i++) { emailText=””; subject = “[ลับสุดยอดดดดด] กองคลัง :

Read More »

การส่ง email ถึงผู้รับตามที่กำหนด พร้อมแนบข้อความ/ไฟล์ที่ต้องการ

ปิด Google Sheets : GASWS1 เมนู Tools > Script Editor… เมนู File > New > Script File ตั้งชื่อ: myscript6 สร้าง function MailMerge3() ตามนี้ function MailMerge3() { var ss = SpreadsheetApp.getActiveSpreadsheet(), SalarySheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Salary”)), TemplateID=’1bjpQnJikYMGYNaJQhetpZpkHyjI7iqBqDufprzMSo4k’, header = “A1:G1″, data=”A2:G6”, dataRows = SalarySheet.getRange(data).getValues(), headerRow = SalarySheet.getRange(header).getValues(), numColumns = SalarySheet.getRange(header).getNumColumns(), emailText = “”; for (var i=0 ; i < dataRows.length ; i++) { emailText=””; var id =DriveApp.getFileById(TemplateID).makeCopy(“กองคลัง : แจ้งการโอนเงินให้คุณ ” + dataRows[i][0] + ” ” + dataRows[i][1]).getId(), doc=DocumentApp.openById(id), docBody=doc.getBody(); for (var j = 0 ; j < numColumns -1 ; j++) { docBody.replaceText(‘{‘ + headerRow[0][j] + ‘}’ , dataRows[i][j]); } emailText=docBody.getText(); doc.saveAndClose(); var emailaddress=dataRows[i][2], subject = “กองคลัง : แจ้งการโอนเงินให้คุณ ” + dataRows[i][0] + ” ” + dataRows[i][1], attachment = DocumentApp.openById(id); MailApp.sendEmail( emailaddress, subject , emailText, { attachments: [attachment.getAs(MimeType.PDF)] } ); try { dataRows[i][numColumns-1] = new Date(); } catch (e) { dataRows[i][numColumns-1] = e.message; } } SalarySheet.getRange(data).setValues(dataRows); } เมนู File > Save หรือ กดปุ่ม Ctrl+s เมนู Run > MailMerge3

Read More »

การสร้างไฟล์ PDF จากข้อความที่ต้องการ

เปิด Google Sheets : GASWS1 เมนู Tools > Script Editor… เมนู File > New > Script File ตั้งชื่อ: myscript6 สร้าง function MailMerge2() ตามนี้ function MailMerge2() { var ss = SpreadsheetApp.getActiveSpreadsheet(), SalarySheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Salary”)), TemplateID=’1bjpQnJikYMGYNaJQhetpZpkHyjI7iqBqDufprzMSo4k’, header = “A1:G1″, data=”A2:G6”, dataRows = SalarySheet.getRange(data).getValues(), headerRow = SalarySheet.getRange(header).getValues(), numColumns = SalarySheet.getRange(header).getNumColumns(); for (var i=0 ; i < dataRows.length ; i++) { var id =DriveApp.getFileById(TemplateID).makeCopy(“กองคลัง : แจ้งการโอนเงินให้คุณ ” + dataRows[i][0] + ” ” + dataRows[i][1]).getId(), doc=DocumentApp.openById(id), docBody=doc.getBody(); for (var j = 0 ; j < numColumns -1 ; j++) { docBody.replaceText(‘{‘ + headerRow[0][j] + ‘}’ , dataRows[i][j]); } doc.saveAndClose(); var pdfFile = DriveApp.createFile(doc.getAs(MimeType.PDF)); try { dataRows[i][numColumns-1] = new Date(); } catch (e) { dataRows[i][numColumns-1] = e.message; } } SalarySheet.getRange(data).setValues(dataRows); } เมนู File > Save หรือ กดปุ่ม Ctrl+s เมนู Run > MailMerge2

Read More »