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

Game TicTacToe dengan Greenfoot

Algorithma Julianday dengan Java

Jasa Penjadwalan Semester, UTS dan UAS Perguruan Tinggi menggunakan Google Sheet

Balapan Santai Kediri-Malang tiap Hari Senin Pagi

Besar Pajak Tahunan Honda Versa 2016 di Tahun 2022

Domisili, Persyaratan Utama KPR Subsidi

Eliminasi Gauss-Jordan untuk Invers Matrix dengan Java

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

Menyikapi Ucapan AI Pejabat