Analytics

Scheduled Export

Mengirim isi sebuah Dashboard Analytics ke daftar email secara otomatis dan berulang dalam format PDF atau Excel, mengatur jadwalnya dari layar Edit Dashboard, serta memahami periode data, masa berlaku tautan unduh, dan penyebab kiriman tidak sampai.

Scheduled Export mengirimkan isi sebuah Dashboard ke daftar alamat email secara otomatis dan berulang — harian, mingguan, atau bulanan — dalam format PDF atau Excel. Penerimanya tidak perlu membuka Alurkerja dan tidak perlu punya akun.

Jadwal disimpan menyatu dengan dashboard-nya. Tidak ada halaman "Schedules" tersendiri, dan menyimpan jadwal berarti menyimpan dashboard.

Yang dikirimSatu file berisi seluruh widget dashboard untuk satu periode
FormatPDF atau Excel (xls)
FrekuensiHarian, mingguan (pilih hari), atau bulanan (pilih tanggal)
PenerimaDaftar alamat email bebas — tidak harus user Alurkerja
Cara mengambil fileTautan unduh di dalam email; file tidak dilampirkan
Masa berlaku tautan72 jam sejak email dikirim (default)
Jumlah jadwalSatu jadwal per dashboard

Untuk admin / DevOps. Pengiriman baru berjalan bila report-service di environment tersebut dijalankan dengan ENABLE_SCHEDULED_EXPORT=true dan ENABLE_SCHEDULED_EXPORT_WORKER=true. Keduanya default false. Kalau salah satu mati, jadwal tetap bisa disimpan dan seluruh UI terlihat normal — tetapi tidak ada satu pun email yang pernah terkirim. Ini kegagalan paling senyap dari fitur ini; lihat Troubleshooting.

Prasyarat

  1. Dashboard sudah dibuat dan tersimpan. Jadwal diatur dari layar edit dashboard, bukan saat membuat dashboard baru.
  2. Dashboard sebaiknya sudah punya widget. Dashboard kosong tetap menghasilkan file, tetapi isinya hanya keterangan bahwa dashboard belum punya widget.
  3. Daftar alamat email penerima. Alamat yang salah ketik ditolak saat disimpan.

Membuka Form Jadwal

  1. Dari sidebar Studio, buka grup DESIGNAnalyticsDashboard.

  2. Pada baris dashboard yang dituju, klik ikon pensil di kolom Actions. Ikon mata di sebelahnya hanya membuka pratinjau dan tidak bisa dipakai mengatur jadwal.

    Daftar Dashboard di Analytics dengan kolom Actions berisi ikon mata, pensil, dan hapus
  3. Di header layar edit, klik ikon gerigi (Settings) di sebelah kiri tombol Update Dashboard.

    Layar Edit Dashboard dengan ikon gerigi Settings di header, di sebelah kiri tombol Update Dashboard
  4. Dialog Settings terbuka. Bagian Scheduled Export ada di bawah Publish to Dashboard dan Is Template? — gulir isi dialognya kalau belum terlihat.

    Dialog Settings dashboard dengan bagian Scheduled Export dalam keadaan mati

Isian jadwal baru muncul setelah toggle dinyalakan. Selama toggle mati, bagian ini memang hanya berisi satu baris keterangan — itu keadaan normal, bukan form yang gagal dimuat.

Mengisi Jadwal

Nyalakan toggle di bawah tulisan "Automatically email this dashboard to a list of recipients on a schedule", lalu isi seluruh field bertanda *.

Form Scheduled Export dengan frekuensi Weekly, Send on Sunday, jam 21:00, timezone WIB, format PDF
FieldPilihanCatatan
Frequency *Daily / Weekly / MonthlyDefault Daily. Mengganti frekuensi mengganti field hari yang menyertainya.
Send on *SundaySaturdayHanya untuk Weekly. Default Monday.
Day of month *131Hanya untuk Monthly. Default 1. Lihat tanggal 29–31.
Send at *Jam kirimJam dinding di timezone yang dipilih, bukan jam server. Default 08:00.
TimezoneWIB — Jakarta, WITA — Makassar, WIT — JayapuraDefault WIB. Hanya tiga zona ini yang ditawarkan.
File format *PDF / Excel (xls)Default PDF.
Recipients *Satu atau lebih alamat emailWajib minimal satu.

Kolom Send at mengikuti bahasa browser, bukan bahasa aplikasi. Kolom ini memakai pemilih waktu bawaan browser. Pada browser berbahasa Inggris ia tampil 12 jam (09:00 PM), pada browser berbahasa Indonesia 24 jam (21.00). Yang disimpan sama saja. Kalau ragu, baca Schedule summary — ringkasan itu selalu memakai format 24 jam.

Mengisi Recipients

Ketik alamat pada kolom berplaceholder name@company.com, then Enter, lalu tekan Enter. Alamat berubah menjadi chip di bawah kolom.

  • Alamat yang tidak valid ditandai chip merah disertai pesan "<alamat>" is not a valid email address, dan penyimpanan ditahan sampai diperbaiki.
  • Klik tanda × pada chip untuk menghapus penerima.
  • Selama belum ada satu pun penerima, kolomnya berketerangan "Add at least one recipient".
Chip penerima berwarna merah dengan pesan alamat email tidak valid di bawahnya

Membaca Schedule summary

Kotak Schedule summary di bawah daftar penerima adalah ringkasan jadwal yang akan tersimpan. Biasakan membacanya sebelum menyimpan — di sanalah salah pilih hari atau salah baca jam paling cepat ketahuan.

Kotak Schedule summary berisi Every Sunday at 21:00 WIB, PDF format dan Sent to 2 recipient(s)

Menyimpan

Tutup dialog Settings, lalu klik Update Dashboard di header. Setelah tersimpan, Anda dikembalikan ke daftar Dashboard dan kolom Updated At dashboard tersebut ikut berubah.

Menyalakan toggle saja tidak menyimpan apa pun. Selama Update Dashboard belum ditekan, jadwal itu belum ada.

Kalau ada isian jadwal yang bermasalah, penyimpanan dibatalkan dan dialog Settings terbuka kembali sendiri dengan peringatan merah "Fix the export schedule below before saving. The dashboard was not saved." Ini disengaja: tombol Update Dashboard ada di header, jauh dari form jadwal, jadi tanpa itu penolakan terbaca seperti tombol yang tidak bereaksi.

Dialog Settings terbuka kembali dengan peringatan merah bahwa dashboard tidak tersimpan

Kapan Report Pertama Terkirim

Perhitungan jadwal berikutnya

Waktu kirim berikutnya dihitung saat jadwal disimpan: waktu pertama sesudah "sekarang" yang cocok dengan setelan jadwal, dibaca sebagai jam dinding di timezone yang dipilih.

KasusHasil
Daily 08:00 WIB, disimpan Senin 07:30Senin ini juga, 08:00
Daily 08:00 WIB, disimpan Senin 09:00Selasa 08:00 — hari ini sudah lewat
Weekly Monday 08:00, disimpan Senin 09:00Senin minggu depan
Weekly Friday 08:00, disimpan Senin 09:00Jumat minggu ini
Monthly day 5 07:00, disimpan tanggal 5 pukul 08:00Tanggal 5 bulan depan

Jadwal tidak pernah berjalan mundur: jam yang sudah lewat hari ini dilewati ke periode berikutnya.

Toleransi waktu kirim

Email tidak dikirim tepat pada detik yang dijadwalkan. Sistem memeriksa jadwal yang jatuh tempo setiap ±1 menit, lalu worker mengambil pekerjaan dari antrean dengan interval yang sama. Untuk dashboard normal, email biasanya sampai beberapa menit setelah jam yang diatur. Itu normal, bukan kegagalan.

Kalau server sempat mati beberapa jam, jadwal yang terlewat tidak dikirim menyusul satu per satu. Yang terjadi: satu kiriman untuk saat itu, lalu jadwal lanjut ke periode berikutnya. Tidak ada banjir email susulan.

Tanggal 29–31 di bulan pendek

Jadwal bulanan tanggal 29, 30, atau 31 tetap jalan di bulan yang tidak punya tanggal itu — dikirim pada hari terakhir bulan tersebut (28/29 Februari, 30 April, dan seterusnya). Begitu tanggal 29–31 dipilih, catatan ini muncul di dalam kotak Schedule summary, di bawah jumlah penerima.

Schedule summary jadwal bulanan tanggal 31 dengan catatan bahwa bulan tanpa tanggal 31 dikirim pada hari terakhir bulan itu

Periode data yang ikut di dalam file

Isi file adalah periode yang sedang berjalan pada saat jadwal jalan, bukan periode sebelumnya.

FrekuensiPeriode isi fileLabel pada email dan nama file
DailyHari itu, 00:00 s/d 24:002026-08-24
WeeklyMinggu berjalan, Senin 00:00 s/d Senin berikutnya2026-W35
MonthlyBulan berjalan, tanggal 1 s/d tanggal 1 bulan berikutnya2026-08

Ini yang paling sering datang sebagai keluhan "report saya kosong". Jadwal mingguan setiap Senin pagi menghasilkan laporan untuk minggu yang baru saja dimulai — praktis masih kosong. Supaya periodenya sudah penuh, jadwalkan di ujung periode:

  • Harian → sore atau malam (mis. 21:00), bukan pagi.
  • Mingguan → Sunday malam, bukan Monday pagi.
  • Bulanan → tanggal 31, yang otomatis mundur ke hari terakhir pada bulan pendek.

Batas periode ini juga dipakai mengisi parameter tanggal pada question yang punya filter periode. Question tanpa filter periode tetap menampilkan data sesuai default-nya sendiri — sama seperti yang tampil di dashboard.

Mengubah dan Menonaktifkan Jadwal

Mengubah

Buka kembali layar edit dashboard → Settings → ubah field yang diinginkan → Update Dashboard. Jadwal yang tersimpan otomatis terisi kembali di form saat dialog dibuka.

Setiap penyimpanan menghitung ulang waktu kirim berikutnya dari saat disimpan. Contoh: jadwal harian 08:00 yang diubah menjadi 09:00 pada pukul 10:00 akan berjalan besok pukul 09:00.

Menonaktifkan

Matikan toggle pada bagian Scheduled Export, lalu Update Dashboard.

Setelan jadwal tidak dihapus. Saat dialog dibuka lagi, bagian Scheduled Export memang tampak kosong — isian hanya disembunyikan selama toggle mati. Begitu toggle dinyalakan kembali, frekuensi, hari, jam, timezone, format, dan seluruh daftar penerima muncul lagi persis seperti terakhir disimpan. Tidak perlu mengisi form dari nol.

  • Selama mati, jadwal tidak akan pernah dijalankan.
  • Saat dinyalakan kembali dan disimpan, waktu kirim berikutnya dihitung ulang dari saat itu — tidak ada kiriman susulan untuk periode yang terlewat.

Menghapus dashboard

Menghapus dashboard otomatis mematikan jadwalnya pada pemeriksaan berikutnya; sistem tidak akan mencoba mengirim laporan dari dashboard yang sudah tidak ada. Riwayat eksekusi jadwal itu sengaja tetap disimpan.

Email yang Diterima Penerima

Subjeknya Laporan <Nama Dashboard> - <Periode>, misalnya Laporan Sales Harian - 2026-W35.

Isinya memuat nama dashboard, periode, format dan ukuran file, waktu pembuatan, tombol Unduh laporan, serta tautan versi teks di bawahnya untuk mail client yang tidak merender tombol.

Contoh email laporan terjadwal yang diterima penerima, dengan tombol Unduh laporan dan tautan teks

Yang sering ditanyakan:

  • File tidak dilampirkan. Yang dikirim hanya tautan — lampiran akan tertahan batas ukuran mail server dan hidup selamanya di inbox, sementara tautan bisa kedaluwarsa.
  • Penerima tidak perlu punya akun Alurkerja. Tautan itu sendiri yang menjadi kredensialnya.
  • Semua penerima menerima email dan file yang sama persis.
  • Email dikirim otomatis dan tidak bisa dibalas.
  • Klik Unduh laporan, atau salin tautan teks ke browser — file langsung terunduh.
  • Masa berlaku 72 jam sejak email dikirim. Waktu kedaluwarsanya tercetak persis di dalam email. Admin dapat mengubahnya lewat SCHEDULED_EXPORT_LINK_TTL, dengan batas atas 30 hari.
  • Tautan hanya berlaku untuk satu laporan itu, tidak bisa dipakai mengambil file lain, dan tidak bisa ditebak atau dimodifikasi.
  • Tautan boleh diteruskan, dan siapa pun yang menerimanya bisa mengunduh selama masa berlaku belum habis. Perlakukan sebagai dokumen rahasia.
  • Lewat masa berlaku, halaman menolak dengan "Tautan unduhan sudah kedaluwarsa". Tautan yang terpotong saat disalin menghasilkan "Tautan unduhan tidak valid".
  • Tidak ada cara memperpanjang tautan. Yang tersedia: menunggu kiriman berikutnya, atau membuka dashboard-nya langsung di Alurkerja.

Isi File dan Batasannya

Setiap widget dirender berurutan sesuai susunannya di dashboard, memakai rentang periode pada Periode data. Nama file mengikuti pola <nama-dashboard>_<periode>_<timestamp>.<pdf|xls>, misalnya sales-harian_2026-08-24_20260824T010000Z.pdf.

Batas berikut berlaku supaya dashboard besar tidak menggantung proses:

BatasNilai
Baris per widget2.000
Baris per dokumen20.000
Kolom per tabel25
Panjang teks per sel300 karakter
Waktu query per widget60 detik

Apa pun yang terpotong dinyatakan di dalam file itu sendiri, jadi laporan yang dipangkas tidak pernah terlihat seperti laporan utuh. Widget yang gagal diambil datanya mencetak keterangan penyebabnya di tempatnya dan tidak menggagalkan seluruh laporan.

Pada format Excel, angka disimpan sebagai angka — bukan teks — sehingga tetap bisa dijumlahkan dan dibuat grafik.

Troubleshooting

GejalaPenyebab paling mungkinTindakan
Jadwal sudah diisi tapi tidak ada apa-apa yang tersimpanToggle dinyalakan tetapi Update Dashboard belum ditekan.Buka Settings, pastikan isian masih ada, lalu tekan Update Dashboard.
Menekan Update Dashboard membuka Settings lagi dengan tulisan merahAda isian jadwal yang tidak sah — paling sering alamat email salah ketik.Perbaiki field bertanda merah, lalu simpan ulang. Dashboard tidak tersimpan sebelum itu.
Report tidak pernah terkirim sama sekaliJam pertama memang belum tiba.Cek perhitungan jadwal berikutnya — jadwal yang disimpan lewat jam kirim hari itu baru jalan periode berikutnya.
Report tidak pernah terkirim, jadwal sudah lama lewatFitur belum dinyalakan di environment tersebut (ENABLE_SCHEDULED_EXPORT / ENABLE_SCHEDULED_EXPORT_WORKER). Dari sisi UI semuanya tampak normal.Perlu dicek admin / DevOps. Ini penyebab paling sering dan paling senyap.
Report berhenti terkirim tiba-tibaDashboard-nya sudah dihapus, atau jadwal dimatikan sistem karena tidak bisa dijalankan (penerima kosong, timezone tidak dikenali).Cek keberadaan dashboard; sisanya perlu dicek admin.
Sebagian penerima tidak menerimaSalah ketik alamat, atau email tersaring Spam/Junk.Periksa ejaan chip Recipients; minta penerima cek folder spam. Kegagalan ke satu alamat tidak membatalkan kiriman ke alamat lain.
Semua penerima tidak menerima padahal jadwal jalanMasalah SMTP, bukan masalah jadwal.Perlu dicek admin.
Tautan unduh kedaluwarsaWajar setelah 72 jam.Tidak bisa diperpanjang. Tunggu kiriman berikutnya, buka dashboard langsung, atau minta admin menaikkan SCHEDULED_EXPORT_LINK_TTL.
Tautan ditolak "tidak valid"Tautan terpotong saat disalin — mail client memenggal URL panjang.Gunakan tombol Unduh laporan, atau salin seluruh baris tautan sampai karakter terakhir.
File terkirim tapi isinya kosongPeriode belum ada datanya — jadwal mingguan Senin pagi melaporkan minggu yang baru mulai.Geser jam kirim ke ujung periode; lihat Periode data.
File terkirim tapi hanya berisi keteranganDashboard belum punya widget.Tambahkan question ke dashboard.
Satu widget berisi pesan error, sisanya normalQuery question-nya sendiri yang gagal.Perbaiki question tersebut di Analytics.
Kiriman gagal lalu berhasil sendiriKegagalan sementara dicoba ulang otomatis sampai 3 percobaan, jeda ±2 menit lalu meningkat sampai maksimal 15 menit.Tidak perlu tindakan. Satu periode tetap hanya terkirim satu kali.

Yang perlu dicek admin

Belum ada halaman riwayat pengiriman di UI. Status dan penyebab kegagalan tersimpan di database report-service:

TempatIsi
report_schedules.last_run_at, last_statusKondisi terakhir satu jadwal.
report_schedule_runsSatu baris per percobaan: attempt, status (success, generate_failed, delivery_failed, …), pesan error, dan file_path file yang sudah terlanjur dibuat — berguna untuk mengirim ulang manual.
Log report-serviceSetiap penolakan per alamat (permanent bounce / transient bounce) beserta alasannya. Ini yang menjawab "kenapa hanya satu orang yang tidak menerima".

Batasan yang Diketahui

Hal-hal berikut belum tersedia. Disebutkan supaya tidak dicari-cari di layar.

  1. Satu jadwal per dashboard. Untuk dua frekuensi atau dua daftar penerima yang berbeda, duplikasi dashboard-nya.
  2. Jadwal hanya bisa diatur dari layar edit, tidak saat membuat dashboard baru.
  3. Hanya tiga timezone Indonesia (WIB/WITA/WIT) yang bisa dipilih dari UI.
  4. Periode selalu periode berjalan, tidak ada opsi "periode sebelumnya".
  5. Tidak ada riwayat pengiriman di UI, dan tidak ada tombol "kirim sekarang" untuk mengetes jadwal tanpa menunggu.
  6. Tautan tidak bisa dicabut sebelum masa berlakunya habis.

Fase 1 vs Fase 2

Fitur ini dikerjakan dua tahap: Fase 1 menghasilkan file dummy berisi placeholder untuk memvalidasi jalur jadwal → antrean → email, Fase 2 menggantinya dengan data dashboard sungguhan.

Halaman ini menjelaskan perilaku Fase 2. Kalau di sebuah environment file yang diterima berisi teks placeholder alih-alih tabel data, environment itu masih menjalankan image lama Fase 1 — yang perlu dilakukan adalah memperbarui image, bukan mengubah jadwal.