Apps Script untuk Mengirimkan Notifikasi Approval

Berikut ini kode Apps Script untuk mengirimkan email approval berdasarkan input dari pengguna:

Kode

function onOpen() 
{
  const ui = SpreadsheetApp.getUi();
  const menu = ui.createMenu("Administrasi");
  menu.addItem("Kirim Email Approval", "openFormEmail");
  menu.addToUi();
}

function openFormEmail()
{
  var target = SpreadsheetApp.openById("--ID Sheet--");
  var ss=target.getSheetByName("Instansi");
  ss.getRange("A2:F").getValues().map(function(row,index){
    if(row[0]!="" && row[0]!="Passed"){
      var subject="Pengajuan Instansi "+row[3]+" "+row[0];
      var pesan="Yth. "+row[2]+"<br/><br/>Terkait pengajuan nama instansi dengan:<br/><br/>";
      pesan+="Nama: "+row[3]+"<br/>";
      pesan+="Alamat: "+row[4]+"<br/><br/>";
      if(row[0]=="Approved"){
        pesan+="Pengajuan tersebut kami terima, silahkan cek di inputan instansi dalam kurun waktu 10-15 menit dari email ini dikirimkan.<br/>";
      }else if(row[0]=="Rejected"){
        pesan+="Pengajuan tersebut tidak dapat kami terima, dengan alasan:<br/>";
        pesan+=row[5]+".<br/>";
      }
      pesan+="<br/>Demikian pemberitahuan kami, atas perhatiannya kami ucapkan terima kasih.<br/><br/>";
      pesan+="Hormat kami,<br/>";
      pesan+="Tim PIC PKL dan Tugas Akhir";
      sendNotificationEmail(row[2],subject,pesan);
    }
  });

  ss=target.getSheetByName("Pembimbing Luar");
  ss.getRange("A2:M").getValues().map(function(row,index){
    if(row[0]!="" && row[0]!="Passed"){
      var subject="Pengajuan Pembimbing "+row[3]+" "+row[0];
      var pesan="Yth. "+row[2]+"<br/><br/>Terkait pengajuan nama pembimbing dengan:<br/><br/>";
      pesan+="Nama: "+row[3]+"<br/>";
      pesan+="Dari: "+row[5]+"<br/><br/>";
      if(row[0]=="Approved"){
        pesan+="Pengajuan tersebut kami terima, silahkan cek di inputan Pembimbing Luar dalam kurun waktu 10-15 menit dari email ini dikirimkan.<br/>";
      }else if(row[0]=="Rejected"){
        pesan+="Pengajuan tersebut tidak dapat kami terima, dengan alasan:<br/>";
        pesan+=row[12]+".<br/>";
      }
      pesan+="<br/>Demikian pemberitahuan kami, atas perhatiannya kami ucapkan terima kasih.<br/><br/>";
      pesan+="Hormat kami,<br/>";
      pesan+="Tim PIC PKL dan Tugas Akhir";
      sendNotificationEmail(row[2],subject,pesan);
    }
  });
}

function sendNotificationEmail(recipient,subjecto,pesan)
{
	try {
		MailApp.sendEmail({
		  to: recipient,
		  subject: subjecto,
		  htmlBody: pesan
		});
		return true;
	} catch (e) {
		return false;
	}
}

Demo



Komentar



Postingan populer dari blog ini

Algorithma FPB dan KPK dengan Javascript

Apps Script untuk Cetak Sertifikat

Cara Menentukan Arah Kiblat Menggunakan Google Maps

Menampilkan Undetermined Circle Progressbar di Java

Genetics Algorithm Method with Progressive Error Prediction

Kode Java Membandingkan Dua File

Tutorial Upload File ke Google Drive dari Website

Generate Karakter Acak dan Menempatkannya di Sel Google Sheets dengan Apps Script

Peringatan: Aksi Penipuan Skimming Melalui Aplikasi Android M-Pajak

Kaidah Baku untuk Konsistensi Data (PT, Tbk, Pty., & Ltd.)