Documentation

ConfluOps: CloudWatch for Confluence  ·  Last updated: 18 April 2026

Overview

ConfluOps embeds live AWS CloudWatch data directly in your Confluence pages via two widgets:

Place either widget anywhere on a page (in tables, dashboards, or inline with text) to give your team instant AWS visibility 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 resources live. Select an authentication method and click Next.

2. Grant AWS access

IAM Role (recommended)

ConfluOps connects using an IAM role, with no long-lived credentials needed. 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.

CloudWatch Dashboard widget

The CloudWatch Dashboard widget embeds an entire CloudWatch dashboard in a Confluence page. All widget types are rendered (metric charts, alarm status grids, and Markdown text) using your dashboard’s existing layout.

Adding the widget

  1. On any Confluence page, open the macro browser (/ or Insert → Other macros) and search for CloudWatch Dashboard.
  2. Select the AWS account you configured in the setup step, then select the region where your dashboard lives.
  3. A searchable list of dashboards in that account and region will appear. Click a dashboard to select it.
  4. Set your display options (see below) and click Insert Widget.

Configuration options

OptionDescription
Display label A title shown above the dashboard. Defaults to the dashboard name. Can be changed to any text or hidden entirely.
Default time range The time window for metric charts when the page loads. One of: Last 1 hour, Last 3 hours, Last 12 hours, Last 1 day, Last 3 days, Last 1 week. Viewers can adjust the range interactively.
Layout Auto reproduces the CloudWatch dashboard layout exactly. Override to 1, 2, or 3 columns to reflow widgets into a fixed-column grid, which works better in narrow Confluence page widths.
Auto-refresh How often the dashboard re-fetches data while a viewer has the page open. Options: Off, or one of several configurable intervals.

Supported widget types

ConfluOps renders all standard CloudWatch dashboard widget types:

Widget typeHow it renders
Line / area chart Interactive time-series chart with synced hover and zoom across all charts within the dashboard.
Bar chart Side-by-side or stacked bar chart with Y-axis abbreviation (K, M).
Pie chart Pie chart with legend, using the last data point in the selected time range.
Single value Large counter with an optional sparkline showing the trend.
Gauge Arc gauge with configurable threshold colour zones.
Table Tabular view of metric values with summary statistics.
Alarm status Grid of color-coded alarm badges (OK, ALARM, or INSUFFICIENT DATA).
Text Rendered Markdown including headings, bold, code, lists, tables, and blockquotes.
Each metric widget in the dashboard makes at least one CloudWatch API call per load or refresh. Dashboards with many metric widgets on high-traffic pages can increase your AWS API costs. Check your CloudWatch pricing tier before enabling short auto-refresh intervals.

CloudWatch Alarm Indicator widget

The Alarm Indicator displays a single CloudWatch alarm as a compact, color-coded status badge. It is ideal for health tables and status pages where you want a quick at-a-glance view of individual alarms across multiple environments.

Adding the widget

  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, widgets fetch data when the page loads and do not update again until the page is reloaded. You can enable automatic background refresh:

WidgetAvailable intervalsTypical use case
Alarm IndicatorOff, 1 min, 5 min, 15 minIncident dashboards, general health pages
CloudWatch DashboardOff, 5 min, 15 min, 30 minOps overviews, metric monitoring pages
Each auto-refresh triggers live CloudWatch API calls. Frequent refreshes across many widgets or viewers can increase your AWS API costs. Check your CloudWatch pricing tier before enabling short intervals on 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 data from Production, Staging, and any other configured account side by side.

Troubleshooting

Dashboard or 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:

Dashboard shows “Error loading dashboard”

No alarms or dashboards appear in the picker

The alarm or dashboard list is slow to load

ConfluOps fetches lists live from CloudWatch. If you have a large number of resources, 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

Email: [email protected]

Support portal: wolvenware.atlassian.net