Skip to content

Import & Export

Admins can export the entire knowledge base and import it back — a portable, human-readable copy of your document content. (For a complete database snapshot, see Backups & restore instead.)

It’s in Settings → Import & export.

Export all docs (.zip) downloads a zip containing:

manifest.json # spaces + a document index
documents/<space-slug>/<doc-slug>.md # one file per document

Every .md file carries the document’s metadata as YAML front-matter (title, type, status, space, tags, summary, author, timestamps) followed by the Markdown body. Drafts are included.

Upload an export zip — or any zip of front-matter Markdown files:

  • Documents are matched to existing ones by (space, title) and updated in place; otherwise they’re created.
  • Missing spaces are created automatically (using the manifest’s names/icons when present, otherwise the folder or front-matter value).
  • type and status are validated (defaulting to knowledge / draft); tags accept a YAML list or a comma-separated string.
  • Documents that require read confirmation are left unchanged (a published one, and a paused one, unpublished with the requirement still on, that the zip would publish; a zip that keeps a paused policy a draft updates the draft, and the decision waits for the publish) unless you tick Also overwrite documents that require read confirmation (off by default). An import cannot ask whether a change is an editorial fix or a material one, so the box is the decision: left unchecked, each such document is counted as skipped and listed under the warnings with the reason; checked, the document is overwritten and its edit default decides what readers see (under the recommended default everyone is asked to re-confirm; the History row reads source Import with your name). The run is written to the audit log as one row (document.import: the file, the counts and whether the box was ticked), and each overwritten policy is echoed as its own decision row with your name and address.

You get a summary of how many documents were created, updated, and skipped, with a warning for any file that couldn’t be read (e.g. a missing title) or any policy that was left unchanged. When the import changed the text of policies, the summary adds “3 policies will ask people to re-confirm.”; when it left some unchanged, “2 policies that require read confirmation were left unchanged.” For scripts, POST /api/import takes the multipart field overwrite_policies (1 to allow) and the result carries reconfirm_requested and policies_skipped.

Coming from another tool? Settings → Data → Migrate from another tool imports a Confluence or Notion export directly — no reshaping required.

  1. Export from the source:
    • Confluence — Space settings → Export space → HTML, and download the zip.
    • Notion — Settings → Export (or the ••• menu on a page) → Markdown & CSV, with Include subpages turned on, and download the zip.
  2. In CompassDocs, upload the zip. The format is auto-detected and you get a preview — the detected source and the number of pages and attachments found.
  3. Choose the destination: a new space (named for you, editable) or an existing space, and whether pages arrive as drafts to review or are published.
  4. Click Import.

What comes across:

  • Page hierarchy becomes nested pages (Confluence’s page tree; Notion’s sub-page folders), up to the 3-level nesting limit — anything deeper is flattened to the deepest allowed parent.
  • Formatting is converted to CompassDocs Markdown — headings, lists, tables, code blocks, and links. (Confluence’s HTML is converted automatically.)
  • Images and file attachments are imported and every reference is rewritten to the imported copy, so nothing points back at the old tool.

The import is admin-only and recorded in the audit log. Because pages can arrive as drafts, you can review everything before publishing.

  • Migrate from Confluence or Notion with the guided importer above (or from any other tool by shaping it into front-matter Markdown).
  • Bulk-edit offline: export, edit the .md files, re-import.
  • Move content between CompassDocs instances.