When you import Confluence pages into Notion, some content appears as empty blocks or raw error text instead of the formatted information you expect. This problem occurs because Notion cannot process Confluence macro blocks — automated content elements like Jira issues, charts, or dynamic tables that Confluence renders server-side. This article explains why macro blocks break during import and provides specific steps to identify, replace, and manually transfer that content so your Notion workspace ends up complete.
Key Takeaways: Fixing Confluence Macro Block Import Errors
- Confluence > Export > HTML or XML: Use HTML export to preserve more macro content than the default Confluence-to-Notion direct import.
- Manual macro identification: Review the imported page for gray boxes labeled “Unsupported block type” — these mark where macros failed.
- Third-party tool (e.g., Relational.io): Converts Confluence macros into Notion-compatible blocks, saving hours of manual re-entry.
Why Confluence Macro Blocks Fail During Notion Import
Confluence macros are server-rendered components that generate dynamic content — Jira issue lists, status charts, decision tables, and user profile cards. When Notion imports a Confluence page, it receives the raw markup or an HTML snapshot of the page. Notion does not have a built-in renderer for Confluence macro syntax, so it cannot interpret the macro instructions.
The import process typically results in one of three outcomes for macro content:
- The macro block appears as a plain text error message (e.g., “[Unsupported macro: jira-issues]”)
- The block shows an empty gray area with the label “Unsupported block type”
- The macro content is silently dropped, leaving a gap in the page structure
This behavior is not a bug — it is a design limitation. Confluence and Notion use different content architectures. Confluence relies on a plugin-based macro system, while Notion uses a block-based editor with a fixed set of native block types. No direct import tool can translate every macro because the two platforms do not share a common content model for dynamic elements.
Macro Types That Commonly Break
The following Confluence macros almost always fail during import:
- Jira Issue/Filter Macro: Displays a live list of Jira issues based on a JQL query
- Chart Macro: Renders pie charts, bar charts, or line graphs from table data
- Status Macro: Shows a colored status label (e.g., “In Progress”, “Done”)
- Profile Macro: Displays a user avatar and details from the Confluence user directory
- Table of Contents Macro: Generates a dynamic table of contents from page headings
- Include Page Macro: Embeds content from another Confluence page
- Office Excel/Word Macro: Embeds a view of an Office document stored in Confluence
Steps to Identify and Replace Broken Macro Content
Follow this process to locate every failed macro block in your imported Notion page and replace it with equivalent Notion content.
- Open the imported page in Notion
Navigate to the page that was created from the Confluence import. Scroll through the entire page. Look for gray boxes with the text “Unsupported block type” or raw error text such as “[Unsupported macro: …]”. - Make a list of each failed macro
For every unsupported block, note the macro name shown in the error text. For example, if you see “[Unsupported macro: jira-issues]”, write down “jira-issues”. This list tells you what content is missing. - Open the original Confluence page in a browser
Go back to the Confluence instance where the page originated. Open the same page and locate each macro you identified. Copy the rendered output — the text, numbers, or links that the macro generated. - Replace the broken block with a Notion equivalent
In Notion, delete the unsupported block. Insert the appropriate Notion block type in its place. For a Jira issue list, use a Notion database with a Jira integration. For a chart, create a Notion table and use a chart embedding tool like Whimsical or Mermaid block. For a table of contents, use Notion’s built-in Table of Contents block. - Use the Confluence HTML export for richer content
Instead of using the direct Confluence-to-Notion import, export the Confluence space as HTML. In Confluence, go to Space Settings > Content Tools > Export > Export as HTML. Download the ZIP file. Then in Notion, use Import > HTML to upload the exported files. HTML export preserves more macro content as static text and images. - Use a third-party migration tool for bulk macros
If you have dozens of macros across many pages, manual replacement is too slow. Tools like Relational.io or CloudFuze can convert Confluence macros into Notion-compatible blocks. These tools parse the macro definitions and create native Notion blocks — for example, turning a Jira issue macro into a linked Notion database view.
If Notion Still Has Issues After the Main Fix
Imported page contains duplicate content
Sometimes the import creates two copies of the same macro content — one as an unsupported block and one as static text. Delete the unsupported block and keep the static text version. To prevent duplicates, use the Confluence XML export instead of HTML export. XML export produces a single structured file that Notion processes more cleanly.
Jira issue macro shows only an error
The Jira issue macro cannot be imported because it relies on a live connection to Jira. In Notion, create a new database and use the Jira integration (Settings & Members > Connections > Jira) to pull issues directly. This gives you a live, updating view rather than a static snapshot.
Include Page macro results in a blank area
The Include Page macro embeds content from another Confluence page. Notion cannot resolve this reference. Manually open the included page in Confluence, copy its content, and paste it into the Notion page at the same location. If the included page changes frequently, consider linking to the Confluence page as a bookmark instead of embedding the content.
Table of Contents macro does not appear
Notion has its own Table of Contents block. Type /table of contents on a new line and press Enter. The block automatically generates a list of headings from the current page. This works better than the Confluence version because it updates in real time as you edit headings.
Confluence Macro Import Methods Compared
| Item | Direct Confluence-to-Notion Import | HTML Export Then Import | Third-Party Tool (e.g., Relational.io) |
|---|---|---|---|
| Macro support | None — all macros become unsupported blocks | Partial — some macros render as static text or images | High — converts macros to native Notion blocks |
| Effort for small import (under 10 pages) | Low — import runs automatically | Medium — requires export and manual cleanup | High — paid tool with setup time |
| Effort for large import (over 100 pages) | Low import but high cleanup | Medium export, high cleanup | Low — bulk conversion with minimal manual work |
| Cost | Free | Free | Subscription or per-migration fee |
After importing, you can now identify every Confluence macro that failed to render and replace it with a Notion-native block. For a single page, use the manual replace method with the original Confluence page open. For a full workspace migration, invest in a third-party tool that converts macros automatically. As an advanced tip, before importing, run a Confluence macro inventory report (available in Confluence Administration > Content Tools > Macro Usage) to know exactly which macros exist in your space — this lets you plan replacements before you start the import.