Cara Mengirim Email File PDF Otomatis Setelah Pengguna Mengisi Google Form

Bila Anda ingin tahu cara mengirim file PDF otomatis setelah pengguna mengisi Google Form, pelajari langkah demi langkah dalam artikel panduan ini.
Reza Noprial Lubis

Pernahkah Anda menerima pesan email yang melampirkan PDF, ketika Anda sudah mengisi formulir tertentu? Atau, Anda mungkin terpikir untuk membuat semacam itu?

Halaman ini, akan membantu Anda untuk dapat menghasilkan sebuah formulir yang dapat mengirim pesan Email secara otomatis kepada pengguna, ketika mereka telah mengisi Formulir. Menarik bukan? Mari kita pelajari.

Persiapan

Hal yang pertama kita lakukan, adalah menyiapkan segala yang dibutuhkan untuk menerapkan langkah mengirim file otomatis ini. Adapun beberapa hal yang perlu disiapkan disini antara lain:

  • Formulir di Google Form
    Mempersiapkan formulir menggunakan Google Form adalah hal yang utama. Berikan beberapa pertanyaan, untuk data yang ingin Anda dapatkan.
    Anda dapat menggunakan pertanyaan apapun disana, namun dalam contoh kasus ini, kita membutuhkan Nama, Email, Program Studi, dan Nomor Induk.
    Bila pertanyaan tentang Nama, Email, Program Studi, dan Nomor Induk itu sudah tersedia, maka mari kita siapkan template.
  • Template File Google Slides
    Sekarang, kita membutuhkan template yang nantinya akan dirubah menjadi file PDF dan dikirimkan kepada pengguna. Anda dapat menggunakan GoogleSlide untuk membuat template, dan memberikan informasi Nama, Program Studi, dan Nomor Induk.
    Didalam file template itu, untuk menghasilkan (generate) Nama, gunakan teks {{Nama}}, {{Program Studi}}, {{NPM}}
  • Google Sheets
    Setelah Formulir dengan Google Form itu disiapkan, selanjutnya langsung hasilkan Google Sheets jawaban darinya. Ini dimaksudkan, agar kita dapat mengetahui sekaligus mengatur tabel yang ada disana, guna pengisian otomatis yang dilakukan oleh Script nantinya.
    Misalnya, di Google Sheets, tambahkan 1 kolom khusus untuk Tautan PDF yang mengarahkan kita ke file asal PDF nya. Jadi, ini berguna untuk melihat file PDF yang dikirimkan kepada pengguna.
  • Folder PDF Sementara
    Kita membutuhkan sebuah folder, yang mana ini diperuntukkan sementara. Buat Folder di Google Drive, beri nama PDF Sementara (Anda dapat merubah sesuai kebutuhan).
    File PDF yang di Generate nantinya, akan disimpan di Folder Sementara, lalu kemudian ditersuakn ke Folder PDF aslinya.
  • Folder PDF
    Buat sebuah Folder lagi dengan nama Folder PDF (bukan sementara). Jadi, file PDF nantinya akan bergerak dari Folder sementara, dikirimkan ke Folder PDF. Ini juga mengambil taudan, untuk ditampilkan pada Google Spreadsheets.

Cara Mengirim File PDF Otomatis Setelah Isi Formulir

Sekarang, semua yang diperlukan telah kita persiapkan. Selanjutnya, mari kita terapkan langkah-langkahnya.

  1. Buka Google Sheets, dan pastikan semua kolom terisi dengan benar
    Pastikan Google Sheest yang terhubung dengan Formulir sudah memiliki tabel yang benar, sesuai dengan hal-hal yang dibutuhkan. Misalnya, dalam kasus ini, kita membutuhkan alamat email, yang mana script akan mengirimkan email sesuai dengan isian ini.
    Sebagai contoh, pada kode ini:
      // Pastikan nama kolom email adalah "Email"
      if (info["Email"] && info["Email"][0]) {
        sendEmail(info["Email"][0], pdffile);
      } else {
        Logger.log("Email address not found.");
      }
    }
    Pastikan teks yang tertera pada Tabel Spreadsheets, memiliki kolom dengan judul "Email" (huruf besar dan kecil mempengaruhi).
  2. Buka Google AppScript & Tambahkan Script
    Berada di Google Sheets, buka menu Ekstensi Apps Script. Lihat gambar berikut:
    Letak Menu Trigger di Google Apps Script
  3. Tempelekan Script pada file kode.gs
    Tempelkan script yang dibutuhkan, pada file kode.gs. Script yang dibutuhkan, yakni berikut ini:
      
    function afterFormSubmit(e) {
      const info = e.namedValues;
      const pdffile = pdfgenerate(info);
      const entryRow = e.range.getRow();
      const ws = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses 1"); // Ganti dengan nama sheet Anda
      ws.getRange(entryRow, 2).setValue(pdffile.getUrl()); // Ganti 2 dengan kolom yang sesuai untuk menyimpan link PDF
      
      // Pastikan nama kolom email adalah "Email"
      if (info["Email"] && info["Email"][0]) {
        sendEmail(info["Email"][0], pdffile);
      } else {
        Logger.log("Email address not found.");
      }
    }
    
    // Pesan untuk saat kirim email
    function sendEmail(email, pdffile) {
      GmailApp.sendEmail(email, "Terimakasih Telah Mengisi Tracer Study", "Terimakasih atas kesempatan yang Anda berikan untuk mengisi instrumen Tracer Study. Ucapan terimakasih terlampir.", {
        name: "STAI UISU Pematangsiantar",
        attachments: [pdffile]
      });
    }
    
    function pdfgenerate(info) {
      const pdffolder = DriveApp.getFolderById("ID_FOLDER_PDF"); // Ganti dengan ID folder PDF Anda
      const tempfolder = DriveApp.getFolderById("ID_FOLDER_SEMENTARA"); // Ganti dengan ID folder sementara Anda
      const templetdocs = DriveApp.getFileById("ID_FILE_TEMPLATE"); // Ganti dengan ID template dokumen Google Slides Anda
      const templetebaru = templetdocs.makeCopy(tempfolder);
    
      const bukappt = SlidesApp.openById(templetebaru.getId());
      bukappt.replaceAllText("{{Nama}}", info["Nama"][0]);
      bukappt.replaceAllText("{{Tahun Lulus}}", info["Tahun Lulus"][0]);
      bukappt.replaceAllText("{{Program Studi}}", info["Program Studi"][0]);
      bukappt.replaceAllText("{{NPM}}", info["NPM"][0]);
      bukappt.saveAndClose();
    
      const blobpdf = templetebaru.getAs(MimeType.PDF);
      const pdffile = pdffolder.createFile(blobpdf).setName(info["Nama"][0]);
    
      DriveApp.getFilesByName(templetebaru.getName()).next().setTrashed(true);
    
      return pdffile;
    }
      
    
    Hasil akhir setelah script ditempelkan, akan terlihat seperti gambar berikut:
    Script Mengirim File PDF otomatis Setelah mengisi Google Form
    Yang harus disesuaikan dalam kode ini hanya:
    • Form Responses 1 Ganti sesuai nama Sheets Anda
    • ID_FOLDER_PDF Ganti dengan ID Folder PDF
    • ID_FOLDER_SEMENTARA Ganti dengan ID Folder Sementara
    • ID_FILE_TEMPLATE Ganti dengan ID File Template
    Setelah semuanya diatur, Simpan untuk menyimpan pekerjaan.
  4. Atur Triger (Pemicu)
    Setelah Script ditambahkan, selanjutnya yang perlu dilakukan adalah mengatur perilakunya (Triger). Ini sangat menentukan bagaimana script itu dieksekusi.
    Letak Menu Trigger di Google Apps Script
    Sekarang, yang perlu dilakukan adalah menambahkan Triger. Pilih + Tambahkan Trigger, yang berada pada pojok kanan bawah.
    Atur trigger seperti berikut:
    • Pilih fungsi yang ingin dijalankan: afterFormSubmit
    • Pilih sumber acara: Dari Spreadsheets
    • Pilih jenis acara: Saat mengirim formulir

Lakukan Pengujian

Setelah seluruh langkah kita terapkan, sekarang saatnya kita menguji apakah semua bekerja dengan baik. Untuk melakukan pengujian, bisa mencoba dengan mengisi formulir secara langsung.

Setelah formulir terisi, dan laporan di Spreadsheets telah muncul, maka kita akan menunggu Script bekerja. Ia akan mengisi tabel Spreadsheets yang ada. Bila Script bekerja, maka pada Sel PDF (Kolom 2), akan memperlihatkan tautan File PDF, tempat difolder mana ia disimpan (sesuai dengan Template PDF yang ditentukan).

Template akan dikirimkan melalui Email, yang ditujukan ke Email pengguna.

Penutup

Anda dapat menyesuaikan beragam kebutuhan dengan menggunakan Script ini, termasuk mengatur teks yang ingin disampaikan melalui email, serta template yang ada.

Bila Anda tertarik ingin mengetahui lebih dalam tentang Google Form, kunjungi halaman panduan kami di Google Form Untuk Akademik.

Reza Noprial Lubis
Seorang praktisi pendidikan yang gemar menulis. Halaman blog ini, didedikasikan untuk memberikan nilai edukasi kepada setiap pengunjung tentang pendidikan Islam.
Comments