Use Cases (Diperbarui: 7/6/2026)

Otomasi Email Kandidat dan Manajemen Seleksi RPO dengan Claude Code

Memangkas waktu email kandidat dan pelacakan status seleksi RPO dengan Claude Code: template prompt, skrip pemeriksa, dan catatan privasi.

Otomasi Email Kandidat dan Manajemen Seleksi RPO dengan Claude Code

Jumat sore. Tiga klien sekaligus, 35 kandidat. Balasan jadwal wawancara, kabar penolakan, pengingat dokumen. Saya membuka kotak masuk dan terdiam 30 menit, bingung harus mulai dari mana.

Lalu saya kacau. Email “Wawancara berikutnya hari Selasa minggu depan” yang saya tulis untuk klien A, malah terkirim ke kandidat klien B. Begitu tombol kirim ditekan, saya langsung pucat.

Pekerjaan RPO (rekrutmen alih daya) penuh dengan “perpindahan fokus di kepala” seperti ini sepanjang hari. Tiap klien punya alur seleksi dan nada bahasa berbeda. Tiap kandidat ada di tahap yang berbeda pula. Selama semuanya hanya diandalkan pada ingatan dan semangat, pasti ada yang jebol saat musim sibuk.

Yang saya lakukan beberapa bulan terakhir bukan “otomasi penuh” email. Hanya penyusunan draf dan perapihan yang saya serahkan ke Claude Code, sementara keputusan mengirim tetap di tangan manusia. Hari ini saya tulis langkah konkretnya, lengkap dengan prompt siap tempel dan skrip pemeriksa.

Poin penting

  • Sebagian besar kerja ulang di RPO bukan karena “menyusun teks”, melainkan karena gagal memantau “kandidat mana ada di tahap apa sekarang”.
  • Serahkan draf email kandidat, inventarisasi status seleksi, dan deteksi yang terlewat ke Claude Code; keputusan kirim dan lolos/tidaknya tetap dipegang manusia.
  • Dengan memolakan draf email, pekerjaan 5–8 menit per email menyusut jadi 1–2 menit. Untuk 100 email per minggu, perkiraan penghematan sekitar 20 jam per bulan.
  • Rancang agar nama asli dan kontak tidak diberikan ke AI; proses cukup dengan nama samaran dan label tahap.
  • Tersedia template prompt siap pakai dan skrip pemeriksa untuk menyaring status seleksi yang terlewat.

Pembaca RPO dan titik macet yang selalu muncul

Pembaca yang dibayangkan artikel ini adalah staf RPO yang menangani rekrutmen untuk beberapa perusahaan klien sekaligus. Sendirian mengurus 5–10 perusahaan, dengan puluhan kandidat berjalan paralel setiap saat. Balasan scout dari platform lowongan, komunikasi dengan agensi, penjadwalan wawancara, sampai kabar lolos atau tidak, hampir semua titik kontak menumpuk di Anda.

Mari kita urut dulu alur kerja sehari-hari.

  1. Menggali profil kandidat ideal dan alur seleksi dari klien
  2. Mengumpulkan kandidat lewat platform atau agensi
  3. Menyampaikan hasil seleksi dokumen ke kandidat
  4. Mengatur jadwal wawancara tahap pertama dan kedua
  5. Mengonfirmasi penilaian ke klien setelah tiap wawancara
  6. Mengirim kabar penerimaan atau penolakan
  7. Membagikan laporan progres ke klien

Alur ini sendiri tidak banyak berbeda di RPO mana pun. Masalahnya, alur yang sama harus dijalankan paralel sebanyak jumlah perusahaan.

Berikut kerja ulang yang sering terjadi. Mungkin Anda merasa familiar.

  • Teks bernada klien A dipakai apa adanya ke klien B, sampai terasa janggal.
  • Janji “balas dalam 48 jam setelah wawancara” jadi tak terpenuhi saat kandidat bertambah.
  • Kandidat yang macet menunggu penilaian klien dilupakan selama beberapa hari.
  • Teks kabar penolakan ditulis dari nol setiap kali, menguras tenaga di sore hari.
  • Status seleksi di spreadsheet tak sinkron dengan kondisi komunikasi sebenarnya.

Semua ini bukan soal kemampuan, hanya soal “perpindahan fokus” yang tak mengejar volume kerja paralel. Di sinilah AI berperan.

Bagian yang diserahkan ke AI dan bagian yang wajib diputuskan manusia

Pertama, tegaskan dulu garis batasnya. Kalau bagian ini kabur, terjadilah kecelakaan salah kirim seperti yang saya alami di awal.

PekerjaanDiserahkan ke Claude CodeWajib diputuskan manusia
Email kandidatMembuat draf, menyesuaikan nadaMenekan tombol kirim
Status seleksiInventarisasi daftar, deteksi yang terlewatKeputusan lolos/tidaknya itu sendiri
PenjadwalanMenulis opsi tanggal, draf pengingatKonfirmasi finalisasi
Laporan progresMengolah angka, membuat drafKeputusan publikasi ke klien
Kabar penolakanMembuat teks yang penuh empatiMemastikan alasan penolakan masuk akal

Logikanya sederhana. “Yang kalaupun salah masih berhenti di folder draf” diserahkan ke AI, “yang tak bisa ditarik kembali begitu keluar” dipegang manusia. Kirim, keputusan lolos, dan kabar finalisasi. Tetapkan bahwa tiga hal ini terakhir disentuh jari manusia, maka musim sibuk pun tak akan jebol.

Cara menetapkan kewenangan lebih rinci bisa dilihat di cara berpikir saat non-engineer memakai Claude Code.

Use case 1: Memproduksi draf email kandidat dengan pola

Di sinilah dampaknya paling besar. Kalau diperhatikan, email RPO sebenarnya cuma beberapa pola: lolos dokumen, jadwal wawancara, penolakan, penerimaan. Kerangka teksnya sama; yang berubah hanya nama kandidat dan nada bahasa klien.

Jadi, daftarkan teks yang sering dipakai sebagai “template”, berikan situasinya ke Claude Code, dan minta ia mengeluarkan draf saja. Sebelumnya butuh 5–8 menit per email; kalau cukup mengalirkan ke template, hanya 1–2 menit.

Bandingkan sebelum dan sesudah penerapan.

  • Sebelum: menulis dari nol tiap kali sambil melihat kotak masuk. Menjelang sore tulisan jadi asal-asalan.
  • Sesudah: cukup berikan situasi dalam poin-poin, draf langsung keluar. Manusia tinggal memverifikasi fakta dan menyetel halus.

Berikut template prompt untuk menghasilkan draf. Tempel apa adanya, ganti hanya isi di dalam tanda kurung siku.

Anda adalah asisten penulisan email untuk layanan RPO (rekrutmen alih daya).
Buatkan draf email untuk kandidat dalam bahasa Indonesia dengan syarat berikut.

# Nada bahasa klien
[Contoh: sopan dan formal; hindari istilah teknis]

# Jenis email
[lolos dokumen / undangan jadwal wawancara / penolakan / penerimaan]

# Situasi
- Sebutan kandidat: [Kandidat A, atau nama samaran lain]
- Posisi yang dilamar: [misalnya posisi sales]
- Yang disampaikan kali ini: [wawancara tahap 1 pada 12/6 14:00, daring]
- Catatan tambahan: [sudah 3 hari sejak kontak terakhir, sisipkan satu kalimat permintaan maaf]

# Batasan
- Sekitar 150–200 kata
- Usulkan juga subjek email
- Jangan masukkan informasi yang mengidentifikasi individu ke isi email
- Karena akan diperiksa manusia sebelum dikirim, tambahkan poin-poin yang perlu dicek di bagian akhir

Kuncinya adalah meminta AI mengeluarkan “poin yang perlu dicek” di akhir. Saat AI melaporkan sendiri bagian yang meragukan, pemeriksaan manusia selesai dalam sekejap. Bagi yang ingin mendalami penyusunan prompt, baca juga teknik lanjutan desain prompt.

Use case 2: Menyaring status seleksi yang terlewat setiap pagi

Yang kedua adalah mendeteksi kandidat yang macet. Hal paling menakutkan di RPO adalah “melupakan” seseorang. Membiarkan kandidat yang macet 3 hari menunggu penilaian klien bisa berujung kehilangan peluang sekaligus rusaknya kepercayaan.

Di sini jangan biarkan AI menilai; menyaring yang terlewat dengan aturan mekanis jauh lebih aman. Simpan tahap kandidat dan tanggal pembaruan terakhir dalam CSV, lalu pakai skrip untuk menyoroti “siapa yang tak bergerak berhari-hari”.

Skrip Node.js berikut menampilkan kandidat yang tak bergerak 3 hari atau lebih sejak pembaruan terakhir. Dirancang tanpa nama asli, hanya ID samaran. Letakkan candidates.csv di folder yang sama, lalu jalankan.

import { readFile } from "node:fs/promises";

// Format candidates.csv:
// id,stage,lastUpdate,owner
// C001,seleksi dokumen,2026-06-01,Masa
// C002,menunggu wawancara 1,2026-06-05,Masa

const STALE_DAYS = 3;
const today = new Date("2026-06-07");

const raw = await readFile(new URL("./candidates.csv", import.meta.url), "utf8");
const rows = raw.trim().split("\n").slice(1); // buang baris header

const stale = [];
for (const line of rows) {
  const [id, stage, lastUpdate, owner] = line.split(",").map((s) => s.trim());
  const days = Math.floor((today - new Date(lastUpdate)) / 86400000);
  if (days >= STALE_DAYS) {
    stale.push({ id, stage, owner, days });
  }
}

stale.sort((a, b) => b.days - a.days);

if (stale.length === 0) {
  console.log("Tidak ada kandidat yang macet.");
} else {
  console.log(`Kandidat tak bergerak ${STALE_DAYS} hari atau lebih: ${stale.length} orang`);
  for (const c of stale) {
    console.log(`- ${c.id} / ${c.stage} / PIC ${c.owner} / macet ${c.days} hari`);
  }
}

Menjalankannya cukup begini.

node check-stale.mjs

Daftar yang keluar bisa langsung diberikan ke Claude Code dengan permintaan “dari daftar macet ini, buatkan draf email pengingat yang perlu dikirim hari ini per tahap”, sehingga terhubung dengan Use case 1. Keputusan oleh manusia, deteksi membosankan oleh mesin, penyusunan teks oleh AI. Perannya terbagi rapi.

Use case 3: Mengunci aturan teks tiap klien di CLAUDE.md

Yang ketiga adalah mekanisme mencegah tertukarnya nada antar perusahaan. Salah kirim saya di awal pun akarnya adalah “aturan klien A dan klien B bercampur di kepala”.

Ini bisa dicegah dengan menuliskan aturan tiap klien ke sebuah file dan membuat AI membacanya setiap kali. Di Claude Code, jika Anda menulis aturan proyek di CLAUDE.md, ia akan merujuknya otomatis setiap kali Anda meminta sesuatu.

Misalnya ditulis begini.

  • Klien A: bahasa sangat formal. Penyebutan “perusahaan Anda” baku. Dilarang emoji. Balas di hari yang sama.
  • Klien B: agak santai. Wajib menyisipkan satu kalimat yang menenangkan kecemasan kandidat.
  • Umum: jangan menjanjikan gaji atau fasilitas secara pasti. Selalu tawarkan beberapa opsi tanggal.

Cara menyusun file ini dirangkum di praktik terbaik CLAUDE.md. Begitu aturan dijadikan file, walau kepala tak berputar di musim sibuk, AI akan mencegah kekeliruan.

Sebagai checklist setelah penerapan, cukup periksa hal berikut sebelum mengirim email, maka kecelakaan hampir hilang.

  • Apakah klien tujuan dan nada teks sudah cocok?
  • Apakah sebutan dan posisi kandidat sudah benar?
  • Apakah ada kesalahan fakta pada tanggal, lokasi, atau URL?
  • Apakah ada gaji atau fasilitas yang dijanjikan sembarangan?
  • Apakah informasi pribadi tertempel pada instruksi ke AI?

Perkiraan ROI dan catatan informasi pribadi

Mari hitung kasar penghematan waktunya. Jika email kandidat 100 per minggu, dengan 7 menit per email sebelum dan 2 menit sesudah, maka hemat sekitar 8 jam per minggu, atau sekitar 30 jam per bulan. Ditambah pekerjaan manual deteksi macet, di musim sibuk dampaknya lebih terasa. Ini hanya hitungan kasar, tetapi nilai sebenarnya adalah memutar waktu yang terpangkas itu ke wawancara kandidat dan penyusunan proposal.

Di sisi lain, di sini kita harus hati-hati. RPO adalah pekerjaan yang menangani gumpalan data pribadi. Jangan menempelkan nama asli, nomor telepon, alamat email, atau tanggal lahir kandidat apa adanya ke instruksi untuk AI. Tegakkan hal ini.

Secara konkret, rancang seperti ini.

  • Tangani kandidat dengan ID samaran seperti “Kandidat A” atau “C001”.
  • Jangan berikan isi kontak atau CV ke AI; manusia mencocokkannya di sisi sendiri.
  • Jika nama klien pun ingin disamarkan, ganti dengan “Perusahaan X”.
  • Periksa di ketentuan layanan yang dipakai apakah data masukan diatur agar tidak dipakai untuk pelatihan.

Walau diputar dengan nama samaran, itu sudah cukup untuk membuat template email dan deteksi macet. Justru dengan tidak memberikan data pribadi, teks jadi lebih generik sebagai template dan lebih mudah dipakai ulang.

Pertanyaan umum

Q. Apakah boleh membuat email terkirim sepenuhnya otomatis? Sebaiknya jangan. Email RPO tak bisa ditarik setelah dikirim. Jaga batas: AI sampai pada draf dan penyajian poin pemeriksaan, tombol kirim ditekan manusia.

Q. Bolehkah meminta AI membaca dan merangkum CV kandidat? Harus hati-hati dari sisi data pribadi. Jika rangkuman benar-benar perlu, samarkan nama dan kontak, berikan hanya isi pekerjaan dan tahun pengalaman. Pastikan dulu apakah pemakaian AI eksternal diizinkan dalam kontrak dengan klien.

Q. Saya tidak paham pemrograman, apakah skrip pemeriksa bisa saya pakai? Cukup pasang Node.js dan ketik satu baris perintah, skrip langsung jalan. Mulailah dari menyiapkan lingkungan di panduan memulai Claude Code agar tidak mudah tersandung.

Q. Kalau ingin mulai kecil, langkah pertama yang paling baik di mana? Draf kabar penolakan. Teksnya baku, tetapi menulisnya tiap kali diam-diam melelahkan. Cukup memolakan bagian ini, keletihan sore hari berkurang jelas. Setelah terbiasa, lanjutkan ke tips produktivitas Claude Code.

Yang saya temukan setelah benar-benar mencoba

Saya membuat CSV berisi 20 kandidat dummy di komputer sendiri, lalu menjalankan skrip deteksi macet di atas. Lima kandidat yang macet 3 hari atau lebih langsung tersaring sekali jalan, dan kekeliruan yang dulu sering terjadi saat memelototi daftar dengan mata terasa seperti hilang.

Untuk draf email, saya menulis aturan nada klien A dan B bergaya CLAUDE.md lalu menghasilkan 10 email. Tertukarnya nada nol. Yang saya sadari, “poin yang perlu dicek” yang dikeluarkan AI di akhir ternyata jauh lebih berguna dari dugaan. Karena ia selalu menambahkan “periksa apakah hari dalam jadwal sudah cocok dengan fakta”, pemeriksaan manusia selesai dalam beberapa puluh detik.

Sebaliknya, “penilaian sebagai manusia” seperti kewajaran alasan penolakan tentu tak bisa diserahkan sepenuhnya ke AI. Di situ manusia memegang kendali sesuai garis batas, dan saya merasakan bahwa rancangan itu memang tepat.

Tim RPO yang ingin menjadikan manajemen seleksi sebagai sebuah sistem perusahaan, cara tercepat adalah merancang operasionalnya bersama lewat pelatihan dan konsultasi penerapan. Bagi yang ingin mencoba sendiri dulu, salin skrip deteksi macet dan template prompt di atas, lalu jalankan di kotak masuk besok pagi.

Sebagai rujukan eksternal, untuk penanganan data pribadi ada baiknya memeriksa pedoman resmi terbaru di situs resmi Kominfo soal pelindungan data pribadi.

#claude-code #efisiensi kerja #RPO #otomasi email #manajemen seleksi
Gratis

PDF gratis: cheatsheet Claude Code

Masukkan email dan unduh satu halaman berisi command, kebiasaan review, dan workflow aman.

Kami menjaga datamu dan tidak mengirim spam.

Masa

Tentang penulis

Masa

Engineer yang berfokus pada workflow Claude Code praktis dan adopsi tim.