Set up pipeline triggers
This guide shows you how to set up triggers that auto-start pipelines.
What are triggers?
Section titled “What are triggers?”A PipelineTrigger declares when a pipeline should start automatically. Triggers are:
- Default-off — enable them explicitly
- Workspace-scoped
- Optional payload match filters
Trigger types
Section titled “Trigger types”| Type | Description |
|---|---|
| Domain event | Start when a specific event fires (e.g. PullRequestPublished) |
| Schedule | Start on a cron expression (e.g. every weekday at 9am) |
| Manual | Started by the user (always available, no trigger needed) |
Create a trigger
Section titled “Create a trigger”- Open a pipeline template
- Click Triggers tab
- Click Add trigger
- Configure:
Event trigger
Section titled “Event trigger”- Event type: select from the domain event catalog (e.g.
TicketAssigned,PullRequestPublished) - Match filter: optional JSON filter on the event payload
Example: trigger on PullRequestPublished only for non-draft PRs:
{ "isDraft": false }Schedule trigger
Section titled “Schedule trigger”- Cron expression: standard cron (e.g.
0 9 * * 1-5for weekdays at 9am)
- Click Save
- Enable the trigger
How triggers fire
Section titled “How triggers fire”The PipelineTriggerDispatcher subscribes to domain events:
- An event is published
- For each enabled trigger matching the event type:
- If the trigger has a match filter, apply it to the event payload
- If the filter passes (or there’s no filter), start a pipeline run
- Dedup keys prevent the same trigger from firing twice for the same event
Common trigger patterns
Section titled “Common trigger patterns”Auto-review on PR
Section titled “Auto-review on PR”- Event:
PullRequestPublished - Pipeline: dispatch reviewers → finalize review
Auto-dispatch on ticket assignment
Section titled “Auto-dispatch on ticket assignment”- Event:
TicketAssigned - Pipeline: prompt agent with ticket context → create child tickets if needed
Nightly code quality
Section titled “Nightly code quality”- Schedule:
0 2 * * *(2am daily) - Pipeline: prompt agent to run quality checks → bash script to lint
On ticket completion
Section titled “On ticket completion”- Event:
TicketCompleted - Pipeline: run integration tests → notify channel