Automations Quickstart
A hands-on walkthrough that builds your first automation from scratch: create a rule, wire a trigger to an action, post a comment on new tickets, target a single template, and trace the run history.
Overview
This guide builds a working automation end to end. You will create a rule that posts a helpful comment whenever a ticket is created, then refine it so it only fires for a single template, and finally trace exactly what happened in the run history. By the end you will know your way around the visual editor, the node palette, wiring nodes together, and debugging runs.
If you want to understand the concepts behind the engine, read the Automations overview. This page is the practical companion to it.
Open the automations editor
Automations live under the Templates section of the sidebar. Open Automations to see every rule in your organization.
Create your first automation
Use the Create Automation button at the top right of the automations list.
Give the automation a name and a short description so your teammates know what it does. Set the Project Scope to decide where it runs - pick a single project, or leave it on All Projects to run everywhere - and use the Enabled toggle to control whether it is live. Choose Create to open the editor.
Scope and enabled state
Project Scope and the enabled state can both be changed later from the editor's top bar. We recommend scoping a new rule to a single test project first, verifying it behaves as expected there, and only then widening it to All Projects.
Meet the editor
A new automation opens onto an empty canvas. On the left is the Nodes palette, grouped into categories such as Actions, Conditions, Logical, Data, Events, Schedulers, Sprint, Ticket, and Workflow. The top bar carries the automation name, the project scope, the Enabled toggle, Run History, and Save.
Add nodes
There are two ways to place a node on the canvas.
Expand a category in the palette and drag a node onto the canvas.
Or press Ctrl+K to open the command search, type part of a node's name, and pick it from the results.
For this walkthrough, add a Ticket Created trigger and an Add Comment action.
Wire the trigger to the action
Every graph starts with a trigger. Ticket Created fires when a new ticket is created and emits two outputs: the TICKET and its INITIAL STATE. The Add Comment action needs a TICKET to comment on, and that input is required, shown by the red dot and the asterisk next to the port.
Drag from the trigger's TICKET output to the TICKET input on Add Comment to satisfy that requirement.
Post a simple comment
The TEXT input on Add Comment is a merged input: when nothing is wired to it, an inline control appears so you can type a constant. Type a short message directly into the node to post the same comment every time.
That is already a complete automation: a new ticket triggers a comment.
Use rich text with formatting
A plain string is fine for a one-liner, but most comments read better with formatting. The Rich Text node is a constant that holds formatted content and supports dynamic argument substitution, so you can weave in values from the graph. It exposes a VALUE output you can wire into any text input.
Wire the Rich Text VALUE into the Add Comment TEXT input. As soon as it is connected, the inline control disappears and the wired value is used instead. This graph now posts a formatted comment on every new ticket, regardless of template.
Target a single template
Commenting on every ticket is often too broad. Say you only want the guidance comment on Bug tickets. You can gate the action behind a condition that compares the ticket's template to the one you care about.
Build this with a few more nodes:
Extract the ticket's template
Add an Extract Properties node and wire the trigger's TICKET into its VALUE input. Its output ports resolve to the ticket's properties, including TEMPLATE, TITLE, and STATE.
Pick the template to match
Add a Template node and select the template you want to target, for example Bug Report. It outputs the chosen TEMPLATE.
Compare the two
Add a Compare node with the operator set to Equals. Wire the ticket's extracted template into A and the Template node's output into B. Its RESULT is true only when the new ticket uses that template.
Branch on the result
Add an If / Else node. Feed the compare result into CONDITION and the ticket into VALUE. The ticket flows out of TRUE when the condition holds and out of FALSE otherwise.
Comment only on a match
Wire the TRUE output into the Add Comment TICKET input, and keep the Rich Text node feeding the TEXT. Now the comment is posted only when the ticket matches the template.
Only the active branch continues
The If / Else node routes the ticket to exactly one output. Everything downstream of the branch that is not taken is skipped, so the Add Comment action never runs for tickets of other templates.
See it in action
Save the automation and make sure it is Enabled. The next time a matching ticket is created, the comment appears on it, posted by System Automation.
Trace what happened
Every run is recorded. Open Run History from the editor's top bar to review recent executions.
The history lists each run with the triggering ticket, when it ran, and how long it took.
Open a run to replay the graph exactly as it executed. Each node carries a status badge and its own timing, and selecting a node opens the Node Details panel with the inputs it received and the outputs it produced.
Debugging tip
When a run does not do what you expect, the Node Details panel is the fastest way to find out why. Follow the data node by node until an input or output looks wrong, and the misbehaving edge or condition is usually right there.
What's next
You have built a real automation, gated it behind a condition, and traced a run. From here you can explore the full toolbox and more advanced patterns.
Node Reference
Every trigger, action, condition, data, logic, math, and list node in one place.
Type Reference
The types that flow between ports and how the editor validates connections.
Schedulers
Run automations on a recurring cron schedule or after a delay.
Run History & Debugging
Trace exactly what happened in any run, node by node.