I added a step to one of my automations yesterday, and now it will cost less to run.
Here’s what’s actually happening: the “After” has more steps, but it isn't consuming more steps per run. Instead of doing more work, it’s turning non-fit work items away at the door instead of at the end of the hall. Successes will use 6 steps instead of 5, but since only about 1% of this rule's runs are successful, I'm saving far more steps than I'm spending.
Why this matters right now
On December 3rd, UBP billing changes: every step counts, regardless of outcome. Currently, “No actions performed” runs don’t consume automation credits. After December 3rd, they will consume not just runs, but steps.
I audited my own instance with iDev Solutions' app Automation Usage & Risk Analyzer for Jira (it’s free, and built by @Patricia Francezi_iDev_, a developer I personally trust) and found that 74.27% of my automation runs performed no actions. Most of those runs cost at least a few steps per run, and some cost a lot. That’s not just an automation problem. It’s an architecture problem.
So what should I do?
Scope every flow you can.
Most flows don't actually need to be global. Every limit you can add before work items hit your trigger will cut your eventual step costs. I'm using more Multiple spaces and Space type flows than ever.
Front-load your filters
Think of your conditions like a funnel. Put the check that eliminates the largest group of non-matching items first. If you thin the crowd early, you don’t run everyone through the full flow before turning most of them away at the last step.
In the Before, a JQL condition at step 3 checked work item type and status. By then, non-matching items had already burned 3 steps going nowhere. The extra step in the After comes from splitting that JQL condition into two Smart value comparison checks immediately after the trigger. Moving those checks earlier means the vast majority of runs now exit after 2 steps instead of 3.
Find your worst offenders
The Automation Usage & Risk Analyzer app surfaced this for me. Upload a JSON export of your flows and a 30-day audit log CSV and you get granular daily step usage plus per-flow remediation recommendations. Worth every minute of setup. If your SecOps team won't let you install an app, though, you can use Atlassian's tools on the Usage tab (Jira admin Settings > Global Automation > Usage) to see your automation steps and flow runs.
Before you go
I cannot stress enough that automations running frequently and/or spending a lot of steps is fine, as long as they're producing valuable results. It's those "No actions performed" runs that I'm targeting for elimination (or at least step reduction) now.
Finally, two "gotchas" to watch for:
Gotcha # 1. Trigger conditions count as discrete steps even though they’re displayed as part of the trigger block. Don’t let the visual fool you. Use compound JQL conditions where you can, conscientious filtering where you can't, and budget accordingly.
Gotcha # 2. Usage numbers will differ depending on users' admin roles (RBAC scopes limit visibility) so a space, app, site, and org admin may each see different values for usage. Rely on your Org admin for the true totals.