# Confluence Storage Macros Confluence Cloud storage format accepts a fixed set of macros. Anything not in this catalog either renders as plain text or fails silently. Before adding a new macro to a draft, check the name here. ## Inline | Macro | When | |-------|------| | `{code}` | Fenced code with optional language | | `{plantuml}` | Diagrams — see `diagram-plantuml` skill | | `{info}` | Info panel | | `{note}` | Note panel | | `{warning}` | Warning panel | | `{tip}` | Tip panel | | `{excerpt}` | Reusable fragment; also `excerpt-include` | | `{anchor}` | Inline anchor for `{pageref}` | | `{pageref}` | Cross-page reference by anchor | | `{children}` | Lists child pages | | `{include}` | Includes another page (full or excerpt) | | `{table-of-content}` | Outline from heading hierarchy | | `{expand}` | Collapsible section | | `{status}` | Coloured status pill | | `{cheese}` | Image gallery — prefer `image` element instead | | `{noformat}` | Plain monospace, no language hint | ## Panels Panels take rich-text bodies. PlantUML inside a panel does not render — put diagrams at body root. ```xml

Body goes here.

``` Available panel macros: `info`, `note`, `warning`, `tip`, `success`, `error`, `panel` (generic). ## Code block ```xml python example.py true ``` `language` accepts the short names from Confluence's language list (`python`, `java`, `javascript`, `typescript`, `go`, `bash`, `sql`, `json`, `yaml`, `xml`, `markdown`). Anything outside the list falls back to plain monospace. ## Tables Standard XHTML tables. Confluence does not need the `` wrapper for plain tables. ```xml
Column A Column B
cell cell
``` For sortable or filterable tables, use the `table-plus` macro — but only when the table is genuinely worth the overhead. ## Links - External: `label` - Page by title: `` - Page by id: `` - Attachment: `` - User mention: `` ## Attachments Attachments go through `mcp__atlassian.confluence_upload_attachment` / `confluence_create_page_from_file` (with the file path) — never as base64 in the body. See `attachments.md`. ## What is NOT a macro | Construct | Status | |-----------|--------| | Wiki markup (`{code}…{code}`) | Renders only on pages whose renderer is set to wiki; do not assume | | Markdown fences | Not interpreted; render as text | | HTML5 `
` | Rendered as plain HTML; works but no styling | | Inline SVG | Works but is not editable through the page editor; prefer PlantUML | | `