Public Start Form
Menjalankan proses AlurKerja dari website mana pun tanpa login — membuka form start event sebagai satu link publik yang bisa dibagikan atau di-embed lewat iframe.
Menjalankan proses AlurKerja dari website mana pun, tanpa login.
| Fitur | Public Start Form |
| Berlaku untuk | AlurKerja Studio (on-prem & SaaS) |
| Contoh yang dipakai di guide ini | Workspace AlurKerjaaaaa (slug nita), proses textarea (textarea-NbFmg) |
Apa itu Public Start Form
Biasanya sebuah proses hanya bisa dimulai oleh user yang sudah login ke AlurKerja. Public Start Form membuka satu pintu tambahan: satu link publik yang menampilkan form start-process, bisa dibuka siapa pun tanpa akun, dan bisa ditanam (embed) di website lain lewat iframe.
Contoh pemakaian: form pengaduan di website perusahaan, form pendaftaran vendor, form permintaan demo — pengunjung mengisi, dan begitu dikirim, proses BPMN-nya langsung berjalan di AlurKerja seperti biasa.
Form ini memakai form yang sudah ada di start event proses Anda. Anda tidak membuat form baru — Anda membuka akses ke form yang sudah dirancang di modeler.
Prasyarat
Sebelum mulai, pastikan:
- Anda punya akses ke workspace dengan role Owner atau Admin SOP (role Member tidak bisa mengubah setting proses).
- Sudah ada file BPMN yang start event-nya memiliki form. Kalau start event-nya kosong, link publik akan menampilkan halaman kosong tanpa field.
- Proses tersebut sudah pernah di-Deploy minimal sekali.
Alur Singkat
Buka BPMN di Studio
│
▼
Settings → pilih pool → Permission → pilih TEST / LIVE
│
▼
Nyalakan Allow Start → Allow Public Start
│
▼
Process Access Control = All Users
│
▼
Save → Deploy
│
▼
Copy "Public Start Link" → bagikan / embed di websiteLangkah demi Langkah
Langkah 1 — Buka proses di Studio
- Login ke Studio, lalu pilih workspace Anda (contoh: AlurKerjaaaaa).
- Masuk ke menu Drive di sidebar kiri.
- Cari file BPMN-nya lewat kolom Search (contoh: ketik
textarea). - Klik dua kali pada file untuk membukanya di modeler.
Setelah terbuka, Anda berada di modeler. Perhatikan bar tab di atas — Design · Docs · Form · XML · Token · Settings — serta tombol Save dan Deploy di kanan atas.
URL modeler akan terlihat seperti …/nita/drive/modeler/bpmn/textarea-NbFmg?tab=design. Bagian textarea-NbFmg itulah process id Anda. Catat, karena ini muncul di link publik nanti.
Langkah 2 — Pastikan start event punya form
Buka tab Form. Yang muncul pertama adalah daftar pilihan, bukan langsung form-nya — karena satu file BPMN bisa memuat beberapa start event dan beberapa user task.
Di contoh ini ada dua start event (start dan test 12), karena diagramnya berisi dua pool. Pilih start event milik proses yang akan Anda publikasikan.
Setelah dipilih, form terbuka lengkap dengan panel komponen di kiri dan PREVIEW di kanan. Isi preview inilah yang persis akan dilihat pengunjung — tidak ada field tambahan, tidak ada yang disembunyikan.
Tipe field yang didukung di form publik: teks, textarea, angka, email, password, add-on, rich text, tanggal, waktu, dropdown, multiselect, remote multiple select, radio, switch, toggle, dan file upload.
Langkah 3 — Buka Settings → Permission
- Klik tab Settings di bar atas modeler.
- Kalau diagram Anda berisi lebih dari satu pool (collaboration), akan muncul deretan tab nama pool di bagian atas — di contoh ini
PT ABCdanpt abcd. Pilih dulu pool yang benar. Setting permission bersifat per-proses, bukan per-file. Salah pool = Anda membuka proses yang salah. - Klik sub-tab Permission.
Langkah 4 — Pilih environment: TEST atau LIVE
Di bawah sub-tab Permission ada pilihan TEST dan LIVE, dengan keterangan "Configure permissions for the TEST environment. TEST and LIVE are saved independently."
TEST dan LIVE disimpan terpisah. Menyalakan toggle di TEST tidak berpengaruh apa pun ke LIVE, begitu juga sebaliknya. Ini sering jadi sumber kebingungan: setting sudah dinyalakan tapi link produksi tetap ditolak — karena yang dinyalakan ternyata TEST.
Gunakan TEST untuk uji coba, lalu ulangi langkah yang sama di LIVE saat siap dipakai publik.
Langkah 5 — Nyalakan kedua toggle
Urutannya penting:
| Toggle | Keterangan |
|---|---|
| Allow Start | Enable this to allow users to start this process. Mengatur apakah proses ini boleh dimulai oleh user yang sudah login. |
| Allow Public Start | Enable this to allow anyone to start this process publicly (without authentication). Mengatur apakah proses ini boleh dimulai lewat link publik tanpa login. |
Keduanya wajib menyala agar form publik tampil. Kalau salah satu mati, pengunjung mendapat 403.
Perilaku yang perlu diketahui:
- Selama Allow Start mati, toggle Allow Public Start terkunci (redup dan tidak bisa diklik), dengan keterangan "Turn on 'Allow Start' first — a process that nobody can start cannot be started publicly either".
- Mematikan Allow Start akan otomatis mematikan Allow Public Start. Ini disengaja: kombinasi "publik menyala tapi start mati" hanya akan menyesatkan — di Studio terbaca terbuka, padahal form-nya menjawab 403.
- Menyalakan kembali Allow Start tidak otomatis menyalakan Public Start. Anda harus menyalakannya lagi secara sadar.
Langkah 6 — Set Process Access Control ke "All Users"
Gulir ke bawah. Di sana ada kotak Public Start Link dan pilihan Process Access Control.
| Pilihan | Untuk form publik |
|---|---|
| All Users — Everyone can start this process | ✅ Gunakan ini |
| Restricted — Only selected users and groups can start this process | ⚠️ Jangan dipakai untuk form publik — lihat Batasan di bawah |
Langkah 7 — Save, lalu Deploy
Klik Save, lalu klik Deploy di pojok kanan atas.
Perubahan setting tidak berlaku sampai proses di-deploy. Ini penyebab paling sering dari "sudah saya nyalakan tapi masih 403". Keterangan di kotak Public Start Link pun menyebutkannya: "It starts working once you save and deploy this process."
Langkah 8 — Salin Public Start Link
Setelah kedua toggle menyala, kotak Public Start Link berisi URL siap pakai beserta tombol Copy:
https://onprem.merapi.alurkerja.com/api/v1/probis/public/nita/textarea-NbFmg/startprocess?environment=TESTPola umumnya:
{host}/api/v1/probis/public/{tenant_slug}/{process_id}/startprocess?environment={TEST|LIVE}tenant_slug— slug workspace. Perhatikan: nama tampilan dan slug bisa berbeda. Workspace bernama AlurKerjaaaaa ber-slugnita.process_id— id proses, contohtextarea-NbFmgenvironment—TESTatauLIVE. Kalau parameter ini tidak ditulis, yang dipakai adalah LIVE.
Selalu pakai tombol Copy, jangan mengetik ulang URL-nya.
Langkah 9 — Buka dan periksa hasilnya
Buka link tersebut di tab baru. Form akan tampil ber-styling rapi, sama seperti form di dalam Studio:
Gulir sampai ujung — tombol Start Process (hitam, bulat, berikon play) harus terlihat jelas tanpa perlu di-hover:
Memasang Form di Website (Embed)
Tempelkan potongan berikut di halaman mana pun:
<iframe
src="https://onprem.merapi.alurkerja.com/api/v1/probis/public/nita/textarea-NbFmg/startprocess"
style="width:100%; border:0"
height="600">
</iframe>Catatan:
- Halaman form mengirimkan tinggi kontennya ke halaman induk lewat
postMessage, sehingga iframe bisa menyesuaikan tinggi secara otomatis kalau website Anda mendukungnya. - Tidak ada API key, tidak ada login, dan tidak ada konfigurasi domain — cukup URL-nya.
- Untuk versi uji coba, tambahkan
?environment=TESTdi akhir URL.
Aturan Sekali Pakai
Setiap kali halaman form dibuka, sistem menerbitkan satu form token sekali pakai. Konsekuensinya untuk pengguna:
| Situasi | Yang terjadi |
|---|---|
| Isi form → Start Process | ✅ Berhasil, muncul notifikasi hijau "Proses berhasil dimulai." |
| Klik Start Process lagi di halaman yang sama | ❌ Ditolak — "Sesi formulir sudah dipakai atau kedaluwarsa. Muat ulang halaman…" |
| Reload halaman → isi lagi → submit | ✅ Berhasil, terbentuk instance kedua |
| Halaman dibiarkan terbuka lebih dari ±30 menit lalu disubmit | ❌ Ditolak dengan pesan yang sama; cukup reload |
Ini bukan bug. Satu kali buka halaman = satu kali start proses. Aturan ini yang mencegah satu form dipakai mengirim ratusan proses secara berulang. Untuk pengunjung yang ingin mengirim dua kali, cukup muat ulang halaman.
Memeriksa Instance yang Masuk
Setelah pengunjung submit:
- Buka menu Process di sidebar Studio (atau Tasklist).
- Cari instance baru dari proses tersebut.
- Buka instance-nya dan cocokkan isian form — periksa beberapa field, jangan hanya satu.
Instance dari form publik masuk ke daftar proses yang sama seperti proses yang dimulai user internal. Perhatikan environment-nya: instance dari link ?environment=TEST muncul di TEST, bukan LIVE.
Troubleshooting
| Yang terlihat | Penyebab paling mungkin | Cara memperbaiki |
|---|---|---|
| 403 — "Proses ini belum dibuka untuk publik." | Salah satu toggle mati, atau perubahan belum di-deploy | Cek Allow Start dan Allow Public Start keduanya ON di environment yang benar, lalu Save + Deploy |
| 403 padahal kedua toggle menyala | Anda menyalakan di TEST tapi membuka link LIVE (atau sebaliknya) | Samakan environment antara setting dan URL |
| 403 padahal setting benar dan sudah deploy | Access Control = Restricted | Ubah ke All Users |
| 404 — "Process not found" | Salah tenant_slug atau salah process_id | Salin ulang lewat tombol Copy di Public Start Link |
| 401 | Layanan bpm-service belum ter-deploy di environment tersebut | Hubungi tim infra/dev |
| Form tampil tapi tanpa styling (HTML polos) | Aset tampilan gagal dimuat | Laporkan ke tim dev — sertakan isi Console browser |
| Submit ditolak walau form baru dibuka | Token sudah dipakai di tab lain, atau halaman dibiarkan terlalu lama | Reload halaman, isi ulang, submit |
| Instance tidak muncul di daftar proses | Environment berbeda | Cek daftar proses di environment yang sesuai |
Saat melaporkan masalah, sertakan screenshot dan isi Console browser (tekan F12 → tab Console). Pesan di layar sengaja dibuat singkat dan tidak teknis karena dibaca pengunjung umum; detail teknisnya ada di Console.
Catatan keamanan yang disengaja: pesan 404 untuk tenant yang salah dan process id yang salah dibuat persis sama. Ini bukan kurang informatif secara tidak sengaja — tujuannya agar orang luar tidak bisa menebak-nebak daftar proses yang dimiliki sebuah workspace.
Batasan yang Sudah Diketahui
Hal-hal berikut sudah diketahui dan tidak perlu dilaporkan sebagai bug:
- Proses dengan Access Control = Restricted — form tetap tampil, tetapi submit-nya pasti gagal 403. Pengunjung bisa mengisi form sampai selesai lalu ditolak. Untuk sekarang, gunakan All Users untuk semua proses yang dipublikasikan.
- Upload file di form publik belum diverifikasi penuh. Field-nya tampil dan bisa dipakai, tapi perilakunya belum diuji menyeluruh.
- Belum ada rate limit. Aturan token sekali pakai mencegah pengiriman berulang dari satu halaman, tetapi tidak membatasi laju secara umum. Jangan pasang link publik untuk proses yang sangat sensitif terhadap volume tanpa berkoordinasi dulu dengan tim dev.
Ringkasan Checklist
Sebelum membagikan link publik, pastikan semua tercentang:
- Start event proses sudah punya form, dan field-nya sudah benar
- Pool yang benar sudah dipilih (kalau diagram berisi lebih dari satu pool)
- Environment yang benar sudah dipilih (TEST atau LIVE)
- Allow Start = ON
- Allow Public Start = ON
- Process Access Control = All Users
- Sudah klik Save
- Sudah klik Deploy
- Link sudah dibuka di tab baru dan form tampil dengan rapi
- Sudah dicoba submit sekali, dan instance-nya muncul di daftar proses
