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.

FiturPublic Start Form
Berlaku untukAlurKerja Studio (on-prem & SaaS)
Contoh yang dipakai di guide iniWorkspace 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:

  1. Anda punya akses ke workspace dengan role Owner atau Admin SOP (role Member tidak bisa mengubah setting proses).
  2. Sudah ada file BPMN yang start event-nya memiliki form. Kalau start event-nya kosong, link publik akan menampilkan halaman kosong tanpa field.
  3. 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 website

Langkah demi Langkah

Langkah 1 — Buka proses di Studio

  1. Login ke Studio, lalu pilih workspace Anda (contoh: AlurKerjaaaaa).
  2. Masuk ke menu Drive di sidebar kiri.
  3. Cari file BPMN-nya lewat kolom Search (contoh: ketik textarea).
  4. Klik dua kali pada file untuk membukanya di modeler.
Mencari file BPMN di Drive

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.

Modeler terbuka pada tab Design

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.

Form Editor menampilkan daftar Start Events dan User Tasks

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.

Form Editor dengan preview field

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

  1. Klik tab Settings di bar atas modeler.
  2. Kalau diagram Anda berisi lebih dari satu pool (collaboration), akan muncul deretan tab nama pool di bagian atas — di contoh ini PT ABC dan pt abcd. Pilih dulu pool yang benar. Setting permission bersifat per-proses, bukan per-file. Salah pool = Anda membuka proses yang salah.
  3. Klik sub-tab Permission.
Settings → Permission dengan tab pool dan toggle

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:

ToggleKeterangan
Allow StartEnable this to allow users to start this process. Mengatur apakah proses ini boleh dimulai oleh user yang sudah login.
Allow Public StartEnable 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.

Public Start Link dan Process Access Control
PilihanUntuk form publik
All UsersEveryone can start this process✅ Gunakan ini
RestrictedOnly 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."

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=TEST

Pola 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-slug nita.
  • process_id — id proses, contoh textarea-NbFmg
  • environmentTEST atau LIVE. 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:

Form publik dilihat pengunjung

Gulir sampai ujung — tombol Start Process (hitam, bulat, berikon play) harus terlihat jelas tanpa perlu di-hover:

Tombol Start Process di bagian bawah form

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=TEST di akhir URL.

Aturan Sekali Pakai

Setiap kali halaman form dibuka, sistem menerbitkan satu form token sekali pakai. Konsekuensinya untuk pengguna:

SituasiYang 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:

  1. Buka menu Process di sidebar Studio (atau Tasklist).
  2. Cari instance baru dari proses tersebut.
  3. 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 terlihatPenyebab paling mungkinCara memperbaiki
403 — "Proses ini belum dibuka untuk publik."Salah satu toggle mati, atau perubahan belum di-deployCek Allow Start dan Allow Public Start keduanya ON di environment yang benar, lalu Save + Deploy
403 padahal kedua toggle menyalaAnda menyalakan di TEST tapi membuka link LIVE (atau sebaliknya)Samakan environment antara setting dan URL
403 padahal setting benar dan sudah deployAccess Control = RestrictedUbah ke All Users
404 — "Process not found"Salah tenant_slug atau salah process_idSalin ulang lewat tombol Copy di Public Start Link
401Layanan bpm-service belum ter-deploy di environment tersebutHubungi tim infra/dev
Form tampil tapi tanpa styling (HTML polos)Aset tampilan gagal dimuatLaporkan ke tim dev — sertakan isi Console browser
Submit ditolak walau form baru dibukaToken sudah dipakai di tab lain, atau halaman dibiarkan terlalu lamaReload halaman, isi ulang, submit
Instance tidak muncul di daftar prosesEnvironment berbedaCek 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:

  1. 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.
  2. Upload file di form publik belum diverifikasi penuh. Field-nya tampil dan bisa dipakai, tapi perilakunya belum diuji menyeluruh.
  3. 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