-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Low
-
Component/s: Space - Import from other tools (3rd party)
-
None
-
Minor
Issue Summary
When importing from Notion to Confluence using the Notion importer, some pages are imported with the importing user shown as the creator and last modifier, instead of the original Notion author.
On investigation, the importer is consistently calling Notion’s pages endpoint:
- GET https://api.notion.com/v1/pages/\{pageId}
for each page, but for a subset of pages Notion intermittently returns HTTP 404 Not Found, even though:
- those pages exist in the Notion workspace, and
- their content is present in the export ZIP (so the page content itself migrates).
When GET /v1/pages/{pageId} returns 404, we cannot retrieve the page creator and last modifier, and we fall back to attributing the page to the importing user in Confluence. We currently do not know what differentiates pages that return 200 OK from those that return 404.
Steps to Reproduce
- In Notion, prepare a workspace with multiple pages owned/edited by different users (including pages in various team spaces and, if possible, some shared/private pages that are accessible to the exporting user).
- Perform a Notion workspace or multi-page export that includes those pages.
- In Confluence Cloud, go to Space settings → Content tools → Import and run the Notion importer, using:
- the exported ZIP file, and
- a valid Notion integration token (so that we call Notion APIs to enrich user/permissions metadata).
- Complete the import, ensuring that user import is enabled so that we attempt to map creators/editors.
- In Confluence, inspect the imported pages:
- Identify pages that are known in Notion to have a non-admin, non-importing creator/editor.
- Compare them with how they appear in Confluence (creator / last modifier fields).
Expected Results
For all pages that:
- exist in the Notion workspace, and
- are included in the exported ZIP,
the importer should be able to successfully call GET /v1/pages/{pageId} and retrieve valid page metadata, including:
- created_by (page creator)
- last_edited_by (last modifier)
In Confluence, the imported pages should show:
- the correct original creator, and
- the correct last modifier,
wherever those users are available/mappable, and not default to the importing user unless there is a clear, expected reason (e.g., user truly missing/deactivated per our documented behavior).
- Notion’s pages API should only return 404 for non-existent or truly inaccessible pages, not for existing pages that are present in the export.
Actual Results
For some pages, GET /v1/pages/{pageId} returns HTTP 200 and we correctly populate creator and last modifier from Notion’s response. For a subset of pages that still:
- exist in Notion, and
- are included in the exported ZIP,
the same GET /v1/pages/{pageId} call returns HTTP 404 Not Found. When this 404 occurs:
- we cannot retrieve the creator/last modifier;
- the importer falls back to using the importing user as the creator (and last modifier) in Confluence;
- this results in pages appearing as if they were created/last edited by the importing user, rather than the original Notion author.
According to our current investigation, there is no clear pattern yet that explains which pages return 404 and which succeed (no obvious consistent correlation with space, ownership, or permissions has been identified so far).
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available