Documentation

ConfluOps: CloudWatch Alarms for Confluence  ·  Last updated: 1 March 2026

Overview

ConfluOps embeds live AWS CloudWatch alarm statuses as color-coded badges directly in your Confluence pages. Place indicators anywhere on a page — in tables, dashboards, or inline with text — to give your team instant visibility into infrastructure health without leaving Confluence.

ConfluOps is built on the Atlassian Forge platform. All data is processed within Atlassian’s infrastructure — no external servers are involved.

Prerequisites

Setup

ConfluOps supports two authentication methods: IAM Role (recommended) and IAM User. IAM Role is preferred because it uses temporary credentials that are never stored. IAM User credentials are long-lived and stored persistently — use this method only if IAM role assumption is not available in your environment.

1. Deploy the IAM role (recommended)

ConfluOps connects to your AWS account using an IAM role — no long-lived credentials are required. Create the role using either CloudFormation or Terraform.

Option A — CloudFormation

  1. In Confluence, go to Apps → ConfluOps Admin. Click Add account to open the setup wizard.
  2. The wizard will display a CloudFormation template URL and an External ID unique to your Confluence site. Copy the template URL.
  3. Open the AWS Console and navigate to CloudFormation → Create stack. Paste the template URL when prompted for an Amazon S3 URL.
  4. When asked for parameters, paste the External ID from step 2 into the ExternalId field. Complete the stack creation.
  5. Once the stack reaches CREATE_COMPLETE, go to the stack’s Outputs tab and copy the Role ARN value.

Option B — Terraform

If you manage infrastructure with Terraform, a .tf module is available as an alternative to the CloudFormation template. The External ID and Role ARN inputs and outputs are the same — substitute the External ID shown in the ConfluOps admin panel, apply, and paste the resulting Role ARN back into the panel.

2. Add the account in ConfluOps

  1. Return to the ConfluOps Admin panel in Confluence.
  2. Give the account a display name (e.g. Production or Staging) so you can identify it when configuring widgets.
  3. Paste the Role ARN copied from CloudFormation and select the AWS region where your CloudWatch alarms live.
  4. Click Save. ConfluOps will validate the role and confirm the account is active.
The External ID is generated once per Confluence site and is stored securely in Forge’s encrypted secret storage. Never share it outside your organisation.

Adding a widget to a page

Select an alarm

  1. On any Confluence page, open the macro browser (/ or Insert → Other macros) and search for CloudWatch Alarm Indicator.
  2. Select the AWS account you configured in the setup step.
  3. A searchable list of alarms from that account will appear. Use the search box to filter by name, then click an alarm to select it.

Display options

After selecting an alarm you can customise how the badge appears:

OptionDescription
Display label Text shown alongside the badge. Defaults to the alarm name; change it to something human-readable like API Error Rate.
Label position Where the label appears relative to the badge: right, left, above, below, inside (replaces the state text), or hidden.
Alignment How the badge is aligned within the macro block: left, center, or right.
Auto-refresh How often the badge refreshes while a viewer has the page open. See Auto-refresh below.

A live preview updates as you change options so you can see exactly how the badge will look before inserting it.

Alarm states

Each badge reflects the current CloudWatch alarm state:

StateBadgeMeaning
OK OK The alarm threshold has not been breached.
ALARM ALARM The alarm threshold has been breached.
INSUFFICIENT_DATA INSUFFICIENT DATA Not enough data is available to evaluate the alarm.

Auto-refresh

By default, the badge fetches the alarm state when the page loads and does not update again until the page is reloaded. You can enable automatic background refresh:

IntervalUse case
Off (default)Status checked on page load only
1 minuteActive incident dashboards
5 minutesGeneral health monitoring pages
15 minutesLow-traffic overview pages
Each auto-refresh triggers a live CloudWatch API call. Frequent refreshes across many widgets or viewers can increase your AWS API costs. Check your CloudWatch pricing tier before enabling short intervals across high-traffic pages.

Multiple AWS accounts

ConfluOps supports multiple AWS accounts simultaneously. Each account is configured separately in the admin panel with its own IAM role and External ID. When adding a widget, you choose which account to query — so a single Confluence page can display alarm statuses from Production, Staging, and any other configured account side by side.

Troubleshooting

Badge shows “Account not found”

The AWS account configured for this widget has been deleted from the admin panel. Edit the macro and select a valid account, or re-add the account in the admin panel.

Badge shows “Error fetching alarm”

Possible causes:

No alarms appear in the alarm picker

Alarm list is taking a long time to load

ConfluOps fetches alarm lists live from CloudWatch. If you have a large number of alarms, use the search box to filter by name rather than scrolling through the full list.

Support

For help, questions, or bug reports, please contact:

Wolvenware

Email: [email protected]

Support portal: wolvenware.atlassian.net