Otomasi n8n

Radar Tender

Tender pemerintah yang cocok, tiap pagi di Telegram. Tenggatnya masuk Calendar.

Versi 1.0.0Diperbarui 27 September 202614 screenshot

Peta radarPeta timbul 3D kepulauan dengan bendera berlabel HPS di tiap paket cocok. Sapuan survei melintas saat halaman dibuka dan saat paket baru cocok.1 / 14
Peta radar1 / 14
Radar Tender — Peta radar

Peta timbul 3D kepulauan dengan bendera berlabel HPS di tiap paket cocok. Sapuan survei melintas saat halaman dibuka dan saat paket baru cocok.

Ringkasan

Workflow n8n yang membaca data Tender Umum Publik dari API resmi LKPP, menyaring kata kunci, provinsi, rentang HPS, dan sisa waktu, meringkas syarat kualifikasi dengan LLM, lalu mengirim ke Telegram, mencatat di Google Sheets, dan mengingatkan tenggat H-7, H-3, H-1. Bisa dicoba dalam mode uji tanpa satu pun kredensial.

Masalah yang diselesaikan

Tim tender membuka belasan situs LPSE satu per satu tiap pagi, menyalin nama paket ke grup WhatsApp, lalu menebak mana yang cocok dengan SBU dan modal kerja perusahaan. Paket yang pas sering baru ketahuan tiga hari sebelum batas penawaran, saat dokumen belum disiapkan. Yang lain lolos karena tenggatnya dicatat di kepala satu orang yang sedang cuti. Radar Tender mengerjakan pemantauan itu dua kali sehari dari sumber resmi LKPP, hanya mengirim paket yang lolos saringan Anda, menulis draf ringkasan syaratnya, dan mencatat tenggat di tempat yang dilihat seluruh tim.

Cocok untuk
  • CV/PT kontraktor jalan, irigasi, drainase, jembatan, dan gedung
  • Vendor pengadaan barang yang memantau banyak LPSE
  • Konsultan perencana dan pengawas
  • Agensi dan freelancer n8n yang memasang otomasi untuk klien
Hasil yang kamu dapat
  • Sumber data resmi: API ISB Satu Data LKPP, bukan scraping situs LPSE. Satu permintaan per LPSE tiap 2 detik.
  • Saringan kata kunci, provinsi, rentang HPS, jenis pengadaan, dan sisa hari minimal, semuanya diatur dari file .env.
  • Draf ringkasan syarat (SBU, pengalaman, tenaga ahli, dokumen) oleh LLM kelas murah, dengan cadangan berbasis aturan kalau LLM gagal.
  • Satu pesan Telegram, satu baris Google Sheets, dan satu acara Google Calendar per paket, tanpa kiriman ganda.
  • Workflow kedua mengingatkan H-7, H-3, H-1 dan berhenti otomatis untuk paket berstatus Sudah kirim atau Tidak ikut.
  • Mode uji bawaan dengan 30 paket contoh: impor, tekan Execute, lihat hasilnya sebelum menyambungkan akun apa pun.
Bahasa desain
Zilla Slab + Public Sans · ruang peta operasi, dokumen resmi

Fitur

Pemantauan

  • Jadwal 06.30 dan 12.30 WIB (cron bisa diubah), zona Asia/Jakarta
  • Banyak kode LPSE sekaligus, jeda 2 detik, 2 kali coba ulang, LPSE yang gagal tidak menghentikan yang lain
  • Pemetaan kolom ISB berspasi maupun snake_case dalam satu tabel
  • Buang duplikat: kode paket yang pernah dikirim diingat 180 hari

Saringan

  • Kata kunci dicocokkan ke nama paket dan teks syarat
  • Rentang HPS dalam Rupiah, provinsi, jenis pengadaan
  • Sisa hari minimal sebelum batas akhir penawaran, dihitung per hari kalender waktu setempat (WIB, WITA, atau WIT sesuai provinsi)

Ringkasan LLM

  • Endpoint kompatibel OpenAI, bawaan FlatKey dengan model kelas murah; ganti penyedia lewat .env
  • Prompt meminta JSON dan melarang LLM mengarang syarat
  • Validasi JSON, 2 kali coba ulang, cadangan ringkasan aturan
  • Setiap ringkasan berlabel draf di pesan dan di Sheet

Pengiriman

  • Telegram HTML ke grup tim tender, isi dari data di-escape
  • Google Sheets tab Pipeline, appendOrUpdate dengan kunci Kode Tender
  • Google Calendar di jam tenggat, pengingat 3 hari, 1 hari, 2 jam
  • WhatsApp Cloud API resmi tersedia, mati secara bawaan (butuh template Meta)

Pengingat

  • Workflow terpisah jam 07.00 WIB membaca tab Pipeline
  • Ambang hari bisa diatur, bawaan H-7, H-3, H-1
  • Status Tidak ikut, Batal, Sudah kirim, Kalah, Menang menghentikan pengingat

Situs penjelas

  • Peta 3D kepulauan dengan pin per paket dan sapuan sonar, cadangan peta datar tanpa WebGL
  • Slider HPS yang langsung menyalakan pin, rincian paket, unduh .ics, salin pesan
  • Halaman pasang: 9 langkah dengan kemajuan tersimpan dan penyusun .env tervalidasi

Animasi 3D

Konsep

Lembar peta survei cetak: kertas putih gading bergaris kontur, kepulauan Indonesia timbul berpermukaan putih dengan garis pantai dan dinding relief tinta, dan bendera survei merah berlabel HPS di kota lokasi paket yang lolos saringan. Sapuan survei melintas saat paket baru cocok, dan menggeser slider HPS langsung menegakkan atau merebahkan bendera, sama seperti saringan yang bekerja di workflow.

Tanpa WebGL / gerak dikurangi

Tanpa WebGL: peta SVG datar dengan pin dan saringan yang sama. Dengan prefers-reduced-motion: satu bingkai 3D diam tanpa sapuan.

Screenshot

  1. 01Peta radarPeta timbul 3D kepulauan dengan bendera berlabel HPS di tiap paket cocok. Sapuan survei melintas saat halaman dibuka dan saat paket baru cocok.desktop
  2. 02Slider rentang HPSMenggeser HPS ke Rp 780 jt sampai Rp 3,2 M langsung menyisakan 9 bendera tegak dan meredupkan histogram di luar rentang.desktop
  3. 03Rincian paketHPS, pagu, tenggat dengan zona setempat (WIB/WITA/WIT) dan sisa hari, draf ringkasan syarat berlabel, status pipeline, unduh .ics.desktop
  4. 04Alur kerjaTujuh langkah dengan nama node yang sama seperti di n8n, bisa dilihat dalam mode uji atau mode produksi.desktop
  5. 05Yang diterima timPesan Telegram, tab Pipeline di Google Sheets dengan kolom Status, dan daftar pengingat yang akan terkirim.desktop
  6. 06Kanvas n8n: langkah ringkas syaratKelompok node 4 di n8n 1.109: jalur mode uji tanpa LLM, jalur LLM lewat HTTP Request, lalu Baca jawaban LLM yang memvalidasi JSON. Catatan berbahasa Indonesia di tiap kelompok.desktop
  7. 07Eksekusi mode ujiSemua node di jalur mode uji hijau: 30 paket contoh masuk, 19 cocok diringkas dan dipratinjau.desktop
  8. 08Keluaran nodeIsi node Pratinjau kiriman: teks Telegram, baris Sheet, dan acara Calendar per paket.desktop
  9. 09Workflow pengingatPengingat H-7 dan H-3 tersusun; paket H-1 dilewati karena statusnya Sudah kirim.desktop
  10. 10Cara pasangChecklist 9 langkah dengan kemajuan tersimpan dan penyusun .env yang memvalidasi isian.desktop
  11. 11Peta di ponselPeta tetap di atas, slider HPS langsung di bawahnya.mobile
  12. 12Rincian di ponselRincian paket sebagai lembar layar penuh dengan tombol Tutup yang tetap terlihat.mobile
  13. 13Pesan TelegramBentuk pesan yang sampai ke grup tim tender.mobile
  14. 14Alur di ponselRute langkah workflow dengan bukti nyata per langkah.mobile

Cara Pasang

  1. Jalankan n8n

    Ekstrak paket, salin .env.example menjadi .env, lalu nyalakan n8n.

    cp .env.example .env
    docker compose up -d
  2. Impor dua workflow

    Buka http://IP-server:5678, buat akun, lalu Workflows → Import from File untuk workflows/radar-tender-utama.json dan workflows/radar-tender-pengingat.json.

  3. Coba mode uji

    Tekan Execute workflow. Node *Pratinjau kiriman (mode uji)* berisi paket contoh lengkap dengan teks pesan. Belum perlu kredensial.

  4. Sambungkan dan aktifkan

    Tambah kredensial Telegram, Google Sheets, Google Calendar, dan Header Auth untuk LLM (panduan di docs/CREDENTIALS.md), isi kata kunci dan kode LPSE, lalu setel RADAR_MODE_UJI=false.

    docker compose up -d

Butuh kredensial

  • Telegram Bot TokenGratis

    Buat bot lewat @BotFather, masukkan ke grup tim, ambil chat id dari getUpdates.

  • Google Sheets OAuth2Gratis

    OAuth client ID tipe Web di Google Cloud Console dengan Sheets API aktif; login dari jendela kredensial n8n.

  • Google Calendar OAuth2Gratis

    Client ID yang sama dengan Calendar API aktif.

  • Kunci API LLM (Header Auth)Berbayar

    Kunci dari FlatKey atau penyedia lain yang kompatibel OpenAI, disimpan sebagai Header Auth `Authorization: Bearer ...`.

  • WhatsApp Cloud API (opsional)Berbayar

    Nomor di WhatsApp Business Platform dan template Utility yang disetujui Meta; biaya per pesan template.

Isi Paket

  • workflows/: 2 workflow n8n, logika inti radar.js, 30 paket contoh fiktif
  • docker-compose.yml, .env.example: n8n 1.109.1 zona WIB dan semua pengaturan
  • docs/: INSTALL, CUSTOMIZE, CARA-KERJA bergambar, CREDENTIALS, TROUBLESHOOT
  • src/, index.html, setup.html: situs penjelas dengan peta 3D (Vite + TypeScript + three.js)
  • tests/: 26 uji vitest, e2e Playwright, gerbang n8n, skrip tangkapan layar
  • design/: sistem desain, riset, catatan iterasi

Kustomisasi

  • Kata kunci, kode LPSE, rentang HPS, provinsi, jenis, sisa hari lewat .env
  • Jam pantau lewat satu ekspresi cron
  • Penyedia dan model LLM lewat LLM_BASE_URL dan LLM_MODEL
  • Isi pesan Telegram/WhatsApp dan kolom Sheet di satu file radar.js
  • Ambang pengingat (bawaan 7, 3, 1 hari)
  • Warna, teks, dan profil usaha di situs penjelas

AI in the loop

Yang dikerjakan AI

LLM meringkas syarat kualifikasi, dokumen yang perlu disiapkan, dan risiko dari data paket tender.

Kendali manusia

Setiap ringkasan dikirim sebagai draf berlabel; LLM tidak mengambil keputusan dan tidak mendaftar apa pun. Tim memutuskan ikut atau tidak lewat kolom Status di Sheet, yang juga menghentikan pengingat. Jawaban yang bukan JSON atau gagal dua kali diganti ringkasan berbasis aturan.

Penyedia model

Endpoint kompatibel OpenAI, bawaan FlatKey (https://router.flatkey.ai/v1) dengan model gemini-3.1-flash-lite; bisa diganti lewat .env.

Hasil AI selalu berupa draf. Tidak ada yang terkirim atau tersimpan sebelum kamu menyetujuinya.

FAQ

Apakah ini scraping situs LPSE?

Bukan. Sumbernya API ISB Satu Data milik LKPP (isb.lkpp.go.id), dengan jeda 2 detik per LPSE. Scraper halaman SPSE tidak disertakan.

Kenapa hasil dari server saya kosong?

Saat kami menguji dari server di luar Indonesia, ISB menjawab 403. Jalankan n8n di server Indonesia; cara mengeceknya ada di docs/TROUBLESHOOT.md.

Apakah ringkasan AI bisa langsung dipercaya?

Tidak. Pesan menulisnya sebagai draf, LLM diminta tidak mengarang syarat, dan keputusan tetap dari dokumen pemilihan di LPSE.

Bisa tanpa LLM sama sekali?

Bisa. Ringkasan berbasis aturan mengambil SBU, KBLI, pengalaman, dan tenaga ahli dari teks syarat. Sambungkan cabangnya seperti dijelaskan di docs/CUSTOMIZE.md.

Bisa kirim ke WhatsApp?

Bisa lewat WhatsApp Cloud API resmi (node sudah ada, mati secara bawaan). Pesan pertama dari bisnis wajib memakai template yang disetujui Meta dan berbayar per pesan.

Sudah punya n8n sendiri, perlu docker-compose ini?

Tidak. Impor dua file JSON dan tambahkan variabel dari .env.example ke n8n Anda, dengan N8N_BLOCK_ENV_ACCESS_IN_NODE=false.

Changelog

  1. v1.0.0
    26 September 2026
    • Rilis pertama: workflow utama, workflow pengingat, mode uji, situs penjelas 3D
Radar Tender
Rp 399.000
Demo ↗