Search and Sharing

Export and Import

Export and Import

Export writes your content to files you can keep. Import brings a Confluence instance in, and a Slack workspace’s chat history.

Export a page or a space

Open a page, click the … button at the bottom of the right rail, and choose Export.

Export Type: Page exports the page you are on. Space exports every page in that space.

Format: Markdown or HTML for a page or a space, and PDF or Word for a page.

ChoiceYou get
Page, MarkdownA single .md file. The page title becomes a top-level heading.
Page, HTMLA single self-contained .html file with basic built-in styling.
Space, MarkdownA .zip of .md files, folders mirroring the page tree.
Space, HTMLA .zip of .html files, same folder structure.

Filenames come from page titles, with / \ ? % * : | " < > replaced by hyphens and a 200-character cap. Pages that have children get a folder of the same name next to their file.

Export a page as a PDF or Word document

PDF and Word turn a page into a finished document, such as a proposal: a cover page, a table of contents, and a header and footer with page numbers on every page after the cover.

Choose a Document template, then fill in the cover. Author starts as your name and Date as today; a template can ask for more, such as Client. A field left empty is left off the cover. Tick Include child pages to add every page inside this one, each starting on a new page under its own title. A document holds at most 200 pages.

  • PDF opens the document in a new tab and brings up your browser’s print dialog. Choose Save as PDF as the destination. The PDF shows each page exactly as you read it, diagrams and all. Page numbers and the running header come out in Chrome and Edge; other browsers print the document without them.
  • Word downloads a .docx. The table of contents fills in when Word opens the file (in LibreOffice, use Tools > Update). Pictures are included when they are stored on this server; a picture linked from another site, or in a format Word cannot show, becomes a line naming it. Mermaid diagrams and whiteboards shown in the page are included as pictures, and a whiteboard you may not open becomes the sentence “This whiteboard is not available to you.”; math shows its formula as text.

Administrators manage the templates under Admin > Document Templates. The built-in Standard template always comes first. A template sets the cover’s extra fields, the header and footer text, and whether the nexus name and logo appear on the cover. Header and footer text can use {title}, {author}, {date}, {nexus}, and the name of any cover field, such as {client}.

What survives in Markdown and HTML

ContentMarkdownHTML
Headings, paragraphs, hard breaksYesYes
Bold, italic, inline code, strikethroughYesYes
UnderlineNoYes
LinksYesYes
Bullet, ordered, and task listsYesYes
A numbered list’s own numbering styleNo, every level is numbered 1, 2, 3Yes
BlockquotesYesYes
Code blocks with language tagYesYes
Horizontal rulesYesYes
TablesYesYes
ImagesAs a URL referenceAs a URL reference
File attachmentsAs a link to the file, under its nameAs a link to the file, under its name
GalleriesIts images and files, in order, without the gridIts images and files, in order, without the grid
Whiteboards shown in the pageAs a picture inside the file, with a link to the boardAs a picture inside the file, with a link to the board

A whiteboard you are not allowed to open is exported as the sentence “This whiteboard is not available to you.” and nothing else, not even its name.

What does not survive

The converter handles the standard block set and nothing else. These are dropped or flattened:

  • Removed entirely: Mermaid diagrams, math (inline and block), a leftover Draw.io block, and embeds. These store their data in attributes the converter does not read, so they vanish without a trace. A Child pages block is removed too: it lists the pages inside this one when the page is read, and an export has no such list to show.
  • Flattened to plain text: callouts and toggles. The text inside survives; the box, the color, and the collapse behavior do not.
  • Ignored: inline comment highlights, and merged table cells (every cell exports as a plain cell).
  • Not included at all: comments, labels, version history, watchers, and page permissions.
  • Page properties: exported only where a page places a properties block, which becomes a table of the keys that block shows. Properties shown by the footer panel alone are not exported, because nothing in the document refers to them.

Internal [[page]] links export as links to server-relative paths, which will not resolve outside the app.

Import from Confluence

Administrators can pull content in from Confluence under Admin > Import. The section has tabs for Connection, Spaces, Upload export, Progress, and Report, and there are three ways in.

Over the API:

  1. On Connection, enter the instance type (Cloud, Data Center, or Server), base URL, and credentials (API token, personal access token, or username and password). Connections can be saved and reused.
  2. Test the connection, then pick which spaces to import on Spaces.
  3. Set Import Options: the target Nexus, whether to create new spaces or map into existing ones, and whether to include attachments.
  4. Start the job. Progress shows pages and attachments as they land, and you can pause, resume, or cancel it. When it finishes you get counts of imported pages, failed pages, and attachments.

From a file in the browser: Upload export takes the .zip Confluence produced, dropped straight into the browser. It only accepts a Confluence export archive, and an XML space export keeps more detail than an HTML one.

From a path on the server: the same Upload export tab also carries Import from a path on the server, which reads an archive the server can already see instead of pushing it through the browser. That is the only practical route for a multi-gigabyte export. It has to be allowed first: the operator sets IMPORT_SOURCE_PATHS to one or more directories and restarts the server, and a path outside those directories is refused, symlinks included.

Pick an archive from the list the server found, or type a path inside one of those directories, then choose what to do with it:

  • Analyze only, the default, walks the whole archive and writes the deficiency report without creating a single space, page, or attachment, so the cost of an import is known before anybody pays it.
  • Import now converts the archive into spaces and pages, with its own Create spaces that do not exist yet and Copy attachments and images checkboxes, and reports its progress on the Progress tab.

The archive is read where it lies and is never copied, moved, or deleted.

Confluence comments and page history are not imported. Pages arrive with their content and structure; conversations stay behind. A numbered list arrives without a numbering style of its own and counts by level (1, a, i), whatever style it had in Confluence.

Import chat history from Slack

An instance administrator can bring a Slack workspace’s channels, threads, reactions, pins and files into Chat, on the Chat history tab of Admin > Import. It needs the Chat licence.

  1. In Slack, export the workspace and download the .zip it produces. Private channels and DMs are in the export only on a paid Slack plan.
  2. On Chat history, choose the nexus the run is listed under, choose the .zip, and press Read the archive. A table lists every channel and DM with its messages, threads, files and people. Nothing is written yet.
  3. For each channel, choose where it goes: not imported, the instance, a nexus, or a page or folder in the tree (paste its link), where it becomes a chat page. A private channel can go only to a page or folder in the tree or nowhere; its chat page is sealed from the start, so people who can read the space cannot open it until they are given access. Sealing it needs full access to that space. Choose whether it lands as a live channel or as an archive to read, and whether a channel of the same name already there takes the history or gets a new channel beside it. A DM lands as a DM between its people.
  4. Press Import. When it finishes, the card lists what was written and what was not, with Open beside every channel that landed.

People are matched by email. Somebody without an account keeps their name on their messages, and a DM with them is not imported. Messages keep their Slack dates. Files are fetched from Slack while the import runs, so run it while the Slack workspace still exists; a file that cannot be fetched, or that the upload check refuses, is named in its message instead. Running the same export again adds only what is new.