Je agent start wanneer
er echt iets gebeurt
Een trigger beantwoordt één vraag: wanneer start deze agent? Een geplande taak antwoordt met een tijdstip. Een webhook-trigger antwoordt met een gebeurtenis uit de buitenwereld. Een pull request gaat open, een build breekt, een alarm gaat af, en de agent draait al.
AgentsRoom geeft elke trigger een openbare URL en een ondertekeningsgeheim. Plak de URL in GitHub, GitLab, Slack, Linear, Sentry of alles wat een POST met JSON kan sturen. De aanroep komt binnen, de handtekening wordt geverifieerd, de payload wordt variabelen in je prompt, en een echte agent start in je project, met zijn terminal en zijn transcript.
Eén trigger, één openbare URL. De gebeurtenis komt binnen, de handtekening wordt gecontroleerd, de payload wordt promptvariabelen, en een agent start in je project.
Geplande taken losten de helft van het probleem op. Je kunt een agent al elke ochtend om 8 uur pull requests laten beoordelen. Maar het meeste werk dat je aan een agent zou geven, gebeurt niet om 8 uur: het gebeurt wanneer iemand een pull request opent, wanneer de build op rood springt, wanneer een klant om 2 uur 's middags een bug meldt.
Tot nu toe was de enige manier om dat op te vangen een agent laten opletten: hem op een kort interval draaien, de API laten peilen, laten vragen 'nog iets nieuws?', en tokens betalen voor het antwoord 'nee', een paar honderd keer per dag. Dat is duur, het reageert traag, en het schaalt slecht zodra je drie repositories wilt bewaken.
Een webhook-trigger draait dat om. De dienst waarschuwt jou. AgentsRoom geeft je een URL, je plakt die in GitHub, GitLab, Slack, Linear, Sentry of je CI, en er draait niets tot die dienst aanroept. Als hij aanroept, start de agent met de gebeurtenis al in zijn prompt. Nul tokens als de dag rustig is, binnen enkele seconden een agent op de zaak als dat niet zo is.
Waarom een gebeurtenis het wint van een peilende lus
Je stopt met betalen voor stilte. Een agent die elke vijf minuten een repository controleert, verbruikt elke vijf minuten een volledige contextbeurt, en bijna elke beurt vindt niets. Een trigger verbruikt helemaal niets tot de gebeurtenis binnenkomt.
De reactie is onmiddellijk. Geen interval om af te stellen, geen venster waarin een pull request elf minuten blijft liggen omdat de controle net voorbij is. De agent start op de aanroep, dus de beoordeling staat er al als de auteur zijn pagina ververst.
De gebeurtenis brengt zijn eigen gegevens mee. De payload wordt omgezet in variabelen die je rechtstreeks in de prompt zet: de titel, de auteur, de URL, het nummer, de branch, of de volledige ruwe JSON. De agent hoeft niet eerst te gaan ophalen waardoor hij is gestart.
Het is hetzelfde paneel dat je al kent. Triggers behouden de lijst, de aan/uit-schakelaar, de geschiedenis per uitvoering, de agentkeuze en de reikwijdte per machine van geplande taken. Een webhook is gewoon een ander antwoord op 'wanneer gaat dit af'.
Eén trigger, twee manieren om af te gaan
Het paneel draagt beide. Kies degene die past bij waar je op wacht.
Gepland
De oorspronkelijke modus, ongewijzigd. Elke N minuten, elk uur, dagelijks, wekelijks of maandelijks, zonder cron-expressie om te schrijven. Voor werk dat bij een klok hoort: de ochtendbeoordeling, de afhankelijkheidscontrole op maandag, de changelog op vrijdag.
Webhook
De agent wacht op een gebeurtenis in plaats van op een tijdstip. AgentsRoom geeft je een openbare URL en een ondertekeningsgeheim, je plakt de URL in de dienst, en de trigger gaat af zodra die dienst een POST stuurt. Voor werk dat hoort bij iets wat gebeurt: een pull request, een mislukte build, een nieuwe bugmelding.
Wat je kunt triggeren
Echte gebeurtenissen, en de agent die je aan de andere kant zou willen.
Beoordeel elke pull request zodra hij opengaat
Richt een GitHub- of GitLab-webhook op de trigger, filter op het openen van de pull request, en een reviewer-agent duikt binnen enkele seconden in de diff. De auteur krijgt feedback terwijl de wijziging nog vers in zijn hoofd zit.
Onderzoek een rode build automatisch
Je CI kan een POST sturen wanneer een pipeline faalt. De trigger start een agent met de branch en de URL van de uitvoering in zijn prompt, zodat hij de mislukte job leest en met een oorzaak terugkomt in plaats van met een rode badge.
Triageer een crash op het moment dat hij wordt gemeld
Koppel een Sentry-alarm aan een trigger. Een nieuwe uitzondering in productie start een backend-agent met de titel van de fout en de URL van de issue, zodat de eerste blik op de stack trace gebeurt voordat iemand het dashboard opent.
Start een agent vanuit Slack
Een Slack-slashcommando of een uitgaande webhook kan de trigger-URL aanroepen. Iemand typt het verzoek in een kanaal, de payload komt in de prompt terecht, en de agent pakt het op in het juiste project.
Baken een nieuwe issue af zodra hij is ingediend
Een issue die op GitHub, GitLab of Linear wordt aangemaakt, start een productagent die de melding leest, de ontbrekende vragen stelt en er iets van maakt dat een ontwikkelaar kan oppakken.
Draai een QA-ronde na elke deployment
Je deploypipeline stuurt een POST wanneer een release uitgaat. De trigger start een QA-agent die de app test tegen de versie die net is uitgeleverd, in plaats van op een schema dat niets met releases te maken heeft.
Schrijf de release-opmerkingen bij een tag
Een tag gepusht, een release gepubliceerd, en een documentatie-agent maakt van de commits leesbare opmerkingen. De gebeurtenis draagt de naam van de tag, dus de agent weet precies welk bereik hij moet samenvatten.
Alles wat JSON kan POSTen
Er is geen integratielijst om op te wachten. Een cron op een server, een Zapier-stap, een monitoringtool, je eigen backend: als het een ondertekende POST naar een URL kan sturen, kan het een agent in je project starten.
Hoe een webhook-trigger werkt, stap voor stap
Van een leeg formulier naar een agent die op productie reageert, in een paar minuten.
Maak een trigger aan
Open het paneel Triggers op je project en maak er een nieuwe aan. Dezelfde lijst, dezelfde aan/uit-schakelaar, dezelfde geschiedenis als bij een geplande taak, want het is hetzelfde paneel.
Zet hem op Webhook
Kies Webhook in plaats van Gepland. AgentsRoom genereert een openbare URL voor deze trigger en zet er een ondertekeningsgeheim naast. Het geheim kun je opnieuw genereren wanneer je maar wilt, om wie het oude had de toegang af te snijden.
Plak de URL in de dienst
Zet hem in een GitHub- of GitLab-webhook, een Slack-app, een Linear- of Sentry-integratie, of je CI. Geef de dienst ook het ondertekeningsgeheim, zodat de aanroepen die hij stuurt geverifieerd kunnen worden.
Filter wat er echt af moet gaan
Een repository stuurt veel gebeurtenissen. Voeg een optionele voorwaarde op de payload toe, bijvoorbeeld action gelijk aan opened, en al het andere wordt genegeerd. Stel een burstlimiet in zodat een luidruchtige dienst niet twintig agents in een minuut kan starten.
Zet de gebeurtenis in je prompt
Schrijf de prompt met de variabelen van de gebeurtenis: de titel, de auteur, de URL, het nummer, de branch, of de volledige payload. Ze worden ingevuld wanneer de trigger afgaat, precies zoals de datum- en tijdvariabelen die geplande taken al ondersteunen.
Speel de laatste aanroep opnieuw af en zet hem live
De editor toont de laatste aanroep die de trigger heeft ontvangen, inclusief de ruwe JSON, en speelt hem met één klik opnieuw af. Je bedraadt een webhook door ernaar te kijken, niet door te gokken, en zodra het klopt zet je de trigger aan.

De rij met diensten is een set snelkoppelingen, geen toegestane lijst. De editor zegt dat zelf onder de kiezer, en daarom is de eerste ingang Any service (JSON): alles wat een JSON-body kan POSTen werkt. GitHub, GitLab, Slack, Linear of Sentry kiezen voegt precies twee dingen toe: de eigen handtekeningheader om te verifiëren, en de payloadvelden die al aan de gebeurtenisvariabelen zijn gekoppeld. Niets wordt geweigerd omdat het niet in de lijst staat.
De variabelechips zijn geen documentatie, het zijn knoppen: klik erop om er een in de prompt te zetten, en de chips die de laatste aanroep echt heeft ingevuld worden gemarkeerd. Daaronder staat de laatste aanroep die de trigger heeft ontvangen, zodat je het filter en de prompt schrijft tegen een echte payload die je kunt zien, hem opnieuw afspeelt, en de trigger pas aanzet zodra de uitvoering goed uitkomt.
- De gebeurtenis komt binnen op je trigger-URL
De dienst stuurt zijn JSON via POST. AgentsRoom controleert de handtekening tegen je geheim en weigert alles wat niet ondertekend is, en past daarna je filter toe als je er een hebt ingesteld.
- Hij wacht als er niemand is
Je machine mag uit staan. De gebeurtenis wordt tot een week lang vastgehouden en bij de volgende start opnieuw afgespeeld in plaats van weggegooid, hetzelfde inhaalmodel dat geplande taken al gebruiken.
- Eén machine pakt hem, en maar éénKantoor-MacThuis-MacBuildmachine
Als meerdere computers het project open hebben, vergrendelt de eerste die de gebeurtenis oppakt hem. De anderen zien dat hij bezet is en gaan verder, zodat één gebeurtenis nooit twee agents oplevert.
- De agent draait, één keer
Een echte agent opent in het project, met de rol, provider en het model die je hebt gekozen, zijn eigen terminal, zijn gespreksweergave en een gearchiveerd transcript dat je later kunt teruglezen.
Een openbare URL die geen open deur is
De URL is bereikbaar vanaf het internet, dus de trigger bepaalt wat hij accepteert voordat er iets start.
Elke aanroep is ondertekend
AgentsRoom verifieert elke aanroep tegen je geheim voordat er iets start: X-Hub-Signature-256 voor GitHub, X-Slack-Signature voor Slack, het gedeelde token X-Gitlab-Token voor GitLab, en een gewone HMAC van de ruwe body voor Linear, Sentry en generieke bronnen. Een aanroep zonder handtekening wordt geweigerd, dus de URL kennen is niet genoeg om een agent op jouw machine te starten.
Vernieuw het geheim wanneer je wilt
Het ondertekeningsgeheim staat in de editor en kan ter plekke opnieuw worden gegenereerd. Oude aanroepen zijn onmiddellijk niet meer geldig, precies wat je wilt op de dag dat een dienst wordt uitgezet of een geheim in een log lekt.
Filter op de payload
Een optionele voorwaarde bepaalt of de gebeurtenis een agent verdient. Alleen afgaan als action gelijk is aan opened, alleen op één branch, alleen voor één label. Alles wat niet overeenkomt wordt weggegooid zonder dat er iets wordt gestart.
Burstbeveiliging
Hoogstens één uitvoering per tijdvenster. Een dienst die dertig gebeurtenissen in tien seconden stuurt, start geen dertig agents: de aanroepen binnen het venster worden gegroepeerd en één uitvoering dekt ze.
De payload wordt je prompt
De JSON die de dienst stuurt, wordt omgezet in variabelen die je rechtstreeks in de prompt schrijft. Ze worden ingevuld op het moment dat de trigger afgaat, zoals de datum- en tijdvariabelen die geplande taken al gebruiken.
Je schrijft de prompt één keer, en elke uitvoering krijgt de gegevens van de gebeurtenis die hem heeft gestart.
{{event.title}}De titel van de gebeurtenis: de titel van de pull request, de titel van de issue, de naam van het alarm.{{event.author}}Wie hem heeft veroorzaakt: de auteur van de pull request, de persoon die de issue heeft geopend.{{event.url}}De link terug naar de gebeurtenis, zodat de agent de pull request of het alarm kan openen.{{event.number}}Het nummer van de pull request of de issue, wanneer de dienst er een meestuurt.{{event.branch}}De branch waar de gebeurtenis over gaat, bij een push, een pull request of een mislukte build.{{payload}}De volledige ruwe JSON, voor alles wat de benoemde variabelen niet dekken.
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.De namen van de variabelen schrijf je tussen dubbele accolades in het promptveld, precies zoals de datum- en tijdvariabelen van een geplande taak.
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.idWat er echt draait, en waar
Hetzelfde eerlijke uitvoeringsmodel als bij geplande taken, uitgebreid naar gebeurtenissen.
Waar de gebeurtenissen vandaan komen
Alles wat een ondertekende POST met een JSON-body kan sturen, kan een agent starten. Dit zijn de bronnen die mensen als eerste aansluiten.
Je CI, je backend, wat dan ook
Een pipelinestap, een monitoringtool, een interne dienst, een shellscript met curl. Er is geen integratie om aan te vragen: een POST met een JSON-body en een handtekening, dat is het hele contract.
GitHub en GitLab
Pull requests en merge requests die worden geopend, beoordeeld of gemerged, aangemaakte issues, pushes, releases, mislukte workflows. De klassieke bron, en die met de nuttigste payload.
Slack
Een slashcommando of een uitgaande webhook maakt van een bericht in een kanaal een agentuitvoering in het juiste project. Slack-handtekeningen worden geverifieerd met X-Slack-Signature.
Linear en Sentry
Een issue die naar een andere kolom verhuist, een nieuwe uitzondering in productie, een regressiealarm. De tracker gaat af, de agent start met het ticket of de fout in zijn prompt.
De andere helft van hetzelfde paneel
Triggers en geplande taken zijn één functie met twee antwoorden op dezelfde vraag. Een geplande taak is een trigger waarvan de gebeurtenis een klok is. Een webhook-trigger is een geplande taak waarvan het schema de buitenwereld is. Ze staan in dezelfde lijst en delen dezelfde agentconfiguratie, dezelfde aan/uit-schakelaar, dezelfde uitvoeringsgeschiedenis en dezelfde reikwijdte per machine.
Je kiest dus per klus in plaats van per tool. De afhankelijkheidscontrole blijft op maandagochtend, want niets buiten kondigt aan dat een pakket verouderd is. De beoordeling van pull requests gaat naar een webhook, want GitHub weet al op welke seconde die moet gebeuren. Lees de pagina over geplande taken voor de klokkant van de familie.
Bekijk Geplande taken, de klokkant van hetzelfde paneelFAQ
Wat is een webhook-trigger in AgentsRoom?
Het is een trigger die een AI-agent start wanneer een externe dienst hem een gebeurtenis stuurt, in plaats van op een vast tijdstip. AgentsRoom geeft de trigger een openbare URL en een ondertekeningsgeheim; je plakt de URL in GitHub, GitLab, Slack, Linear, Sentry of elke tool die JSON kan POSTen. Wanneer die dienst aanroept, wordt de handtekening geverifieerd, wordt je optionele filter toegepast, en start er een agent in je project met de payload al beschikbaar als promptvariabelen.
Hoe verschilt dit van een geplande taak?
Alleen de vraag 'wanneer gaat dit af' verandert. Een geplande taak gaat af op een klok: elke N minuten, elk uur, dagelijks, wekelijks of maandelijks. Een webhook-trigger gaat af op een gebeurtenis van buiten. Al het andere is gedeeld: dezelfde lijst, dezelfde aan/uit-schakelaar, dezelfde agentconfiguratie, dezelfde geschiedenis per uitvoering, dezelfde reikwijdte per machine.
Waarom laat ik een agent niet gewoon de API peilen?
Omdat peilen bij elke ronde tokens kost, en bijna elke ronde niets vindt. Een agent die elke vijf minuten een repository controleert, draait elke vijf minuten een volledige beurt om 'nee' te antwoorden. Een webhook-trigger verbruikt niets zolang er niets gebeurt, en reageert binnen enkele seconden als er wel iets gebeurt. Dat is het hele economische argument voor deze functie.
Is het veilig om de trigger-URL bloot te stellen?
De URL alleen is niet genoeg om iets te starten. Elke aanroep moet bewijzen dat hij komt van de dienst die jouw geheim heeft: X-Hub-Signature-256 voor GitHub, X-Slack-Signature voor Slack, het gedeelde token X-Gitlab-Token voor GitLab, een gewone HMAC van de ruwe body voor Linear, Sentry en generieke bronnen. Een aanroep zonder handtekeningheader wordt geweigerd, nooit doorgelaten. Het geheim staat in de editor en kan op elk moment opnieuw worden gegenereerd, wat onmiddellijk ongeldig maakt wat het oude gebruikte.
Kan ik alleen op bepaalde gebeurtenissen afgaan?
Ja. Een repository stuurt veel meer gebeurtenissen dan je agents voor wilt, dus een trigger accepteert een optionele voorwaarde op de payload, bijvoorbeeld action gelijk aan opened. Gebeurtenissen die niet overeenkomen worden genegeerd en er wordt niets gestart. Er is ook een burstlimiet: hoogstens één uitvoering per tijdvenster, waarbij de aanroepen die binnen dat venster binnenkomen worden gegroepeerd.
Wat gebeurt er als AgentsRoom gesloten is wanneer de gebeurtenis binnenkomt?
De gebeurtenis komt in de wachtrij op de server en wordt opnieuw afgespeeld de volgende keer dat je de app start, dus hij draait laat in plaats van nooit. Gebeurtenissen in de wachtrij worden een week bewaard, genoeg voor een laptop die een lang weekend dicht blijft, zonder dat je bij terugkomst een maand aan verouderd werk opnieuw krijgt. Het is hetzelfde model van 'in de app plus inhalen' dat geplande taken gebruiken. Webhook-triggers draaien je agent niet in de cloud: de agent draait altijd op jouw machine, in jouw project.
Ik heb het project op twee computers open. Draait de agent dan twee keer?
Nee. Een gebeurtenis wordt maar één keer verbruikt. De eerste machine die hem oppakt vergrendelt hem, en de anderen zien dat hij bezet is en slaan hem over. Je kunt een trigger ook vastzetten op bepaalde machines, precies zoals bij een geplande taak, als je wilt dat een specifieke computer hem afhandelt.
Wat kan ik vanuit de gebeurtenis in de prompt zetten?
De payload wordt omgezet in variabelen die je rechtstreeks in het promptveld schrijft, tussen dubbele accolades: event.title, event.author, event.url, event.number, event.branch, en payload voor de volledige ruwe JSON. Ze worden ingevuld wanneer de trigger afgaat, op dezelfde manier als de datum- en tijdvariabelen van een geplande taak.
Hoe weet ik of mijn webhook goed bedraad is?
De editor toont de laatste aanroep die de trigger heeft ontvangen, inclusief de ruwe JSON-body, en laat je die met één klik opnieuw afspelen. Je stelt het filter en de prompt dus af op een echte payload die je kunt zien, en speelt hem opnieuw af tot de uitvoering klopt, in plaats van testcommits te pushen om erachter te komen.
Welke diensten worden ondersteund?
Elke dienst die een ondertekende POST met een JSON-body kan sturen. GitHub, GitLab, Slack, Linear en Sentry zijn de diensten die mensen als eerste aansluiten omdat hun payloads rijk zijn, maar er is geen toegestane lijst: een CI-job, een monitoringtool, je eigen backend of een curl in een shellscript werken precies hetzelfde.
Is dit een visuele automatiseringsbouwer met scenario's in meerdere stappen?
Nee, en dat is ook niet de bedoeling. Een trigger heeft één taak: bepalen wanneer een agent start en hem de gebeurtenis overhandigen. Het gedeelte met meerdere stappen is de agent zelf, die de code leest, de tools draait en het werk doet. Als je wilt dat meerdere agents werk aan elkaar doorgeven, dan is dat Agent Teams, geen scenariocanvas.
Kan AgentsRoom webhooks naar andere diensten sturen?
Triggers zijn alleen inkomend: AgentsRoom ontvangt gebeurtenissen, het verstuurt ze niet. Als je wilt dat een agent aan het einde van een uitvoering een externe dienst aanroept, dan is dat het werk van de agent zelf, met de tools en de MCP-servers die je hem hebt gegeven.
Past goed bij
Geplande taken
De klokkant van hetzelfde paneel. Elke N minuten, elk uur, dagelijks, wekelijks of maandelijks, zonder cron-expressie om te schrijven.
Backlog Takenbord
Sleep een ticket naar een kolom en een agent pakt het op. Een trigger doet hetzelfde, maar dan met een gebeurtenis van buiten die het slepen doet.
Agent Teams
Dev-, QA- en PM-agents die werk aan elkaar doorgeven. Richt een trigger op een team en één gebeurtenis start de hele routine.
AgentsRoom MCP
De tools waarmee een agent de backlog, het geheugen en de promptbibliotheek leest. Een getriggerde agent krijgt ze net als elke andere.
Agent Meldingen
Weet op het moment dat een trigger afgaat, op je desktop en op je telefoon, met één tik om de agent te openen die hij heeft gestart.
Externe Vloot
Meerdere machines op één account. Zet een trigger vast op de machine die hem moet beantwoorden, en alleen die machine draait de agent.
Stop met peilen. Begin met reageren.
Download AgentsRoom, plak één URL in GitHub, GitLab, Slack, Linear of Sentry, en laat de gebeurtenis de agent starten. Er draait niets zolang er niets gebeurt.
Companion-app: houd je agents onderweg in de gaten
Breng je eigen: Claude, Codex, Antigravity CLI of andere AI-provider.
Stuur bugs en verzoeken direct naar je openbare backlog.
Een glimp van AgentsRoom in actie.