# Agent triggers

## Start agent work from a card event

A trigger is your own rule in one project. When a card moves to a status, gets a label, or you comment `/claude` followed by a name, Sprintree makes a job for your agent. A job is a note that says "do this on that card".

Triggers belong to you alone. Nobody else in the project sees or uses them. Sprintree never runs an agent itself. It records the job and hands it to your session.

## When you need it

You review cards in the browser and want an agent to check each one that reaches **In review**. Make a trigger for the status In review with the instruction "Read the card and its commits, run the tests and comment what you find". From then on, every card that reaches In review becomes a job for your open session.

## Create a trigger

1. Open the project, then **Settings**, then **Agent triggers**. You need edit access to the project.
2. Press **New trigger**.
3. Enter a **Name**, up to 60 characters.
4. Under **When**, choose one of:
   - **A card moves to a status**, then pick the status.
   - **A label is added to a card**, then pick the label.
   - **I comment /claude `<name>`**. You then write `/claude` and the trigger's name in a comment.
5. Under **Cards**, choose **Any card** or **Cards assigned to me**.
6. Optionally, fill **Session label** so only a session with that label takes the job.
7. Under **What the agent should do**, write the instruction, up to 2000 characters.
8. Keep **Enabled** on and press **Create trigger**.

![The new trigger form with When and What the agent should do highlighted](https://sprintree.com/docs-media/ai-triggers-form-light-27a2aa2c.webp)

## Follow the jobs

Under the triggers list, **Recent jobs** shows each job with its card, the trigger name, when it was made and its state: **Waiting**, **Taken**, **Done**, **Failed**, **Expired**, **Cancelled** or **Skipped**.

![Trigger list with an enabled trigger and a waiting job](https://sprintree.com/docs-media/ai-triggers-list-light-fad54c46.webp)

A job goes only to a Claude Code session that is already open and has `/claude` commands on. See [Live events](https://sprintree.com/docs/live-events). If no session is open, the job waits 24 hours and then expires. If the agent asks for a permission, the job waits until you approve. Codex and Cursor have no live monitor. Ask them to check your jobs: they list waiting jobs with `list_triggers` and take one only after you confirm it in chat.

To stop a job that has not finished, press **Cancel** next to it.

## Turn a trigger off

Press **Turn off** on the trigger's row. A trigger that is off makes no new jobs, and its waiting jobs are cancelled. Jobs that a session already took are left alone. Press **Turn on** to use it again, or use the delete icon to remove the trigger and its jobs.

## Tips and common mistakes

- Write the instruction like you would brief a colleague. Include what to read and where to leave the result.
- To keep noise down, Sprintree limits a trigger to 10 jobs an hour and your triggers in one project to 50 jobs a day. After a job for a card finishes, the same trigger waits 10 minutes before that card can make another.
- A project allows 20 triggers per person.
- Taking a label away does not fire a trigger. Only adding the label does.
- Status and label changes that your own agent makes through MCP do not fire your triggers, so your agent cannot start a loop. Your own changes in the browser, and other people's changes, do.
- The instruction goes only to you, when your session takes the job. Other members cannot read it.

## Related pages

- [Live events](https://sprintree.com/docs/live-events) to connect a session first.
- [Work records](https://sprintree.com/docs/work-records) to see what the agent did with the job.
- [Technical MCP reference](https://sprintree.com/docs/mcp#agent-triggers) for `list_triggers`, `update_trigger_job` and `save_trigger`.
