Lewati ke isi

AI & Otomasi

Cara Menyimpan Lampiran Email ke Google Drive Otomatis

Tiga cara menyimpan lampiran Gmail ke Google Drive otomatis, yaitu Apps Script, n8n, atau layanan otomasi siap pakai, plus kelebihan dan risikonya.

Terbit 6 menit baca

Jawaban singkat

Lampiran Gmail bisa disimpan otomatis ke Google Drive dengan Apps Script gratis, workflow n8n (Gmail Trigger lalu Google Drive Upload), atau layanan otomasi siap pakai. Apps Script cocok untuk kebutuhan sederhana, n8n untuk alur yang perlu langkah lanjutan.

Daftar isi
  1. Perbandingan tiga cara
  2. Cara pertama dan kedua secara rinci
  3. Apps Script: gratis dan tetap di dalam Google
  4. n8n: tanpa kode dan mudah dikembangkan
  5. Layanan otomasi siap pakai
  6. Kapan memilih Apps Script, kapan n8n?
  7. Pertanyaan yang sering diajukan

Menyimpan lampiran email ke Google Drive secara otomatis berarti setiap email yang memenuhi syarat tertentu, misalnya dari pemasok atau berlabel "Invoice", langsung diambil lampirannya dan disimpan ke folder Drive yang sudah ditentukan. Tidak perlu lagi mengunduh lalu mengunggah ulang satu per satu.

Pilihan cara menentukan seberapa repot perawatannya nanti. Salah pilih bisa berarti skrip yang diam-diam berhenti tanpa ada yang tahu, folder Drive penuh file tanda tangan email yang tidak berguna, atau data invoice pelanggan mengalir ke layanan pihak ketiga yang tidak kamu kendalikan. Berikut tiga cara yang paling umum dan kapan masing-masing cocok.

Perbandingan tiga cara

AspekApps Scriptn8nLayanan otomasi siap pakai
Biaya alatGratis dalam kuota akun GoogleGratis bila self-hosted, ada biaya serverBiasanya berlangganan, ada paket gratis terbatas
Butuh kode?Ya, skrip pendekTidak, berbasis nodeTidak
Data melewati pihak ketiga?Tidak, tetap di GoogleLewat server n8n milikmuLewat server penyedia layanan
Langkah lanjutan (OCR, notifikasi, spreadsheet)Bisa, tetapi perlu kode tambahanMudah, tinggal tambah nodeMudah, tergantung paket
Pemantauan kegagalanEmail notifikasi error dari GoogleRiwayat eksekusi dan alur errorDasbor penyedia
Cocok untukSatu akun, aturan sederhanaTim dengan banyak alur otomasiTim tanpa server dan tanpa developer

Cara pertama dan kedua secara rinci

Apps Script: gratis dan tetap di dalam Google

Apps Script adalah bahasa skrip bawaan Google yang bisa mengakses Gmail dan Drive milik akun yang menjalankannya. Buka script.google.com, buat proyek baru, lalu tempel skrip berikut. Ganti ID_FOLDER dengan ID folder Drive tujuan (bagian terakhir dari URL folder).

function simpanLampiran() {
  const folder = DriveApp.getFolderById('ID_FOLDER');
  const label = GmailApp.getUserLabelByName('tersimpan')
             || GmailApp.createLabel('tersimpan');
  const threads = GmailApp.search('label:invoice has:attachment -label:tersimpan', 0, 20);

  threads.forEach(function (thread) {
    thread.getMessages().forEach(function (msg) {
      msg.getAttachments({ includeInlineImages: false }).forEach(function (att) {
        folder.createFile(att.copyBlob());
      });
    });
    thread.addLabel(label);
  });
}

Cara kerjanya: skrip mencari email berlabel invoice yang punya lampiran dan belum berlabel tersimpan, menyimpan setiap lampiran ke folder, lalu memberi label tersimpan agar email yang sama tidak diproses dua kali. Opsi includeInlineImages: false membuang gambar yang menempel di badan email, seperti logo di tanda tangan.

Jalankan sekali secara manual untuk memberi izin, lalu buka menu Triggers dan tambahkan pemicu berbasis waktu, misalnya setiap 15 menit atau setiap jam. Kata kunci pencarian bisa diganti sesuai kebutuhan dengan operator pencarian Gmail, misalnya from:pemasok@contoh.com atau filename:pdf.

Keterbatasannya: Apps Script punya batas waktu eksekusi dan kuota harian, jadi batasi jumlah email per jalan (angka 20 di contoh). Skrip juga berjalan atas nama satu akun, sehingga tidak cocok untuk memproses kotak masuk banyak karyawan sekaligus.

n8n: tanpa kode dan mudah dikembangkan

Di n8n, alurnya tersusun dari dua node utama. Pengenalan alatnya ada di apa itu n8n.

  1. Gmail Trigger dengan event Message Received. Isi filter Search dengan kata kunci Gmail yang sama, misalnya label:invoice has:attachment, dan aktifkan opsi untuk mengunduh lampiran. Menurut dokumentasi n8n, node ini memeriksa email baru secara berkala (polling) dan secara bawaan hanya mengambil email yang belum dibaca, dengan bawaan 10 email per pemeriksaan (bisa dinaikkan sampai 50).
  2. Google Drive dengan operasi Upload. Pilih folder tujuan dan isi kolom data biner dengan nama properti lampiran, biasanya attachment_0 untuk lampiran pertama.

Email dengan beberapa lampiran perlu dipecah dulu agar setiap file menjadi satu item, misalnya dengan node Code kecil atau node pemecah item, sebelum masuk ke node Google Drive. Setelah itu, tambahan langkah menjadi mudah: ubah nama file menjadi tanggal-pengirim-namafile, catat ke Google Sheets, atau kirim isi invoice ke OCR. Contoh pengolahan invoice otomatis ada di baca invoice dan nota otomatis dengan OCR dan AI.

Layanan otomasi siap pakai

Layanan otomasi berbasis cloud umumnya menyediakan pemicu "lampiran baru di Gmail" dan aksi "unggah file ke Google Drive" yang bisa disambung dalam beberapa klik. Ini jalur tercepat bila tim tidak punya server dan tidak ingin menulis skrip. Pertimbangkan dua hal: biaya berlangganan yang naik seiring jumlah tugas per bulan, dan fakta bahwa isi email serta lampiran melewati server penyedia. Untuk dokumen yang memuat data pribadi pelanggan, baca kebijakan privasi penyedia lebih dulu.

Kapan memilih Apps Script, kapan n8n?

Pilih Apps Script bila kebutuhannya satu kalimat: "simpan semua lampiran dari label ini ke folder itu". Tidak ada server yang perlu dirawat, data tidak keluar dari Google, dan skrip di atas sudah cukup untuk banyak kasus.

Pilih n8n bila lampiran itu baru awal dari sebuah proses: file perlu diganti namanya, dipilah per pemasok, dicatat ke spreadsheet, diproses OCR, lalu tim keuangan diberi tahu. Membangun semua itu di Apps Script bisa, tetapi kodenya cepat membengkak dan sulit dirawat orang lain. Di n8n, setiap langkah terlihat sebagai node dan riwayat eksekusinya bisa diperiksa.

Pilih layanan siap pakai bila tim tidak punya orang teknis sama sekali dan volume emailnya kecil. Kalau ingin penyimpanan file yang sepenuhnya di server sendiri, bukan Google Drive, alternatifnya dibahas di Nextcloud sebagai penyimpanan file sendiri.

Pertanyaan yang sering diajukan

Apakah cara ini bisa dipakai untuk akun Google Workspace kantor?

Bisa, selama admin Workspace mengizinkan Apps Script atau aplikasi pihak ketiga mengakses Gmail dan Drive. Beberapa organisasi membatasi izin ini, jadi tanyakan ke admin bila muncul pesan akses diblokir.

Bagaimana mencegah file dengan nama sama saling menimpa?

Google Drive mengizinkan beberapa file dengan nama sama di satu folder, jadi file tidak tertimpa, tetapi membingungkan. Tambahkan tanggal atau nama pengirim ke nama file saat menyimpan.

Bagaimana dengan email lama yang sudah ada sebelum otomasi dipasang?

Di Apps Script, jalankan skrip beberapa kali sampai semua email lama berlabel tersimpan. Di n8n, Gmail Trigger fokus pada email baru, jadi email lama lebih mudah diproses dengan node Gmail operasi Get Many yang dijalankan sekali.

Apakah lampiran ikut terhapus dari Drive bila emailnya dihapus?

Tidak. File di Drive adalah salinan terpisah. Menghapus email tidak menghapus file yang sudah disimpan, begitu juga sebaliknya.

Sumber & referensi

Baca juga