Categories
Dokumentasi

Kirim Email Kustom Setelah Input Google Form

Daftar Isi

  • Email Kustom Google Form
  • Tahap I: Persiapan
    • Membuat Skrip Baru
    • Skrip Pertama: Mengetahui Indeks Input Pengguna
    • Memasang Skrip Agar Dijalankan Pada Saat Form Dikirim
    • Buat Pemicu (Trigger) Baru
    • Menjalankan Form Untuk Mengetahui Indeks Input
    • Membuka Catatan Eksekusi (Log)
    • Catat Indeks Input
  • Tahap II: Mulai Membuat Kode
    • Berikan Komentar Indeks Input
    • Contoh Skrip Sederhana: Kirim Notifikasi
    • Contoh Skrip Lebih Rumit: Kirim Status

    Tahap II: Mulai Membuat Kode

    Berikan Komentar Indeks Input

    1. Berikan komentar indeks input agar memudahkan mengolah data
    2. Beri komentar pada Logger, dapat diaktifkan kembali apabila diperlukan
    function onFormsubmit(e) {
      //0: nama lengkap, 1: institusi asal, 2: pekerjaan, 3: nomor hp, 4: sertifikat, 5: bukti
      thisItem = e.response.getItemResponses();
      /*Logger.log(readThisitem(thisItem[0]) + " " + 
                 readThisitem(thisItem[1]) + " " + 
                 readThisitem(thisItem[2]) + " " + 
                 readThisitem(thisItem[3]) + " " + 
                 readThisitem(thisItem[4]) + " " + 
                 readThisitem(thisItem[5]) + " " + 
                 readThisitem(thisItem[6]));*/
    }
    
    function readThisitem(thisItem) {
      return (thisItem == undefined) ? "undefined" : thisItem.getResponse();
    }

    Contoh Skrip Sederhana: Kirim Notifikasi

    function onFormsubmit(e) {
      //0: nama lengkap, 1: institusi asal, 2: pekerjaan, 3: nomor hp, 4: sertifikat, 5: bukti
      thisItem = e.response.getItemResponses();
      /*Logger.log(readThisitem(thisItem[0]) + " " + 
                 readThisitem(thisItem[1]) + " " + 
                 readThisitem(thisItem[2]) + " " + 
                 readThisitem(thisItem[3]) + " " + 
                 readThisitem(thisItem[4]) + " " + 
                 readThisitem(thisItem[5]) + " " + 
                 readThisitem(thisItem[6]));*/
      pesan = "Terima kasih " + readThisitem(thisItem[0]) + 
              " sudah mengisi dengan benar. " +
              "\n\nBerikut adalah detail Seminar daring..."
      option = {name: 'Panitia Seminar Fisioterapi Kolaborasi JPTA, IFI dan UNISA Yogyakarta',noReply: true};
      //kirim email
      MailApp.sendEmail(e.response.getRespondentEmail(), "Informasi Seminar Daring", pesan, option);
    }
    
    function readThisitem(thisItem) {
      return (thisItem == undefined) ? "undefined" : thisItem.getResponse();
    }
    1. Gunakan \n untuk baris baru di pesan email
    2. Cara mendapatkan alamat email:
      1. opsi Collect email addresses diaktifkan:
        e.response.getRespondentEmail() akan memberikan alamat email yang diketik, bukan alamat email yang digunakan untuk login. Contoh ada skrip di atas.
      2. opsi Collect email addresses tidak diaktifkan:
        Perlu dibuatkan pertanyaan tersendiri. Diakses dengan thisItem[indeks].getResponse(). Contoh ada di skrip di bawah

    Contoh Skrip Lebih Rumit: Kirim Status

    function onFormsubmit(e)
    {
      thisItem = e.response.getItemResponses();
      if (((readThisitem(thisItem[8]) == "37,5 C - 38 C" || readThisitem(thisItem[8]) == "Lebih Dari 38 C") && readThisitem(thisItem[9]) == "Ya" && readThisitem(thisItem[10]) == "Ya" && readThisitem(thisItem[11]) == "Ya" && readThisitem(thisItem[13]) == "Ya" && readThisitem(thisItem[14]) == "Ya" && readThisitem(thisItem[17]) == "Ya"))
        kategori = 1;
      else if ((readThisitem(thisItem[8]) == "37,5 C - 38 C" || readThisitem(thisItem[8]) == "Lebih Dari 38 C") && readThisitem(thisItem[9]) == "Ya" && readThisitem(thisItem[11]) == "Ya")
        kategori = 2;
      else if ((readThisitem(thisItem[8]) == "37,5 C - 38 C" || readThisitem(thisItem[8]) == "Lebih Dari 38 C") && readThisitem(thisItem[9]) == "Ya" && readThisitem(thisItem[13]) == "Ya")
        kategori = 3;
      else if ((readThisitem(thisItem[8]) == "37,5 C - 38 C" || readThisitem(thisItem[8]) == "Lebih Dari 38 C") && readThisitem(thisItem[9]) == "Ya" && readThisitem(thisItem[14]) == "Ya")
        kategori = 4;
      else if ((readThisitem(thisItem[8]) == "37,5 C - 38 C" || readThisitem(thisItem[8]) == "Lebih Dari 38 C") && readThisitem(thisItem[9]) == "Ya" && readThisitem(thisItem[17]) == "Ya")
        kategori = 5;
      else if (readThisitem(thisItem[9]) == "Ya" && readThisitem(thisItem[16]) == "Ya")
        kategori = 6;
      else
        kategori = 0;
      
      if (kategori == 0)
      {
        pesan = "Terima kasih " + readThisitem(thisItem[1]) + " sudah mengisi dengan benar. \n\nSilahkan tidak melakukan aktifitas di luar rumah, tetap jaga kesehatan, konsumsi suplemen/multivitamin untuk menambah imunitas, konsumsi makanan bergizi, banyak minum air putih, jangan stress, dekatkan diri kepada Allah dan tetap menjaga komunikasi dengan Pembimbing Akademik.\n\nJika Anda merasa sakit, beberapa waktu setelah mengisi form ini, maka Anda dapat mengisi lagi form ini.\n\nPastikan identitas diri (KTP) dan Kartu BPJS (jika Ada) sudah disiapkan.\n\nFAQ Covid19: https://update.unisayogya.ac.id/covid19/faq";
      }
      else
      {
        pesan = "Terima kasih " + readThisitem(thisItem[1]) + " sudah mengisi dengan benar. \n\nSegera hubungi Hotline WA untuk mendapatkan informasi tindakan selanjutnya. Sebutkan NIM, nama lengkap dan program studi. Pastikan identitas diri (KTP) dan Kartu BPJS selalu tersedia.\n\nFAQ Covid19: https://update.unisayogya.ac.id/covid19/faq"
      }
      option = {name: 'Satuan Tugas Kewaspadaaan Covid19 UNISA Yogyakarta',noReply: true};
    
      //kirim pesan ke Mahasiswa
      MailApp.sendEmail(readThisitem(thisItem[20]), "Hasil Skrining Covid19 Mahasiswa", pesan, option);
      
      //kirim pesan ke SATGAS
      if (kategori != 0) 
      {
        pesan = "KATEGORI: " + kategori + "\n\n";
        for (var i = 0; i < thisItem.length; i++) 
        {
          pesan += readThisitem(thisItem[i].getItem().getTitle() + ":\n" + readThisitem(thisItem[i]) + "\n\n";
        }
        
        MailApp.sendEmail("satgas@unisayogya.ac.id", "Early Warning Skrining Covid19 Mahasiswa", pesan, option);
      }
      FormApp.getActiveForm().setConfirmationMessage("Terima Kasih sudah mengisi Form Screening.");
    }
    
    function readThisitem(thisItem) {
      return (thisItem == undefined) ? "undefined" : thisItem.getResponse();
    }

    Demikian, semoga bermanfaat. [bst]

    By basit

    Biro Pengembangan Teknologi Dan Sistem Informasi

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.