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

Apps Script untuk Cetak Sertifikat

Menambahkan Random Key sebagai ID Pembeda di Google Sheet dengan Apps Script

Menampilkan Struktur Tabel MySQL dengan JTree

Algorithma Bilangan Prima dengan C++

Menghapus Baris di Google Sheets yang Memiliki Sel Kosong dengan Apps Script

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

Keuntungan menjadi Pengguna Berbayar Aplikasi Android

Menyembunyikan Failed Load Images di Blogger

Pengalaman Banding Suspend Aplikasi

Kebodohan Karyawan Menyalahkan Sistem