Automation Rules
Rules are the foundation of SetGet automations. Each rule defines a trigger event, optional conditions, and one or more actions. When the trigger fires and conditions are satisfied, the actions execute automatically.
Creating a rule
Step 1: Navigate to automations
- Open the project where you want to create the rule.
- Go to Settings > Automations in the project sidebar.
- Click Create Rule.
Step 2: Name the rule
Give your rule a clear, descriptive name that explains what it does. Good names make it easy for your team to understand the automation at a glance.
| Good name | Poor name |
|---|---|
| Auto-assign new bugs to triage lead | Rule 1 |
| Notify PM when blocker is added | Notification rule |
| Escalate overdue items to Urgent priority | Priority change |
| Move done items to QA Review | State automation |
Step 3: Select a trigger
Choose the event that should activate the rule. Only one trigger can be assigned per rule.
Step 4: Add conditions (optional)
Add one or more conditions to filter which items the rule applies to. Without conditions, the rule fires for every item that matches the trigger.
Step 5: Define actions
Choose one or more actions to execute when the rule fires. Actions execute in the order they are defined.
Step 6: Enable the rule
New rules are disabled by default. Toggle the rule to Enabled when you are ready for it to start running.
Trigger types
State change
Fires when a work item transitions from one state to another.
Configuration options:
| Option | Description |
|---|---|
| From state | The state the item is leaving (or "Any") |
| To state | The state the item is entering (or "Any") |
Example: Trigger when an item moves from "In Progress" to "In Review."
TIP
Use specific "From" and "To" states to avoid the rule firing on every state change. Setting both to "Any" means the rule fires on every state transition.
Priority change
Fires when a work item's priority is updated.
Configuration options:
| Option | Description |
|---|---|
| From priority | The previous priority (or "Any") |
| To priority | The new priority (or "Any") |
Example: Trigger when an item is escalated to Urgent priority.
Assignee change
Fires when a work item is assigned or reassigned to a different member.
Configuration options:
| Option | Description |
|---|---|
| From member | The previous assignee (or "Any" / "Unassigned") |
| To member | The new assignee (or "Any" / "Unassigned") |
Example: Trigger when an item is assigned to anyone (from Unassigned to Any).
Label added
Fires when a label is attached to a work item.
Configuration options:
| Option | Description |
|---|---|
| Label | The specific label that was added (or "Any label") |
Example: Trigger when the "blocker" label is added to an item.
Label removed
Fires when a label is removed from a work item.
Configuration options:
| Option | Description |
|---|---|
| Label | The specific label that was removed (or "Any label") |
Due date reached
Fires when the current date matches (or passes) a work item's due date and the item is still in an active state.
Configuration options:
| Option | Description |
|---|---|
| Offset | Days before or after the due date (e.g., -1, 0, +1) |
Example: Trigger 1 day before the due date to send a reminder. Trigger on the due date to escalate priority.
WARNING
Due date triggers are evaluated periodically (typically every hour). There may be a short delay between the due date being reached and the action executing.
Work item created
Fires when a new work item is created in the project.
Configuration options:
| Option | Description |
|---|---|
| Created by | Filter by who created the item (or "Anyone") |
Example: Trigger when any new item is created to auto-assign it to a triage queue.
Condition filters
Conditions let you narrow which items a rule applies to. You can combine multiple conditions using AND logic — all conditions must be true for the rule to fire.
Available condition types
| Condition | Description | Example |
|---|---|---|
| State is | Item is in a specific state | State is "In Progress" |
| State is not | Item is not in a specific state | State is not "Done" |
| Priority is | Item has a specific priority | Priority is "High" |
| Priority is not | Item does not have a specific priority | Priority is not "None" |
| Label includes | Item has a specific label attached | Label includes "bug" |
| Label excludes | Item does not have a specific label | Label excludes "wont-fix" |
| Assignee is | Item is assigned to a specific member | Assignee is "Alice" |
| Assignee is not | Item is not assigned to a specific member | Assignee is not "Unassigned" |
| Created by | Item was created by a specific member | Created by "Bot" |
| Module is | Item belongs to a specific module | Module is "Authentication" |
| Cycle is | Item belongs to a specific cycle | Cycle is "Sprint 12" |
| Estimate is | Item's estimate matches a value or range | Estimate is greater than 5 |
Combining conditions
When you add multiple conditions, all of them must be true (AND logic). For example:
- Condition 1: Priority is "High"
- Condition 2: Label includes "bug"
- Result: The rule only fires for high-priority bugs.
TIP
If you need OR logic (fire when any condition is true), create separate rules for each condition set. Each rule can have its own trigger, conditions, and actions.
Action types
Change state
Moves the work item to a specified state.
| Setting | Description |
|---|---|
| Target state | The state to transition the item to |
Use case: Auto-move items to "QA Review" when a developer marks them "Done."
Set priority
Updates the work item's priority level.
| Setting | Description |
|---|---|
| Target priority | None, Low, Medium, High, or Urgent |
Use case: Escalate overdue items to "Urgent" priority.
Assign member
Assigns or reassigns the work item to a specific member.
| Setting | Description |
|---|---|
| Target member | The member to assign the item to |
| Overwrite | Whether to replace an existing assignee |
Use case: Auto-assign new bugs to the triage lead.
TIP
Use the "Overwrite" option carefully. If disabled, items that already have an assignee will not be reassigned.
Add label
Attaches a label to the work item.
| Setting | Description |
|---|---|
| Label | The label to add |
Use case: Auto-tag items that reach "In Review" state with a "needs-review" label.
Remove label
Removes a label from the work item.
| Setting | Description |
|---|---|
| Label | The label to remove |
Use case: Remove "needs-triage" label when an item is assigned.
Send notification
Sends a notification to specified members or channels.
| Setting | Description |
|---|---|
| Recipients | Specific members, roles, or "All project members" |
| Message | Custom notification message |
| Channel | Optional: also send to a chat channel |
Use case: Notify the PM channel when a release-blocker is created.
Move to cycle
Adds the work item to a specified cycle.
| Setting | Description |
|---|---|
| Cycle | The target cycle (or "Active cycle") |
Use case: Automatically add new items to the current sprint.
Move to module
Adds the work item to a specified module.
| Setting | Description |
|---|---|
| Module | The target module |
Use case: Route all items with the "auth" label to the Authentication module.
Add comment
Posts an automated comment on the work item.
| Setting | Description |
|---|---|
| Comment | The comment text to post |
Use case: Add a comment when an item is escalated to Urgent: "This item has been automatically escalated due to approaching deadline."
Enable and disable rules
Enabling a rule
Toggle the rule status to Enabled in the automations list. The rule begins evaluating immediately for new events.
Disabling a rule
Toggle the rule status to Disabled. The rule stops evaluating but is not deleted. You can re-enable it at any time.
WARNING
Disabling a rule does not undo actions it has already performed. If a rule incorrectly changed item states, you will need to revert those changes manually.
Bulk enable/disable
Select multiple rules in the automation list and use the bulk action menu to enable or disable them together.
Common rule patterns
Auto-triage new items
| Component | Value |
|---|---|
| Trigger | Work item created |
| Conditions | Priority is "None" |
| Actions | Assign to triage lead, Add label "needs-triage" |
Escalation on overdue
| Component | Value |
|---|---|
| Trigger | Due date reached (offset: 0) |
| Conditions | State is not "Done" |
| Actions | Set priority to Urgent, Send notification to assignee |
QA handoff
| Component | Value |
|---|---|
| Trigger | State change (from: In Progress, to: Done) |
| Conditions | Label includes "needs-qa" |
| Actions | Change state to "QA Review", Assign to QA lead |
Release blocker alert
| Component | Value |
|---|---|
| Trigger | Label added ("release-blocker") |
| Conditions | None |
| Actions | Set priority to Urgent, Send notification to release channel |
Sprint cleanup
| Component | Value |
|---|---|
| Trigger | Cycle ended |
| Conditions | State is not "Done" |
| Actions | Add comment "Carried over from previous sprint", Move to next cycle |
Troubleshooting rules
| Problem | Likely cause | Solution |
|---|---|---|
| Rule does not fire | Rule is disabled | Check the enable toggle |
| Rule fires on wrong items | Conditions too broad | Add more specific conditions |
| Rule fires too often | Trigger is too general (e.g., "Any" state) | Narrow the trigger configuration |
| Action fails silently | Target state or member does not exist | Verify all action targets are valid |
| Multiple rules conflict | Overlapping triggers and actions | Review all rules for the same trigger |
Related pages
- Automations Overview — Introduction to the automation system
- Automation Templates — Pre-built rule configurations
- Execution History — Monitor rule execution and debug failures
- Workflows — Multi-step processes with approval gates
- Work Items — The entities that rules act upon