Dengan Document Studio, Anda dapat mengirimkan pengingat email yang ramah kepada pelanggan sebelum faktur jatuh tempo. Pengingat dapat dikirim secara otomatis 'n' beberapa hari sebelum tagihan jatuh tempo. Pengingat email juga dapat dikirim untuk faktur yang lewat jatuh tempo
Untuk contoh ini, kami memiliki Google Sheet yang berisi daftar faktur. Ini termasuk informasi kontak pelanggan, jumlah faktur, dan tanggal jatuh tempo. Lembaran tersebut juga menyertakan kolom Status yang menunjukkan apakah faktur telah dibayar atau belum dan kami ingin mengirimkan pengingat email untuk faktur yang jatuh tempo dalam 30 hari ke depan
Buat Alur Kerja Pengingat Email
Instal add-on Document Studio dan buka Google Sheet Anda untuk meluncurkan add-on. Di dalam aplikasi Document Studio, berikan nama deskriptif untuk alur kerja Anda dan pilih lembar kerja tertentu di Google Spreadsheet yang berisi data faktur. Klik Continue_ untuk berpindah ke halaman ketentuan
Pada panel Ketentuan, pilih opsi Process specific rows dan atur ketentuan ke Status kolom sama dengan Waiting atau Past Due. Anda juga dapat menambahkan kriteria lain untuk hanya mengirimkan pengingat ketika jumlah jatuh tempo lebih dari $100
Klik Continue_ untuk pindah ke halaman tugas dan pilih Send Email dari daftar tugas
Buat Templat Pesan
Konfigurasikan tugas Kirim Email untuk mengirim email pengingat ramah kepada pelanggan. Karena alamat email pelanggan tercantum di kolom Email Address di Google Sheet, Anda dapat memilih nama kolom tersebut dari dropdown Send Email to
Berikan subjek dan isi email. Anda dapat menggunakan {{variabel}} di subjek dan badan untuk email yang dipersonalisasi
Jadwalkan Email
Pada layar Trigger, aktifkan opsi Time Delay dan atur waktu tunda menjadi 30 hari sebelum invoice jatuh tempo. Penting bahwa kolom tanggal di Google Sheets Anda karena perhitungan untuk membandingkan tanggal jatuh tempo dengan tanggal saat ini tidak akan berfungsi
Klik tombol Continue_0 untuk menyimpan dan mengaktifkan alur kerja Anda
Kirim Email Setelah Tanggal Jatuh Tempo
Sekarang kami telah membuat alur kerja untuk mengirimkan pengingat email sebelum tanggal jatuh tempo, kami juga dapat membuat alur kerja yang mengirimkan email ke pelanggan setelah faktur lewat jatuh tempo
Alih-alih membuat alur kerja baru dari awal, Anda cukup membuat salinan alur kerja yang sudah ada
Untuk menyalin alur kerja, buka dasbor alur kerja, klik tombol Continue1 dan pilih Continue2 dari tarik-turun
Di dalam alur kerja baru, ubah nama alur kerja Anda dan lanjutkan ke bagian tugas. Edit tugas Send Email dan ubah baris subjek dan isi pesan. Selanjutnya, masuk ke layar Triggers dan ubah time delay menjadi berjalan 7 hari setelah invoice lewat jatuh tempo. Simpan pekerjaan Anda
Alur kerja Anda sekarang berjalan di latar belakang dan secara otomatis akan mengirim email mendekati tanggal dan waktu yang dijadwalkan
Saya telah melihat-lihat dan memiliki potongan-potongan tetapi tidak dapat menyusun teka-teki itu. Saya mencoba membuat skrip yang akan dijalankan pada pemicu yang dikonfigurasi untuk dijalankan setiap hari. Pemicu akan diatur di bawah opsi Sumber Daya di editor
Pada dasarnya saya mencari skrip untuk menangkap rentang sel, mengidentifikasi tanggal jatuh tempo, yang akan diisi dalam kolom, mencocokkannya dengan tanggal saat ini. Jika cocok maka kirim email. Saya sudah mulai dengan mengirim email dari tutorial spreadsheet di Google. Saya telah menambahkan pernyataan if untuk memeriksa tanggal tetapi saya kehilangannya karena perbandingan dengan rentang data. Siapa pun dapat membantu memperbaiki ini atau mengarahkan saya ke arah penelitian
Skrip tampaknya berjalan tetapi tidak terjadi apa-apa, yang saya yakini karena "if (currentTime == dataRange)" DataRange tidak cocok dengan benar??
Ini kodenya
function sendEmails() { var sheet = SpreadsheetApp.getActiveSheet(); var startRow = 2; // First row of data to process var numRows = 50; // Number of rows to process // Fetch the range of cells var dataRange = sheet.getRange(startRow, 1, numRows, 2) // Fetch values for each row in the Range. var data = dataRange.getValues(); //Get todays date var currentTime = new Date(); var month = currentTime.getMonth() + 1; var day = currentTime.getDate(); var year = currentTime.getFullYear(); //Test column for date due & match to current date if ( currentTime == dataRange) { for (i in data) { var row = data[i]; var emailAddress = row[0]; // First column var message = row[1]; // Second column var subject = "Task Item Due"; MailApp.sendEmail(emailAddress, subject, message); } } }Saya memperbarui saran yang diberikan oleh Srik dan memberikan sarannya dalam kode di bawah ini. Saya telah mencoba memposting ini beberapa kali, jadi saya tidak yakin mengapa ini tidak melewati tinjauan sejawat?
function sendEmail() { var sheet = SpreadsheetApp.getActiveSheet(); var startRow = 2; // First row of data to process var numRows = 50; // Number of rows to process var dataRange = sheet.getRange(startRow, 1, numRows, 50); // Fetch values for each row in the Range. var data = dataRange.getValues(); //Browser.msgBox(data) for (i in data) { var row = data[i]; var date = new Date(); var sheetDate = new Date(row[1]); if (date.getDate() == sheetDate.getDate() && date.getMonth() == sheetDate.getMonth() && date.getFullYear() == sheetDate.getFullYear()); { var emailAddress = row[0]; // First column var message = row[2]; // Second column var subject = "Sending emails from a Spreadsheet"; MailApp.sendEmail(emailAddress, subject, message); // Browser.msgBox(emailAddress) } } } _Kode tampaknya berjalan tetapi saya mendapatkan kesalahan berikut dengan editor skrip. "Gagal mengirim email. tidak ada penerima (baris 23)". Tapi itu masih mengirim email. Itu harus membandingkan tanggal dan hanya mengirim email jika tanggalnya cocok. Ini mengirim email untuk setiap baris. Saya telah membagikan spreadsheet untuk melihat kode dan bagaimana spreadsheet disiapkan. Lembar Bentang Bersama