Notion Import From Confluence Loses Page Hierarchy: Fix
🔍 WiseChecker

Notion Import From Confluence Loses Page Hierarchy: Fix

When you import a Confluence space into Notion, the resulting pages may all appear at the top level of your Notion sidebar instead of nested in their original parent-child structure. This is not a random bug but a direct result of how Notion’s Confluence importer handles page relationships during the conversion process. This article explains why the hierarchy breaks and provides the exact steps to restore the correct page tree in your Notion workspace.

Key Takeaways: Restoring Page Hierarchy After Confluence Import

  • Sidebar drag-and-drop: Manually re-parent pages after import by dragging child pages onto their parent in the sidebar.
  • Database Views > Linked Database: Use a linked database view to see all imported pages in one table, then sort by “Created” to rebuild the hierarchy faster.
  • Notion API (advanced): For large spaces, use the Notion API with the “Update page parent” endpoint to batch-reparent pages without manual work.

ADVERTISEMENT

Why Confluence Page Hierarchy Breaks During Import

Confluence uses a tree-based page model where each page has a single parent page, forming a strict hierarchy. Notion uses a block-based model where every page is a top-level item in the sidebar by default, and nesting is achieved by dragging pages onto other pages. The Confluence importer tool built into Notion converts page content but does not preserve the parent-child relationships from Confluence. Instead, it imports all pages as top-level pages in the selected Notion workspace or database. The importer also flattens Confluence attachments and macros into Notion blocks, which further complicates any attempt to automatically detect the original hierarchy. As a result, after import, you see a flat list of pages with no indentation or nesting.

What the Importer Actually Preserves

The importer does keep page titles, body content, images, and basic formatting. It also creates a page for each Confluence page, but it does not write any “parent” metadata or create subpages automatically. The hierarchy is lost at the moment of conversion because the Notion importer does not map the Confluence page tree to Notion’s nesting feature. This is a known limitation of the tool, not a bug that can be fixed by reinstalling or re-importing.

Steps to Manually Restore the Page Hierarchy

The only reliable way to restore the original nesting is to manually re-parent each child page onto its parent page. This works best when you have a small to medium Confluence space (under 100 pages). Follow these steps exactly.

  1. Open the Notion sidebar
    After the import completes, open your Notion workspace. You will see all imported pages listed flatly under the workspace name in the left sidebar. Each page appears as a separate item with no indentation.
  2. Identify the top-level parent pages
    Refer to your original Confluence page tree. Top-level parents are the pages that had no parent in Confluence (usually the space home page and main category pages). Leave these pages as they are in the sidebar.
  3. Drag a child page onto its parent
    Click and hold the name of a child page in the sidebar. Drag it directly onto the name of its parent page. When you see a blue highlight line appear around the parent page name, release the mouse button. The child page now appears indented below the parent in the sidebar.
  4. Repeat for all child pages
    Continue dragging each child page onto its correct parent. For deeper nesting (grandchild pages), first nest the child page under its parent, then drag the grandchild page onto the child page. Notion supports up to five levels of nesting.
  5. Use the “Created” sort for large imports
    If you have more than 50 pages, create a new database view to see all imported pages in one table. Click + Add a view in the database, select Table view, then sort by the “Created” column in ascending order. This groups pages by import time, making it easier to match them to the Confluence tree.

Using a Linked Database View to Speed Up the Process

If you imported the Confluence space into a Notion database instead of a page, you can use a linked database view to see all pages and rebuild hierarchy more efficiently.

  1. Create a linked database view
    Go to any page in your workspace, type /linked, and select “Linked view of database.” Choose the database that contains your imported Confluence pages.
  2. Add a “Parent” relation column
    In the database, add a new Relation column named “Parent.” For each page, you can manually link it to its parent page using this relation. This does not change the sidebar nesting, but it gives you a visual map of the hierarchy.
  3. Use the relation to guide manual dragging
    Open each page in the database view, note its parent from the relation column, then go to the sidebar and drag the page onto the correct parent. This reduces the chance of misplacing a page.

ADVERTISEMENT

If Notion Import Still Shows a Flat Hierarchy

Some users attempt to re-import the Confluence space, hoping the hierarchy will appear the second time. This does not work because the importer itself does not support hierarchy preservation. The following issues may also occur.

Imported Pages Are Missing Content After Drag

When you drag a page onto another page, Notion does not delete any content. If content appears missing, check that you did not accidentally drag the page into a collapsed toggle block or into a different database. Use the page breadcrumbs at the top of the editor to verify the page is now a child of the correct parent.

Sidebar Does Not Show Indentation After Drag

Notion’s sidebar may take a few seconds to refresh after a drag operation. If indentation does not appear immediately, click anywhere in the workspace and then look at the sidebar again. If the page still appears flat, you may have dropped it onto the wrong target. Undo the action with Ctrl+Z and try again.

Importing a Very Large Confluence Space (Over 500 Pages)

Manual drag-and-drop becomes impractical for spaces with hundreds of pages. In this case, use the Notion API. Generate an integration token in Notion, then use the Update a page endpoint to change the parent of each page. You will need to map the original Confluence page IDs to Notion page IDs. This requires programming knowledge but can restore the full hierarchy in minutes. Notion’s developer documentation provides the exact API call format.

Manual Drag-and-Drop vs Notion API: Methods Compared

Item Manual Drag-and-Drop Notion API
Best for Spaces with under 100 pages Spaces with 100+ pages or recurring imports
Time required 5–30 minutes depending on page count 15–60 minutes to write and test the script
Risk of error High — easy to drop a page onto the wrong parent Low — script can validate parent-child mapping
Technical skill needed None Basic programming (Python or JavaScript)
Preserves page content Yes — no content loss during drag Yes — API updates only the parent property

Now you understand why Confluence imports flatten the page hierarchy and have two concrete methods to restore nesting. For a one-time import with fewer than 100 pages, use the sidebar drag-and-drop method. For large or repeated imports, invest time in the Notion API script. After restoring the hierarchy, consider adding a Table of Contents block to each parent page so users can navigate the restored tree without relying on the sidebar alone.

ADVERTISEMENT