Confluence → Obsidian
Move documents, hierarchy, links, attachments, structured data, comments, permissions, search, templates, and integrations from Confluence into Obsidian with an explicit exception ledger and evidence-based cutover.
Should you make this move?
Both platforms have a case. Compare what you gain with what you give up before scheduling the cutover.
Confluence
- Mature permissions, templates, and Jira integration support governed team documentation
- Flexible documents make it easy to capture and organize team knowledge
- Editing and information architecture can become cumbersome as spaces grow
- Structure, links, permissions, and rich blocks often degrade during export
Obsidian
- Local Markdown files, backlinks, and plugins provide durable personal knowledge ownership
- Flexible documents make it easy to capture and organize team knowledge
- Real-time collaboration, permissions, and managed team administration are limited
- Structure, links, permissions, and rich blocks often degrade during export
Obsidian: Local Markdown files, backlinks, and plugins provide durable personal knowledge ownership. This removes a major source-side concern: Editing and information architecture can become cumbersome as spaces grow.
What you lose: Mature permissions, templates, and Jira integration support governed team documentation. What you inherit: Real-time collaboration, permissions, and managed team administration are limited.
Know the shape of the move.
This timeline assumes
- Up to 100,000 documents, 500 users, and 250 GB of attachments
- A content owner approves the destination information architecture.
- The source remains available until assets, links, search, and access checks pass.
- A representative space, notebook, or folder is imported before the full corpus.
- The migration team records evidence for every blocking verification check.
What survives the move.
“Partial” and “manual” are not footnotes. They are work that must be scheduled and verified.
| Item | Outcome | Impact | What happens | Mitigation |
|---|---|---|---|---|
| Spaces, pages, hierarchy, attachments, links, and authorship evidence | partial | critical | Core spaces, pages, hierarchy, attachments, links, and authorship evidence can move, but Confluence and Obsidian use different models, limits, identifiers, and import behavior. | Pilot every feature class, preserve source IDs, and reconcile accepted, transformed, rejected, and excluded items. |
| Macros, comments, tasks, permissions, page history, and marketplace apps | lost | critical | Confluence collaboration, governance, and macro runtime do not become native Obsidian Markdown behavior. | Inventory every active dependency, approve its destination disposition, and test the replacement before source writes stop. |
| Pages, documents, and notes | partial | critical | Core text can move while rich blocks, layout, and embedded applications change. | Compare every content class and a stratified page sample. |
| Hierarchy and navigation | partial | high | Spaces, folders, notebooks, pages, and databases have different nesting rules. | Create a destination information architecture before import. |
| Links, anchors, and backlinks | partial | high | Internal IDs and anchor formats change during conversion. | Build a link registry and require zero unexplained critical broken links. |
| Images, files, and embeds | partial | critical | Some assets copy while remote, large, or authenticated resources remain source-dependent. | Copy required binaries and test them with ordinary-user access. |
| Tables and databases | partial | critical | Static table values can move more easily than relations, views, formulas, and rollups. | Classify each structure as content, data, or application before migration. |
| Comments and mentions | partial | high | Coverage, threads, resolutions, and user attribution vary by importer. | Resolve active discussions and archive complete source evidence. |
| Permissions and external sharing | manual | critical | Access inheritance, guests, public links, and restrictions use different models. | Apply and test a signed destination access matrix. |
| Version and audit history | lost | high | Current content can move without becoming native destination revision history. | Keep immutable exports and source access for the retention period. |
| Templates and reusable blocks | manual | medium | Source templates and synchronized content do not execute on the destination. | Rebuild only approved templates after content verification. |
| Search metadata and OCR | partial | high | Indexes, OCR text, aliases, and ranking do not transfer as identical search behavior. | Run known-result queries and retain OCR text where required. |
Where each thing goes.
| Source | Destination | Method | Notes |
|---|---|---|---|
| Confluence space, notebook, or top-level area | Obsidian workspace, space, teamspace, or folder | manual | Design access and hierarchy before content. |
| Page, document, or note | Destination page or file | transform | Preserve source ID and original URL. |
| Heading and rich text | Destination blocks or Markdown | transform | Review unsupported formatting. |
| Child page or folder | Destination child page or folder | transform | Respect destination nesting limits. |
| Tag, label, or property | Destination property, tag, or label | transform | Normalize names and option values. |
| Internal link | Destination page link | transform | Resolve after all destination IDs exist. |
| Attachment or image | Destination file | transform | Copy the binary and preserve alt text. |
| Comment or mention | Destination comment or archived evidence | transform | Preserve authorship where the importer supports it. |
| Permission or share | Destination access rule | manual | Apply from the approved access matrix. |
Make the move recoverable.
Create the source-of-truth backup
Preserve Confluence data, configuration, and operating evidence before any destination write.
- Export all available Confluence content, attachments, users, comments, and settings.
- Crawl or index page hierarchy, links, permissions, public shares, templates, and integrations.
- Record counts by space, folder, content type, owner, and access class.
- Hash raw exports and transform working copies only.
Proof to capture: A signed manifest reconciles every scoped record class, runtime dependency, export file, count, and hash.
Information architecture and link registry
Preserve hierarchy, ownership, and navigation.
- Inventory source values and exceptions.
- Define explicit destination mappings.
- Reject unmapped critical records.
Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.
Content and asset transformer
Create valid destination pages with durable files and links.
- Normalize encoding, dates, identifiers, and blanks.
- Run a representative pilot.
- Reconcile accepted, rejected, and transformed rows.
Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.
The things most likely to hurt.
These are operating limits. Treat every “Stop if” condition as a blocked migration, not a suggestion.
Content imports but application behavior disappears
Pages render while formulas, embeds, buttons, or integrations no longer work.
- Consequence
- Readers see incomplete or misleading procedures.
- Mitigation
- Classify runtime blocks and replace critical behavior first.
Stop if: A critical page depends on an unsupported action.
Restricted knowledge becomes public
Imported pages inherit broader access than their source.
- Consequence
- Confidential information is exposed.
- Mitigation
- Apply and test the access matrix before publication.
Stop if: An unauthorized test user can open restricted content.
Links or assets still depend on the source
Destination pages reference authenticated or soon-to-close source URLs.
- Consequence
- Knowledge breaks after source shutdown.
- Mitigation
- Rewrite links and copy required assets before cleanup.
Stop if: A critical page or file requires source access.
Do the work in this order.
- Days 1–3 · inventory
Inventory and decisions
6–12 hours active2–3 days elapsedOwner review waiting- Inventory Confluence data, features, users, domains, and integrations.
- Approve scope, owners, mappings, and exclusions.
Depends on: Confluence and Obsidian administrator access
Stop / go checkpointExport?
Go when: Every critical item has an owner and disposition.
Stop when: Consent, billing, access, or system ownership is unclear.
- Days 3–5 · backup
Backup and reconcile
5–10 hours active1–3 days elapsedExport processing waiting- Create immutable exports and configuration evidence.
- Reconcile counts, totals, and hashes.
Depends on: Approved inventory
Stop / go checkpointTransform?
Go when: Source totals and export manifests agree.
Stop when: Any critical dataset or configuration is absent.
- Days 5–12 · pilot
Map and pilot
10–35 hours active3–8 days elapsedDestination processing and review waiting- Configure Obsidian and transform representative data.
- Run a pilot containing normal records and every critical edge case.
Depends on: Verified backup
Stop / go checkpointScale?
Go when: Pilot mappings, behavior, access, and evidence pass.
Stop when: Any critical check fails or produces unexplained variance.
- Days 10–20 · cutover
Final delta and switch
5–25 hours active1–5 days elapsedDNS, import, or sync propagation waiting- Freeze production writes in Confluence.
- Apply the final delta, switch ownership, and run blocking checks.
Depends on: Passed pilot and approved rollback
Stop / go checkpointOpen production?
Go when: Counts reconcile and one destination system owns production.
Stop when: A source writer remains active or a blocking check fails.
- Days 12–40 · observe
Observe and close
3–18 hours active3–10 days elapsedOperating-cycle evidence waiting- Monitor one complete operating cycle.
- Sign the verification report and close rollback only after stability.
Depends on: Verified cutover
Stop / go checkpointClose rollback?
Go when: No trigger occurs during the agreed observation period.
Stop when: Data, access, delivery, routing, or business results regress.
Cut over with a way back.
Cutover
Make Obsidian the only production system without losing the final Confluence delta.
- Freeze production writes and scheduled actions in Confluence.
- Export, transform, and reconcile the final delta.
- Apply the approved delta to Obsidian.
- Switch domains, forms, integrations, sending, or sync ownership as applicable.
- Run every blocking verification check and keep the source intact.
Proof to capture: Obsidian owns production, totals reconcile, and every blocking check has durable evidence.
Rollback
Return production ownership to Confluence without losing destination-era changes.
- Stop new writes and scheduled actions in Obsidian.
- Restore the prior Confluence routing, forms, integrations, sending, or sync ownership.
- Export the Obsidian post-cutover delta.
- Review and apply safe destination-era changes to Confluence.
- Run the same blocking checks against the restored source.
Proof to capture: Confluence again owns production with current data and no duplicate destination action.
- Unexplained critical count or value variance
- Missing or exposed critical data
- Duplicate production action
- Failed access, routing, delivery, or integration check
- A critical feature has no safe destination replacement
Prove the migration worked.
Every blocking check must pass. Capture the evidence before cleanup begins.
| Pass | ID | Check | Method | Expected result | Evidence |
|---|---|---|---|---|---|
V-01Blocking | Content reconciliation | Compare counts by space, folder, type, owner, and access class. | Every scoped item is accounted for. | Content ledger. | |
V-02Blocking | Navigation structure | Traverse representative top-level and deeply nested content. | Approved hierarchy and navigation are present. | Navigation report. | |
V-03Blocking | Block and formatting parity | Compare stratified pages containing every block class. | Meaning and required structure are preserved. | Content review. | |
V-04Blocking | Internal and external link integrity | Crawl destination links and anchors. | No unexplained critical broken link. | Link report. | |
V-05Blocking | File independence | Compare hashes and test files as ordinary users. | Every required file is durable and accessible. | Asset report. | |
V-06Blocking | Permissions and public sharing | Test representative internal, guest, and anonymous roles. | Access matches the signed matrix. | Access evidence. | |
V-07 | Known-result queries | Run approved exact and conceptual searches. | Critical knowledge is discoverable. | Search matrix. | |
V-08Blocking | Runtime and ownership | Test critical embeds, automations, templates, and content ownership. | Obsidian owns current knowledge safely. | Operating checklist. |
Remove the scaffolding safely.
Safe after: One complete operating cycle, at least seven stable days, and owner sign-off on every blocking check.
- Create final Confluence exports and archive verification evidence.
- Revoke temporary credentials, API keys, webhooks, and elevated roles.
- Remove obsolete embeds, forms, jobs, integrations, and DNS records.
- Keep the source intact through the approved retention window.
- Cancel paid plans only after billing, legal, and recovery review.
- Schedule the next Obsidian backup, access, and migration-playbook review.
Built to be reviewed.
Tested 2026-07-19. Next scheduled review: 2026-10-19.
- Confluence: official migration documentationAccessed 2026-07-19
- Obsidian: official migration documentationAccessed 2026-07-19