Agen Anda mulai saat
sesuatu benar-benar terjadi
Sebuah pemicu menjawab satu pertanyaan: kapan agen ini mulai? Tugas terjadwal menjawabnya dengan sebuah jam. Pemicu webhook menjawabnya dengan sebuah event dari dunia luar. Sebuah pull request dibuka, sebuah build rusak, sebuah peringatan menyala, dan agen sudah berjalan.
AgentsRoom memberi setiap pemicu sebuah URL publik dan rahasia penandatanganan. Tempelkan URL itu ke GitHub, GitLab, Slack, Linear, Sentry, atau apa pun yang bisa mengirim POST JSON. Panggilan tiba, tanda tangan diverifikasi, payload menjadi variabel di prompt Anda, dan agen sungguhan mulai di proyek Anda, lengkap dengan terminal dan transkripnya.
Satu pemicu, satu URL publik. Event tiba, tanda tangan diperiksa, payload menjadi variabel prompt, dan agen mulai di proyek Anda.
Tugas Terjadwal menyelesaikan separuh masalah. Anda sudah bisa meminta agen meninjau pull request setiap pagi pukul 8. Tapi sebagian besar pekerjaan yang ingin Anda serahkan ke agen tidak terjadi pukul 8, melainkan saat seseorang membuka pull request, saat build berubah merah, saat seorang pelanggan melaporkan bug pukul 2 siang.
Sampai sekarang, satu-satunya cara menangkap itu adalah menyuruh agen mengawasi: jalankan dia pada jadwal rapat, suruh dia melakukan polling ke API, bertanya 'ada yang baru?', dan bayar token untuk jawaban 'tidak' beberapa ratus kali sehari. Itu mahal, reaksinya lambat, dan skalanya buruk begitu Anda ingin mengawasi tiga repositori.
Pemicu webhook membalik arahnya. Layanan itulah yang memberi tahu Anda. AgentsRoom memberi Anda sebuah URL, Anda menempelkannya ke GitHub, GitLab, Slack, Linear, Sentry, atau CI Anda, dan tidak ada yang berjalan sampai layanan itu memanggil. Saat ia memanggil, agen mulai dengan event yang sudah ada di dalam promptnya. Nol token saat hari sedang sepi, dan agen turun tangan dalam hitungan detik saat hari sedang tidak sepi.
Mengapa sebuah event mengalahkan putaran polling
Anda berhenti membayar keheningan. Agen yang memeriksa repositori setiap lima menit membakar satu putaran konteks penuh setiap lima menit, dan hampir semua putaran itu tidak menemukan apa-apa. Sebuah pemicu tidak memakan apa pun sampai event tiba.
Reaksinya langsung. Tidak ada interval yang perlu disetel, tidak ada jeda di mana sebuah pull request menganggur sebelas menit karena polling baru saja lewat. Agen mulai begitu panggilan datang, jadi tinjauannya sudah menunggu saat penulisnya menyegarkan halaman.
Event datang lengkap dengan datanya. Payload diurai menjadi variabel yang Anda jatuhkan langsung ke prompt: judul, penulis, URL, nomor, branch, atau seluruh JSON mentah. Agen tidak perlu pergi mengambil sendiri apa yang memicunya.
Ini panel yang sudah Anda kenal. Pemicu tetap punya daftar, tombol hidup dan mati, riwayat per jalankan, pemilih agen, dan cakupan per mesin milik tugas terjadwal. Sebuah webhook hanyalah jawaban lain untuk 'kapan ini terpicu'.
Satu pemicu, dua cara untuk terpicu
Panelnya memuat keduanya. Pilih yang cocok dengan apa yang Anda tunggu.
Terjadwal
Mode aslinya, tidak berubah. Setiap N menit, per jam, harian, mingguan, atau bulanan, tanpa ekspresi cron yang perlu ditulis. Untuk pekerjaan yang memang milik jam dinding: tinjauan pagi, pemeriksaan dependensi hari Senin, changelog hari Jumat.
Webhook
Agen menunggu sebuah event alih-alih sebuah jam. AgentsRoom memberi Anda URL publik dan rahasia penandatanganan, Anda menempelkan URL itu ke layanan, dan pemicu terpicu saat layanan itu mengirim POST. Untuk pekerjaan yang memang milik sesuatu yang terjadi: sebuah pull request, sebuah build yang gagal, sebuah laporan bug baru.
Apa yang perlu dipicu
Event nyata, dan agen yang Anda inginkan di ujung sana.
Tinjau setiap pull request begitu dibuka
Arahkan webhook GitHub atau GitLab ke pemicu, filter pada pull request yang dibuka, dan agen peninjau langsung menggarap diff dalam hitungan detik. Penulisnya mendapat masukan selagi perubahan itu masih segar di kepalanya.
Selidiki build merah secara otomatis
CI Anda bisa mengirim POST saat sebuah pipeline gagal. Pemicu menjalankan agen dengan branch dan URL jalankan di dalam promptnya, jadi ia membaca job yang gagal dan kembali membawa penyebabnya, bukan sekadar lencana merah.
Triase sebuah crash begitu dilaporkan
Sambungkan sebuah peringatan Sentry ke pemicu. Eksepsi baru di produksi menjalankan agen backend dengan judul error dan URL tiketnya, jadi tatapan pertama ke stack trace terjadi sebelum ada orang yang membuka dashboard.
Jalankan agen dari Slack
Sebuah slash command Slack atau webhook keluar bisa memanggil URL pemicu. Seseorang mengetik permintaannya di sebuah kanal, payload mendarat di prompt, dan agen mengambilnya di proyek yang tepat.
Bingkai tiket baru begitu ia dibuat
Sebuah tiket yang dibuat di GitHub, GitLab, atau Linear menjalankan agen produk yang membaca laporannya, menanyakan hal-hal yang masih kurang, dan mengubahnya menjadi sesuatu yang bisa dikerjakan seorang pengembang.
Jalankan satu putaran QA setelah setiap deploy
Pipeline deploy Anda mengirim POST saat sebuah rilis keluar. Pemicu menjalankan agen QA yang menguji aplikasi pada versi yang baru saja dirilis, alih-alih pada jadwal yang tidak ada hubungannya dengan rilis.
Tulis catatan rilis saat ada tag
Sebuah tag didorong, sebuah rilis diterbitkan, dan agen dokumentasi mengubah commit menjadi catatan yang enak dibaca. Event membawa nama tag-nya, jadi agen tahu persis rentang mana yang harus dirangkum.
Apa pun yang bisa mengirim POST JSON
Tidak ada daftar integrasi yang perlu ditunggu. Sebuah cron di server, satu langkah Zapier, sebuah alat monitoring, backend Anda sendiri: kalau ia bisa mengirim POST bertanda tangan ke sebuah URL, ia bisa menjalankan agen di proyek Anda.
Cara kerja pemicu webhook, langkah demi langkah
Dari formulir kosong menjadi agen yang bereaksi terhadap produksi, dalam beberapa menit.
Buat sebuah pemicu
Buka panel Pemicu pada proyek Anda dan buat satu yang baru. Daftar yang sama, tombol hidup dan mati yang sama, riwayat yang sama seperti tugas terjadwal, karena ini panel yang sama.
Ubah ke mode Webhook
Pilih Webhook alih-alih Terjadwal. AgentsRoom membuat URL publik untuk pemicu ini beserta rahasia penandatanganan di sebelahnya. Rahasia itu bisa dibuat ulang kapan pun Anda ingin memutus akses siapa pun yang memegang yang lama.
Tempelkan URL ke layanan
Taruh di webhook GitHub atau GitLab, sebuah aplikasi Slack, integrasi Linear atau Sentry, atau CI Anda. Berikan juga rahasia penandatanganan itu ke layanan tersebut, supaya panggilan yang ia kirim bisa diverifikasi.
Saring apa yang memang layak terpicu
Sebuah repositori mengirim banyak sekali event. Tambahkan kondisi opsional pada payload, misalnya action sama dengan opened, dan sisanya diabaikan. Pasang batas lonjakan supaya layanan yang berisik tidak menjalankan dua puluh agen dalam satu menit.
Masukkan event ke dalam prompt Anda
Tulis prompt dengan variabel event: judul, penulis, URL, nomor, branch, atau seluruh payload. Semuanya terisi saat pemicu terpicu, persis seperti variabel tanggal dan waktu yang sudah didukung tugas terjadwal.
Putar ulang panggilan terakhir, lalu nyalakan
Editor menampilkan panggilan terakhir yang diterima pemicu, termasuk JSON mentahnya, dan memutarnya ulang dengan satu klik. Anda memasang webhook sambil melihatnya, bukan sambil menebak, dan begitu sudah benar Anda menyalakan pemicunya.

Deretan layanan itu adalah kumpulan jalan pintas, bukan daftar yang diizinkan. Editor menyatakannya tepat di bawah pemilih, dan itulah sebabnya entri pertamanya adalah Any service (JSON): apa pun yang bisa mengirim POST dengan body JSON akan bekerja. Memilih GitHub, GitLab, Slack, Linear, atau Sentry menambahkan tepat dua hal, header tanda tangannya sendiri untuk diverifikasi dan field payload-nya yang sudah dipetakan ke variabel event. Tidak ada yang ditolak hanya karena tidak ada di dalam daftar.
Chip variabel itu bukan dokumentasi, melainkan tombol: klik salah satunya untuk menyisipkannya ke prompt, dan yang benar-benar terisi oleh panggilan terakhir akan disorot. Di bawahnya ada panggilan terakhir yang diterima pemicu, jadi Anda menulis filter dan prompt terhadap payload sungguhan yang bisa Anda lihat, memutarnya ulang, dan baru menyalakan pemicunya begitu jalankannya keluar dengan benar.
- Event tiba di URL pemicu Anda
Layanan mengirim POST berisi JSON-nya. AgentsRoom memeriksa tanda tangan terhadap rahasia Anda dan menolak apa pun yang tidak ditandatangani, lalu menerapkan filter Anda jika Anda memasangnya.
- Ia menunggu jika tidak ada yang hadir
Mesin Anda boleh saja mati. Event ditahan hingga satu minggu dan diputar ulang pada peluncuran berikutnya alih-alih dibuang, model penyusulan yang sama seperti yang sudah dipakai tugas terjadwal.
- Satu mesin mengambilnya, dan hanya satuMac kantorMac rumahMesin build
Jika beberapa komputer membuka proyek yang sama, komputer pertama yang mengambil event itu menguncinya. Yang lain melihat event sudah diambil lalu melewatinya, jadi satu event tidak pernah menghasilkan dua agen.
- Agen berjalan, satu kali
Agen sungguhan terbuka di proyek, dengan peran, penyedia, dan model yang Anda pilih, terminalnya sendiri, tampilan percakapannya, dan transkrip terarsip yang bisa Anda baca kembali nanti.
URL publik yang bukan pintu terbuka
URL ini bisa dijangkau dari internet, jadi pemicu memutuskan apa yang ia terima sebelum ada apa pun yang dimulai.
Setiap panggilan ditandatangani
AgentsRoom memverifikasi setiap panggilan terhadap rahasia Anda sebelum ada apa pun yang dimulai: X-Hub-Signature-256 untuk GitHub, X-Slack-Signature untuk Slack, token bersama X-Gitlab-Token untuk GitLab, dan HMAC biasa atas body mentah untuk Linear, Sentry, dan sumber generik. Panggilan tanpa tanda tangan ditolak, jadi mengetahui URL saja tidak cukup untuk menjalankan agen di mesin Anda.
Ganti rahasianya kapan pun Anda mau
Rahasia penandatanganan ditampilkan di editor dan bisa dibuat ulang di tempat. Panggilan lama langsung berhenti lolos verifikasi, dan itulah yang Anda inginkan pada hari sebuah layanan dimatikan atau sebuah rahasia bocor ke dalam log.
Filter pada payload
Sebuah kondisi opsional memutuskan apakah event itu layak mendapat agen. Terpicu hanya jika action sama dengan opened, hanya pada satu branch, hanya untuk satu label. Semua yang tidak cocok dibuang tanpa menjalankan apa pun.
Perlindungan lonjakan
Paling banyak satu jalankan per jendela waktu. Layanan yang mengirim tiga puluh event dalam sepuluh detik tidak menjalankan tiga puluh agen: panggilan di dalam jendela itu dikelompokkan dan satu jalankan mencakup semuanya.
Payload menjadi prompt Anda
JSON yang dikirim layanan diurai menjadi variabel yang Anda tulis langsung ke dalam prompt. Semuanya terisi saat pemicu terpicu, seperti variabel tanggal dan waktu yang sudah dipakai tugas terjadwal.
Tulis promptnya sekali, dan setiap jalankan menerima data dari event yang memicunya.
{{event.title}}Judul event: judul pull request, judul tiket, nama peringatan.{{event.author}}Siapa yang menyebabkannya: penulis pull request, orang yang membuka tiket.{{event.url}}Tautan kembali ke event, supaya agen bisa membuka pull request atau peringatannya.{{event.number}}Nomor pull request atau tiket, jika layanan mengirimkannya.{{event.branch}}Branch yang terkait dengan event, untuk sebuah push, sebuah pull request, atau build yang gagal.{{payload}}Seluruh JSON mentah, untuk apa pun yang tidak tercakup oleh variabel bernama.
Review pull request #{{event.number}} "{{event.title}}" opened by {{event.author}} on branch {{event.branch}}. Read the diff at {{event.url}} and reply with the risky parts first.Nama variabel ditulis di antara kurung kurawal ganda pada field prompt, persis seperti variabel tanggal dan waktu pada tugas terjadwal.
event.actionevent.numberevent.titleevent.bodyevent.authorevent.branchevent.baseevent.urlevent.repositoryevent.stateevent.actionevent.numberevent.titleevent.bodyevent.authorevent.branchevent.baseevent.urlevent.repositoryevent.stateevent.actionevent.titleevent.bodyevent.authorevent.channelevent.urlevent.teamevent.actionevent.numberevent.titleevent.bodyevent.authorevent.assigneeevent.stateevent.priorityevent.urlevent.teamevent.actionevent.titleevent.bodyevent.levelevent.projectevent.urlevent.countevent.actionevent.titleevent.bodyevent.authorevent.urlevent.idApa yang benar-benar berjalan, dan di mana
Model eksekusi jujur yang sama seperti tugas terjadwal, diperluas ke event.
Dari mana event datang
Apa pun yang bisa mengirim POST bertanda tangan dengan body JSON bisa menjalankan agen. Ini yang paling dulu dipasang orang.
CI Anda, backend Anda, apa pun
Satu langkah pipeline, sebuah alat monitoring, sebuah layanan internal, sebuah skrip shell dengan curl. Tidak ada integrasi yang perlu diminta: sebuah POST dengan body JSON dan sebuah tanda tangan, itu seluruh kontraknya.
GitHub dan GitLab
Pull request dan merge request yang dibuka, ditinjau, atau digabung, tiket yang dibuat, push, rilis, workflow yang gagal. Sumber klasik, dan yang payload-nya paling berguna.
Slack
Sebuah slash command atau webhook keluar mengubah pesan di sebuah kanal menjadi jalankan agen di proyek yang tepat. Tanda tangan Slack diverifikasi dengan X-Slack-Signature.
Linear dan Sentry
Sebuah tiket yang dipindahkan ke kolom lain, eksepsi baru di produksi, sebuah peringatan regresi. Alat pelacaknya terpicu, agen mulai dengan tiket atau errornya di dalam prompt.
Separuh lain dari panel yang sama
Pemicu dan tugas terjadwal adalah satu fitur dengan dua jawaban atas pertanyaan yang sama. Tugas terjadwal adalah pemicu yang eventnya berupa jam. Pemicu webhook adalah tugas terjadwal yang jadwalnya adalah dunia luar. Keduanya hidup di daftar yang sama, berbagi konfigurasi agen yang sama, tombol aktif yang sama, riwayat jalankan yang sama, dan cakupan per mesin yang sama.
Jadi Anda memilih per pekerjaan, bukan per alat. Audit dependensi tetap pada Senin pagi, karena tidak ada apa pun di luar sana yang mengumumkan bahwa sebuah paket sudah usang. Tinjauan pull request pindah ke webhook, karena GitHub sudah tahu persis pada detik keberapa hal itu harus terjadi. Baca halaman Tugas Terjadwal untuk sisi jam dinding dari keluarga ini.
Lihat Tugas Terjadwal, sisi jam dinding dari panel yang samaFAQ
Apa itu pemicu webhook di AgentsRoom?
Ini adalah pemicu yang menjalankan agen AI saat sebuah layanan eksternal mengirimkan event kepadanya, bukan pada waktu yang ditentukan. AgentsRoom memberi pemicu itu URL publik dan rahasia penandatanganan; Anda menempelkan URL tersebut ke GitHub, GitLab, Slack, Linear, Sentry, atau alat apa pun yang bisa mengirim POST JSON. Saat layanan itu memanggil, tanda tangan diverifikasi, filter opsional Anda diterapkan, dan sebuah agen mulai di proyek Anda dengan payload yang sudah tersedia sebagai variabel prompt.
Apa bedanya ini dengan tugas terjadwal?
Hanya pertanyaan 'kapan ini terpicu' yang berubah. Tugas terjadwal terpicu oleh jam: setiap N menit, per jam, harian, mingguan, atau bulanan. Pemicu webhook terpicu oleh event dari luar. Selebihnya sama persis: daftar yang sama, tombol hidup dan mati yang sama, konfigurasi agen yang sama, riwayat per jalankan yang sama, cakupan per mesin yang sama.
Kenapa tidak menyuruh agen melakukan polling ke API saja?
Karena polling memakan token pada setiap putaran, dan hampir setiap putaran tidak menemukan apa-apa. Agen yang memeriksa repositori setiap lima menit menjalankan satu putaran penuh setiap lima menit hanya untuk menjawab 'tidak'. Pemicu webhook tidak memakan apa pun selama tidak terjadi apa-apa, dan bereaksi dalam hitungan detik saat sesuatu terjadi. Itulah seluruh alasan ekonomis di balik fitur ini.
Apakah aman mengekspos URL pemicu?
URL saja tidak cukup untuk menjalankan apa pun. Setiap panggilan harus membuktikan bahwa ia datang dari layanan yang memegang rahasia Anda: X-Hub-Signature-256 untuk GitHub, X-Slack-Signature untuk Slack, token bersama X-Gitlab-Token untuk GitLab, HMAC biasa atas body mentah untuk Linear, Sentry, dan sumber generik. Panggilan tanpa header tanda tangan ditolak, tidak pernah diloloskan begitu saja. Rahasianya ditampilkan di editor dan bisa dibuat ulang kapan saja, yang langsung membatalkan apa pun yang masih memakai rahasia lama.
Bisakah saya memicu hanya pada sebagian event?
Bisa. Sebuah repositori mengirim jauh lebih banyak event daripada yang pantas mendapat agen, jadi sebuah pemicu menerima kondisi opsional pada payload, misalnya action sama dengan opened. Event yang tidak cocok diabaikan dan tidak ada yang dijalankan. Ada juga batas lonjakan: paling banyak satu jalankan per jendela waktu, dengan panggilan yang tiba di dalam jendela itu dikelompokkan jadi satu.
Apa yang terjadi jika AgentsRoom tertutup saat event tiba?
Event itu masuk antrean di server dan diputar ulang saat berikutnya Anda meluncurkan aplikasi, jadi ia berjalan terlambat, bukan tidak pernah. Event dalam antrean ditahan selama satu minggu, yang cukup menampung laptop yang tertutup sepanjang akhir pekan panjang tanpa memutar ulang pekerjaan usang sebulan penuh saat Anda kembali. Ini model dalam aplikasi plus penyusulan yang sama seperti yang dipakai tugas terjadwal. Pemicu webhook tidak menjalankan agen Anda di cloud: agen selalu berjalan di mesin Anda, di proyek Anda.
Proyek saya terbuka di dua komputer. Apakah agennya akan berjalan dua kali?
Tidak. Sebuah event hanya dikonsumsi satu kali. Mesin pertama yang mengambilnya akan menguncinya, dan yang lain melihat event itu sudah diambil lalu melewatinya. Anda juga bisa menyematkan sebuah pemicu ke mesin tertentu, persis seperti tugas terjadwal, jika Anda ingin komputer tertentu yang memegangnya.
Apa saja yang bisa saya masukkan ke prompt dari event?
Payload diurai menjadi variabel yang Anda tulis langsung ke field prompt, di antara kurung kurawal ganda: event.title, event.author, event.url, event.number, event.branch, dan payload untuk seluruh JSON mentah. Semuanya terisi saat pemicu terpicu, sama seperti variabel tanggal dan waktu pada tugas terjadwal.
Bagaimana saya tahu webhook saya sudah terpasang dengan benar?
Editor menampilkan panggilan terakhir yang diterima pemicu, termasuk body JSON mentahnya, dan memungkinkan Anda memutarnya ulang dengan satu klik. Jadi Anda menyetel filter dan prompt terhadap payload sungguhan yang bisa Anda lihat, lalu memutarnya ulang sampai jalankannya benar, alih-alih mendorong commit uji coba untuk mencari tahu.
Layanan apa saja yang didukung?
Layanan apa pun yang bisa mengirim POST bertanda tangan dengan body JSON. GitHub, GitLab, Slack, Linear, dan Sentry adalah yang paling dulu dipasang orang karena payload mereka kaya, tapi tidak ada daftar tertutup: sebuah job CI, alat monitoring, backend Anda sendiri, atau sebuah curl di dalam skrip shell bekerja persis sama.
Apakah ini pembangun otomasi visual dengan skenario banyak langkah?
Bukan, dan memang bukan itu tujuannya. Sebuah pemicu punya satu tugas: memutuskan kapan agen mulai dan menyerahkan event kepadanya. Bagian banyak langkahnya ada pada agen itu sendiri, yang membaca kode, menjalankan alat, dan mengerjakan pekerjaannya. Kalau Anda ingin beberapa agen saling meneruskan pekerjaan, itu urusan Tim Agen, bukan kanvas skenario.
Bisakah AgentsRoom mengirim webhook keluar ke layanan lain?
Pemicu hanya bersifat masuk: AgentsRoom menerima event, bukan memancarkannya. Kalau Anda ingin sebuah agen memanggil layanan eksternal di akhir jalankan, itu tugas agen itu sendiri, dengan alat dan server MCP yang Anda berikan kepadanya.
Cocok dipadukan dengan
Tugas Terjadwal
Sisi jam dinding dari panel yang sama. Setiap N menit, per jam, harian, mingguan, atau bulanan, tanpa ekspresi cron yang perlu ditulis.
Papan Tugas Backlog
Seret sebuah tiket ke kolom dan agen mengambilnya. Sebuah pemicu melakukan hal yang sama, hanya saja event dari luar yang menyeretnya.
Tim Agen
Agen Dev, QA, dan PM yang saling meneruskan pekerjaan. Arahkan sebuah pemicu ke sebuah tim dan satu event menjalankan seluruh rutinitasnya.
AgentsRoom MCP
Alat yang dipakai agen untuk membaca backlog, memori, dan pustaka prompt. Agen yang dipicu mendapatkannya seperti agen lain.
Notifikasi Agen
Tahu persis saat sebuah pemicu terpicu, di desktop dan di ponsel Anda, dengan satu ketukan untuk membuka agen yang ia jalankan.
Fleet Jarak Jauh
Beberapa mesin dalam satu akun. Sematkan sebuah pemicu ke mesin yang harus menjawabnya, dan hanya mesin itu yang menjalankan agennya.
Berhenti melakukan polling. Mulailah bereaksi.
Unduh AgentsRoom, tempelkan satu URL ke GitHub, GitLab, Slack, Linear, atau Sentry, dan biarkan event yang menjalankan agennya. Tidak ada yang berjalan selama tidak terjadi apa-apa.
Aplikasi pendamping: pantau agen Anda saat bepergian
Gunakan Claude, Codex, Antigravity CLI, atau penyedia AI lainnya.
Kirim bug dan permintaan langsung ke backlog publik Anda.
Sekilas AgentsRoom dalam aksi.