Documentation

ConfluOps: CloudWatch Alarms for Confluence  ·  Last updated: 11 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. Open the setup wizard

  1. In Confluence, open Administration (, top right). In the left-hand menu, expand Apps and click ConfluOps. Click Add account to open the setup wizard.
  2. Enter an account alias (e.g. Production or Staging), your AWS account ID, and the primary region where your CloudWatch alarms live. Select an authentication method and click Next.

2. Grant AWS access

IAM Role (recommended)

ConfluOps connects using an IAM role — no long-lived credentials are stored. The wizard provides a CloudFormation link and a Terraform snippet, both with your site’s External ID already embedded. Use whichever suits your workflow.

  1. Copy the CloudFormation link or the Terraform snippet from the wizard.
  2. CloudFormation: open the AWS Console, paste the link, and complete the stack creation. Wait until the stack reaches CREATE_COMPLETE. Go to the stack’s Outputs tab and copy the RoleArn value.

    Terraform: paste the snippet into your configuration, run terraform apply, and copy the role_arn output.
  3. Back in the wizard, click I’ve deployed this role and paste the role ARN.

IAM User (not recommended)

IAM User credentials are long-lived and stored persistently — use this only if role assumption is unavailable in your environment. Enter your Access Key ID and Secret Access Key when prompted.

3. Test and save

  1. Click Next, then Test connection.
  2. Once the connection is confirmed, click Done.
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 — Support Contact

Email: [email protected]

Support portal: wolvenware.atlassian.net