How triggers work
A trigger files a task each time an event arrives, so work starts the moment something happens elsewhere: a new issue in GitHub, a message to a support mailbox, a mention in Slack. Triggers live under Automation, on the Triggers tab beside Schedule and Playbooks. Only your organization's Owners and Admins see that tab.
A trigger answers to events; a schedule answers to the clock. Both file ordinary tasks into one project, run by the persona the trigger names.
Sourcesโ
Each trigger listens to one Source, chosen when it is created and fixed after:
| Source | Files a task when |
|---|---|
| Webhook | Another system calls the trigger's Payload URL, authenticated with its Secret. |
| GitHub | A repository sends one of the Events the trigger is set to. Its Setup section says what to enter in GitHub. |
| An email reaches Jaah whose To, From or Subject matches the trigger. | |
| Slack | Someone in your organization mentions Jaah in a channel the trigger covers. |
A task a trigger filed shows that source on its task page, with the trigger's name.
What happens to each deliveryโ
Every event a trigger receives is a delivery, listed under Deliveries on the trigger's page with its outcome. In order, Jaah:
- Skips it if the trigger is Paused or Failed.
- Checks that the trigger's owner may still create and run tasks in the project. The task is filed as that owner, so if they lose that access the trigger stops.
- Runs the Preflight, if one is set: a Script from the project's repository or a Model prompt that decides whether to file a task at all, or splits one event into several items.
- Drops a repeat of an event it has already filed (Duplicate).
- Drops it (Rate capped) when the Rate limit per hour is reached. While the Concurrency cap of open tasks is full it queues it, and skips it once the Queue depth is full.
- Fills in the Title template and Prompt template from the event, and files the task (Dispatched).
Healthโ
| Health | Means |
|---|---|
| Active | Receiving and filing normally. |
| Degraded | Still filing, but recent deliveries failed, or a filed task cost more than the trigger's budget. |
| Failed | Jaah stopped it: too many failures in a row (Pause after consecutive failures), no successful run for Pause after idle days, or its owner lost access. |
| Paused | Someone selected Pause. |
When a trigger goes Failed, its owner is told in the notifications bell and by email, with the reason. Resume starts a Paused or Failed trigger again and clears its failure count. Owners also get a daily digest of their triggers.