Automasi Laporan Mingguan Bergrafik dengan n8n + AI: Dari Data ke PDF dan Email
· 4 menit baca
Automasi Laporan Mingguan Bergrafik dengan n8n + AI: Dari Data ke PDF dan Email
Ingin menghemat waktu membuat laporan mingguan yang rapi, bergrafik, dan penuh insight? Di artikel ini Anda akan belajar bagaimana membangun workflow n8n yang otomatis menarik data, membuat ringkasan dengan AI, menghasilkan grafik, mengekspor menjadi PDF, dan mengirimkannya lewat email — semuanya terjadwal dan dapat diskalakan.
Apa yang akan Anda pelajari
- Mendesain arsitektur workflow n8n untuk laporan mingguan
- Menggabungkan data dari berbagai sumber (DB, API, Google Sheets)
- Memakai LLM untuk ringkasan dan insight
- Menghasilkan grafik (image) otomatis menggunakan QuickChart / Chart.js
- Membuat dan mengekspor PDF (puppeteer / wkhtmltopdf)
- Best practice: caching, retry, observability, dan keamanan
Ringkasan arsitektur workflow
Workflow yang direkomendasikan berurutan:
- Trigger: Cron (jadwal mingguan)
- Data Ingest: HTTP Request / Database / Google Sheets
- Transform: Function node (normalisasi & agregasi)
- AI Summarization: OpenAI / LLM node untuk membuat executive summary
- Chart Generation: QuickChart API atau node yang menjalankan Chart.js ke image
- Render HTML: Template HTML yang menyatukan teks + grafik
- PDF Generation: Puppeteer / wkhtmltopdf
- Delivery: Email node (SMTP/SendGrid) + storage (S3) untuk arsip
- Monitoring: Notifikasi error (Slack) + logging
Contoh flow n8n (detail tiap node)
1. Cron Trigger
Atur Cron node untuk berjalan setiap Senin pukul 07:00 atau sesuai kebutuhan. Pastikan timezone sesuai server n8n.
2. Ambil data (Database / API)
Gunakan node HTTP Request atau Postgres/MySQL untuk mengambil data transaksi, metrik, atau KPI. Contoh query untuk minggu terakhir:
SELECT date_trunc('day', created_at) as day, count(*) as orders, sum(amount) as revenue
FROM orders
WHERE created_at >= now() - interval '7 days'
GROUP BY day
ORDER BY day;
3. Transformasi & Agregasi
Gunakan Function node untuk membentuk struktur JSON yang mudah dipakai charting dan prompt LLM. Contoh output yang disarankan:
{
"labels": ["2025-10-13","2025-10-14",...],
"orders": [120, 95, ...],
"revenue": [15000, 12300, ...],
"summary_inputs": "Total orders 700, revenue IDR 1.2M, top channel: organic"
}
4. Ringkas dengan AI (LLM)
Gunakan node OpenAI atau transformer LLM lain untuk membuat executive summary dan highlight. Prompt contoh:
Anda adalah analis data. Buat ringkasan singkat (3-5 poin) berdasarkan data berikut:
{summary_inputs}
Berikan insight dan rekomendasi singkat untuk tim marketing dan ops.
Hasil LLM bisa berupa teks yang nanti ditempatkan di template laporan.
5. Membuat Grafik (QuickChart)
QuickChart.io adalah solusi cepat untuk membuat chart image via URL API. Contoh body:
POST https://quickchart.io/chart/create
{
"chart": {
"type": "line",
"data": { "labels": [...], "datasets": [{"label":"Revenue","data":[...]}] }
},
"width": 800,
"height": 400
}
QuickChart mengembalikan URL image atau base64. Alternatif: jalankan Chart.js di node headless untuk kontrol penuh styling.
6. Render HTML Laporan
Buat template HTML responsif untuk laporan. Gunakan CSS sederhana agar saat di-render ke PDF tampil rapi. Contoh struktur:
- Header (logo, nama laporan, periode)
- Executive summary (dari LLM)
- Grafik utama (image dari QuickChart)
- Tabel metrik & catatan
- Footer & link arsip
7. Generate PDF
Pilih salah satu:
- Puppeteer: kontrol paling fleksibel (webfonts, page-breaks, CSS). Cocok bila layout kompleks.
- wkhtmltopdf: lebih ringan, cepat untuk HTML sederhana.
- Third-party API: seperti PDFLayer atau HTMLPDF API jika ingin managed service.
Di n8n, Anda bisa menjalankan Node Execute Command yang memanggil puppeteer script, atau menggunakan node HTTP Request ke service PDF.
8. Pengiriman & Arsip
Kirim PDF via Email node (SMTP / SendGrid). Sertakan link ke arsip di S3 atau Google Drive. Simpan metadata (periode, status, recipients) ke DB untuk audit.
Tips Prompt Engineering untuk Ringkasan yang Relevan
- Sertakan konteks: periode, target KPI, channel penting.
- Minta format output terstruktur: bullet points, tindakan rekomendasi, dan satu kalimat TL;DR.
- Batasi token/word count agar ringkasan tetap singkat.
Contoh prompt final:
Ringkas data berikut dalam 4 poin: 1) TL;DR (1 kalimat), 2) Insight utama, 3) Anomali atau perhatian, 4) Rekomendasi tindakan singkat.
Data: {summary_inputs}
Best Practice: Caching, Retry, dan Observability
- Caching: Simpan hasil query atau image chart untuk menghindari pemanggilan berulang (s3 atau Redis).
- Retry & Backoff: Gunakan mekanisme retry pada node HTTP/AI jika terjadi rate limit.
- Idempotency: Simpan report_id di DB agar tidak duplikat saat retry.
- Monitoring: Kirim log/alert ke Slack atau Sentry bila ada error selama workflow.
Keamanan & Kepatuhan Data
- Jangan kirim data sensitif PII ke LLM cloud tanpa anonymization atau on-prem inference.
- Gunakan environment variables di n8n untuk API keys, dan rotasi kunci secara berkala.
- Enkripsi file di storage (S3 SSE) saat menyimpan PDF laporan.
Optimasi Biaya
- Gunakan model LLM murah untuk ringkasan singkat; gunakan high-capacity model hanya untuk analisis kompleks.
- Batch requests jika memungkinkan untuk mengurangi overhead API calls.
- Cache chart images dan hasil LLM bila laporan sama dalam rentang waktu pendek.
Contoh Use Case Praktis
Tim e-commerce ingin laporan mingguan penjualan per channel. Dengan workflow ini mereka mendapatkan:
- Ringkasan otomatis untuk meeting Senin
- Grafik revenue & orders per hari
- Rekomendasi singkat: optimasi ads channel jika konversi turun
- PDF otomatis terarsip dan dikirim ke stakeholder
Checklist Implementasi
- Tentukan sumber data & query
- Buat template HTML & style untuk PDF
- Rancang prompt LLM (uji dan iterasi)
- Implementasi charting (QuickChart atau headless Chart.js)
- Setup PDF generation & storage
- Atur email delivery & monitoring
- Uji end-to-end dan uji failure scenarios
Kesimpulan
Automasi laporan mingguan bergrafik dengan n8n + AI menghemat waktu, meningkatkan konsistensi, dan memberikan insight yang actionable. Dengan kombinasi transformasi data, ringkasan LLM, dan pembuatan chart otomatis, tim Anda bisa fokus pada keputusan, bukan pembuatan dokumen.
Butuh template workflow n8n yang lengkap? Kunjungi JIPRAKS Classroom untuk artikel lanjutan, contoh JSON workflow, dan downloadable template yang siap pakai.