Forge Development

Atlassian Automation or Forge App? When Automation Rules Are No Longer Enough

Matthias Rauer
#Forge#Automation#Jira#Confluence#Development#Architecture
Atlassian Automation or Forge App? When Automation Rules Are No Longer Enough

Two Tools, One Goal

Anyone who wants to remove manual steps from Jira or Confluence processes has two paths to choose from: configuring Automation Rules or developing a Forge app. At first glance, both solve the same problem – speeding up workflows, removing bottlenecks, and freeing people to focus on work that matters.

The difference lies in the architecture. Automation Rules are a no-code tool built directly into Jira and Confluence. You define a trigger, set conditions, and specify an action – and the automation is ready in minutes. Forge apps, on the other hand, are full-blown software extensions that run on Atlassian’s serverless cloud infrastructure and execute real code. They can model complex logic, connect external systems, and provide custom user interfaces.

These two technologies serve different requirements. Trying to force a solution with the wrong tool will, sooner or later, create problems.

What Makes Automation Rules Powerful

Automation Rules have become one of the most widely used features in Atlassian’s cloud products over the past few years – and for good reason. For the majority of everyday requirements, they are exactly the right answer.

A key advantage is accessibility: Automation Rules require no development resources. You can configure, test, and adjust rules directly in the browser. Changes to a rule take minutes to roll out.

Automation Rules are particularly well-suited to recurring, clearly defined tasks that can be cleanly expressed as a trigger, condition, and action. Here are some typical real-world examples:

Automatic ticket assignment. A Jira issue is created and assigned to a specific team member based on component, priority, or project area.

Triggering status transitions. Once all subtasks of a ticket are completed, the parent issue automatically moves to “In Review.”

Notifications and comments. When an issue reaches a certain priority or an SLA threshold is breached, the automation sends a notification to the responsible team.

Syncing Jira fields. Values from one field are automatically copied to another on ticket creation or update – useful for keeping metadata consistent or simplifying reporting.

Archiving and cleaning up Confluence pages. Pages that haven’t been edited for a defined period are automatically labelled or moved to an archive space.

Triggering review cycles. Confluence content with a specific label or in a specific space receives an automatic comment after a set time, prompting a review.

Prioritising and routing JSM requests. Incoming service requests in Jira Service Management are automatically categorised, prioritised, and routed to the right team based on keywords in the title or specific form fields.

SLA escalations. When a ticket is approaching an SLA breach, the automation triggers an escalation – for example, a notification to team leadership.

All of this works reliably, requires minimal maintenance, and can be adjusted without external support. And since Atlassian introduced AI-assisted rule creation, the barrier has dropped further still: describe what you want to automate in plain language and you’ll have a working rule proposal in seconds.

That said, there is a downside. The easier it becomes to create rules, the faster uncontrolled sprawl sets in. Rules that no one fully understands anymore, rules that affect each other in unexpected ways, rules that have long been obsolete – these quietly accumulate in the background. That is itself an argument for using Automation Rules deliberately, and for asking in time whether the tool still fits when complexity starts to rise.

Where Automation Rules Hit Structural Limits

Automation Rules are useful and effective for many tasks – but they are not a universal tool. They are designed for a specific class of problems. When you try to push them beyond that, you tend to notice it in the same way: the rule chains get longer, exceptions multiply, and eventually no one has a complete picture of why a rule behaves the way it does.

That is a signal that the process needs a different foundation.

Complex conditional logic. Automation Rules “think” in simple if-then structures. As long as conditions are flat and independent, that works fine. But as soon as logic becomes nested – if A and B, but not C, unless D is set and E falls in the range X to Y – Rules quickly hit their limits. What would be a straightforward function in code becomes a chain of rules, branches, and workarounds that is nearly impossible to reason about.

External system integrations with authentication and error handling. Automation Rules can send HTTP requests and pass static headers – including a Bearer token for simple API key authentication. But as soon as an external API requires a full OAuth flow, token refreshes need to be managed, or error responses need to be handled differently depending on type, you’ve reached the end of what’s feasible. A Forge app can implement a full integration strategy: retry logic, error classification, structured logging.

Custom user interfaces and structured data input. Automation runs in the background and has no UI of its own. If you want to provide users with a structured input form, a dashboard, or a guided workflow directly in Jira or Confluence, Forge is the only path.

Reliability and traceability in compliance-relevant processes. Automation Rules cannot be audited over the long term. If you need to prove that a particular step was executed at a particular time for a particular reason, you’ll run into a problem: Automation audit log entries are only stored for 90 days. Forge apps, by contrast, can implement structured logging, write actions permanently to external audit systems, and respond deterministically to defined states. For organisations operating in heavily regulated industries, this is a meaningful difference.

Performance and service limits at high volume. Teams running many Automation Rules will eventually run into something that’s easy to overlook in day-to-day operations: service limits. Rules that push a large number of items into the processing queue, or that build complex branching structures, can hit Atlassian’s internal processing limits. When that happens, they appear as THROTTLED in the audit log and, in extreme cases, are deactivated. This is a platform-level constraint that no pricing tier upgrade can resolve.

The pattern behind all of these scenarios is clear: when a process is complex enough that it can only be expressed through long chains of Automation Rules, real code is the simpler and more appropriate solution.

What a Forge App Does Better in These Cases

An important clarification: Forge apps are not meant to replace Automation Rules. But beyond a certain complexity – and especially when a process needs to be deterministic, auditable, and deeply integrated – Forge is the right foundation.

Three properties make the difference:

Real code, real logic. Forge apps run as full software extensions on Atlassian’s serverless infrastructure. Complex conditions, nested decision trees, or calculations across multiple data sources can be expressed cleanly and maintainably in code. What requires ten chained Automation Rules can be a single, clearly structured function in a Forge app.

Control over error handling and external integrations. A Forge app can fully interact with external APIs – including OAuth flows, token management, retry logic, and differentiated error handling. If an external service doesn’t respond, the app decides what happens next: retry, fallback, structured error message. Automation Rules cannot make these decisions and will simply fail.

Traceability and auditability. Forge apps can permanently log every relevant step of a process – either in Atlassian’s own logging infrastructure or in external tools. If you need to demonstrate for an audit that a specific approval step was correctly executed at a specific point in time, a Forge app gives you a reliable foundation. The Automation audit log, by contrast, is cleared after 90 days. For regulated industries – FDA, ISO 27001, BaFin, and others – that is effectively a disqualifying constraint.

One dimension that is often underestimated in practice is scalability as process complexity grows. Automation Rules grow with the process, but not gracefully. Every new requirement means another rule, another condition, another edge case. Forge apps grow through software engineering: refactored, tested, and versioned. If you’re building internal process logic today that needs to still work and be extensible two years from now, Forge is the more sustainable choice.

Decision Guide: Which Tool for Which Case?

The following overview provides a quick orientation for when Automation Rules are the right fit and when a Forge app is the better choice.

CriterionAutomation RulesForge App
Setup effortMinutes, no development requiredDevelopment effort required
Conditional logicSimple if-then structuresArbitrarily complex
External integrationsSimple HTTP requestsFull API integration incl. auth and error handling
Custom user interfaceNot possibleFull UI in Jira/Confluence
AuditabilityLimited (90-day log retention)Structured logging, external systems connectable
Scalability with complexityRule chains, hard to maintainSoftware engineering, versionable
Performance under loadService limits, not configurableConfigurable concurrency, async architecture
Maintenance without dev resourcesYesNo

If you’re not sure which tool fits a specific process, these questions can help orient you:

Automation Rules are the right choice when…

  • the process can be cleanly expressed as trigger, condition, and action
  • no external systems with complex authentication need to be integrated
  • no custom user interface is required
  • the rule should be maintained by admins without development support
  • speed of implementation matters more than long-term maintainability

A Forge app is the better solution when…

  • the process logic is too complex for simple if-then structures
  • external systems need to be fully and reliably integrated
  • users need a structured interface directly in Jira or Confluence
  • the process must be auditable and evidence is required for compliance purposes
  • requirements are expected to grow and the process needs to remain maintainable long-term

As a practical rule of thumb: if you find yourself needing five or more chained Automation Rules to express a single requirement, stop and ask whether a Forge app would be the cleaner solution.

Conclusion

Automation Rules and Forge apps solve different problems and have a sensible division of labour. Automation Rules excel where processes are clearly structured, requirements are stable, and fast implementation is the priority. The boundary lies where processes become more complex: long and opaque rule chains, external integrations that require more than a simple HTTP request, or auditability requirements that Automation Rules structurally cannot meet – these are all signals that point toward Forge.

The most common mistake in practice is that teams hold onto Automation Rules for too long, pressing ever-growing complexity into a tool that wasn’t built for it. Eventually the rule collection becomes so large that no one fully understands what happens, when, and why. At that point, migrating to a cleanly structured Forge app is more effort than it needed to be.

If you want to take the next step towards Forge – from a first prototype to a production-ready app – our Forge Developer Trainings offer a structured path. Or you can hand the wheel directly to our Atlassian development team.

← Back to Blog