Macro

Master this essential documentation concept

Quick Definition

In platforms like Confluence, a reusable dynamic content block that automatically generates or displays specific information, such as tables of contents, Jira issue lists, or status indicators.

How Macro Works

graph TD A[Confluence Page Editor] --> B{Insert Macro} B --> C[Table of Contents Macro] B --> D[Jira Issues Macro] B --> E[Status Macro] B --> F[Info/Warning Panel Macro] C --> G[Auto-generated TOC from H1-H3 headings] D --> H[Live Jira Issue List filtered by JQL query] E --> I[Color-coded Status Badge In Progress / Done / Blocked] F --> J[Styled callout block with icon and color] G --> K[Reader navigates long-form docs instantly] H --> K I --> K J --> K

Understanding Macro

In platforms like Confluence, a reusable dynamic content block that automatically generates or displays specific information, such as tables of contents, Jira issue lists, or status indicators.

Key Features

  • Centralized information management
  • Improved documentation workflows
  • Better team collaboration
  • Enhanced user experience

Benefits for Documentation Teams

  • Reduces repetitive documentation tasks
  • Improves content consistency
  • Enables better content reuse
  • Streamlines review processes

Keeping Macro Documentation Current When Confluence Changes

When your team onboards new members to Confluence, walkthroughs showing how to insert and configure macros are often recorded as training videos. A screen recording that demonstrates how to add a Table of Contents macro or wire up a Jira Issues macro to a project filter is genuinely useful in the moment β€” but that usefulness has a short shelf life.

The problem is that macros change. Confluence updates alter configuration panels, deprecate options, or introduce new macro variants. A video recorded six months ago may now show a workflow that no longer matches what your team sees on screen. Worse, when someone needs to remember the exact parameter settings for a custom macro, scrubbing through a recording to find that one configuration step wastes time that structured documentation would recover instantly.

Converting those training recordings into searchable documentation changes this entirely. Each macro gets its own documented section β€” purpose, configuration steps, common parameters, and known limitations β€” that your team can update in place as Confluence evolves. When a new hire asks how to use the Status macro consistently across a space, they find a precise written answer rather than a video timestamp buried in a shared drive.

If your team relies on recorded walkthroughs to pass along knowledge about Confluence macros and other platform workflows, see how converting video to structured documentation can make that knowledge genuinely reusable β†’

Real-World Documentation Use Cases

Keeping Sprint Release Notes Synchronized with Jira Tickets

Problem

Engineering teams manually copy Jira ticket titles, statuses, and assignees into Confluence release notes pages, which become outdated within hours as tickets are updated, reassigned, or closed during the sprint.

Solution

The Jira Issues Macro embeds a live-queried list of Jira tickets directly in the release notes page using a JQL filter, automatically reflecting current ticket status, priority, and assignee without any manual updates.

Implementation

['Insert the Jira Issues Macro on the release notes Confluence page and open its configuration panel.', "Enter a JQL query such as 'project = BACKEND AND fixVersion = 3.2.1 ORDER BY priority DESC' to scope the macro to the correct sprint or release.", 'Select the columns to display: Issue Key, Summary, Status, Assignee, and Story Points.', 'Save the page β€” the macro will re-query Jira on every page load, ensuring stakeholders always see current ticket data.']

Expected Outcome

Release notes pages stay accurate throughout the sprint without any manual edits, reducing the time engineers spend updating documentation by approximately 2-3 hours per release cycle.

Building a Self-Navigating Architecture Decision Record Repository

Problem

Architecture Decision Records (ADRs) accumulate over months into long Confluence pages or nested spaces, making it difficult for new engineers to locate relevant decisions without scrolling through hundreds of lines of content.

Solution

The Table of Contents Macro automatically generates a clickable, hierarchical navigation panel from the heading structure of each ADR page, allowing engineers to jump directly to the decision context, rationale, or consequences sections.

Implementation

['Structure each ADR page with consistent H2 headings: Context, Decision, Rationale, Consequences, and Status.', 'Insert the Table of Contents Macro at the top of the ADR page template so every new ADR inherits it automatically.', 'Configure the macro to display headings from level 2 to level 3 only, filtering out minor sub-headings that clutter the TOC.', 'Publish the updated ADR template so all future ADRs auto-generate a navigable TOC on creation.']

Expected Outcome

New engineers onboarding to the codebase can locate the rationale or consequences of any architectural decision within seconds, reducing onboarding ramp-up time for architecture context from days to hours.

Surfacing Real-Time Document Review Status Across a Multi-Team Policy Library

Problem

Compliance and legal teams maintain dozens of policy documents in Confluence, but readers cannot tell at a glance whether a document is a draft, under legal review, approved, or deprecated β€” leading to teams acting on outdated or unapproved policies.

Solution

The Status Macro is placed at the top of each policy document and configured with color-coded labels (yellow for Draft, blue for In Review, green for Approved, red for Deprecated), giving readers an immediate visual signal of the document's authority.

Implementation

['Add a Status Macro in the document header section of the policy page template, positioned directly below the document title.', 'Configure the macro with four distinct statuses and colors: Draft (yellow), In Review (blue), Approved (green), Deprecated (red).', 'Establish a team convention that the document owner updates the Status Macro when the document moves through the review workflow.', 'Add an Info Panel Macro below the status badge to display the last review date and the name of the approving authority.']

Expected Outcome

Policy consumers immediately understand document authority before reading, and compliance audit trails become cleaner because status is embedded in the document itself rather than tracked in a separate spreadsheet.

Generating a Live On-Call Runbook Index Across Multiple Service Teams

Problem

SRE teams maintain runbooks across multiple Confluence spaces for different services, but during an incident, engineers waste critical minutes navigating nested spaces and page trees to find the correct runbook for the failing service.

Solution

The Confluence Children Display Macro and Page Properties Report Macro are combined to auto-generate a searchable, tabular index of all runbooks tagged with service name, severity level, and owning team β€” updated automatically as new runbooks are added.

Implementation

['Add a Page Properties Macro to each runbook template containing metadata fields: Service Name, Severity Tier, On-Call Team, and Last Tested Date.', "Create a central 'Runbook Index' Confluence page and insert a Page Properties Report Macro configured to aggregate all pages using the runbook template label.", 'Configure the report macro to display Service Name, Severity Tier, On-Call Team, and Last Tested Date as sortable columns.', "Bookmark the Runbook Index page in the SRE team's incident response channel so it is the first resource opened during an alert."]

Expected Outcome

During incidents, engineers locate the correct runbook in under 30 seconds from the index page, compared to the previous average of 4-6 minutes of manual navigation β€” measurably reducing mean time to resolution (MTTR).

Best Practices

βœ“ Embed Macros in Page Templates to Enforce Consistent Structure Across Teams

When macros like Table of Contents, Status, or Page Properties are added to Confluence page templates rather than individual pages, every new document created from that template inherits the macro automatically. This eliminates the dependency on individual contributors remembering to add navigation or metadata elements and ensures a uniform reading experience across hundreds of pages.

βœ“ Do: Add the Table of Contents Macro and Status Macro directly into your Confluence page templates for ADRs, runbooks, and policy documents so every new page is structured consistently from creation.
βœ— Don't: Don't rely on contributors to manually insert macros on each new page β€” this leads to inconsistent documentation where some pages have navigation aids and others do not, degrading the reader experience.

βœ“ Scope Jira Issues Macros with Precise JQL to Prevent Information Overload

The Jira Issues Macro can return hundreds of tickets if configured with a broad or vague JQL query, overwhelming readers with irrelevant issues and slowing page load times. Precise JQL filters scoped to a specific project, fix version, component, or label ensure the macro surfaces only the tickets that are contextually relevant to the documentation page.

βœ“ Do: Write targeted JQL such as 'project = PAYMENTS AND component = Checkout AND status != Done AND sprint in openSprints()' to display only active, relevant tickets on a team's sprint page.
βœ— Don't: Don't use open-ended JQL like 'project = PAYMENTS' that returns all tickets in a project regardless of status, sprint, or component β€” this creates an unmanageable list that readers will ignore.

βœ“ Use the Info and Warning Panel Macros to Differentiate Critical Callouts from Body Text

Readers scanning technical documentation often miss important caveats, prerequisites, or deprecation warnings when they are written as plain paragraphs. The Info, Warning, and Note Panel Macros visually distinguish these callouts with colored backgrounds and icons, directing the reader's eye to content that requires special attention before proceeding.

βœ“ Do: Use the Warning Panel Macro (red/orange) for destructive actions like database migrations or permission changes, the Info Panel Macro (blue) for prerequisites, and the Note Macro (yellow) for tips and non-critical context.
βœ— Don't: Don't bold plain text or write 'NOTE:' in capital letters as a substitute for panel macros β€” these formatting hacks are inconsistent across pages and lack the visual hierarchy that macros provide.

βœ“ Audit and Refresh Macros That Pull Live Data on a Scheduled Basis

Macros like Jira Issues, Page Properties Report, and RSS Feed dynamically pull external data, but the underlying JQL queries, page labels, or feed URLs can become stale as projects are renamed, archived, or restructured. Scheduling a quarterly macro audit ensures that dynamic content blocks still return accurate, relevant data rather than empty results or outdated information.

βœ“ Do: Create a recurring quarterly task for the documentation owner to open each page containing a Jira or Page Properties macro, verify the results are current and accurate, and update JQL queries or label filters to reflect any project restructuring.
βœ— Don't: Don't assume that because a macro was correct when it was created, it will remain accurate indefinitely β€” Jira project keys change, Confluence labels get renamed, and macros silently return empty or incorrect data without any error notification to readers.

βœ“ Limit the Number of Macros Per Page to Preserve Load Performance and Readability

Each macro that queries external systems like Jira or renders complex layouts adds processing overhead to the page load. Pages with more than five or six dynamic macros can become slow to render, particularly for readers on lower-bandwidth connections, and visually cluttered pages with excessive macros reduce comprehension rather than improving it.

βœ“ Do: Use a maximum of three to four dynamic macros (such as one Jira Issues Macro, one Status Macro, and one Table of Contents Macro) per page, and consolidate related information into a single well-configured macro rather than using multiple overlapping ones.
βœ— Don't: Don't add multiple Jira Issues Macros with slightly different JQL queries on the same page to display different ticket groupings β€” instead, use a single macro with a broader query and allow readers to sort or filter the results table themselves.

How Docsie Helps with Macro

Build Better Documentation with Docsie

Join thousands of teams creating outstanding documentation

Start Free Trial