stephenkall93 downloadsPush an entire Obsidian vault into a custom Confluence parent page using Confluence REST API.
Sync your entire Obsidian vault to Confluence, preserving the folder structure as a page hierarchy. Obsidian wiki links become real Confluence page links, callout blocks become Confluence macros, and code blocks get syntax highlighting.
.md file becomes a Confluence page nested under the correct parent_ (MOC files) supply its content[[Page]], [[Folder/Page]], [[Page|Display Text]], and ![[Embed]] all become working Confluence links> [!note], > [!warning], > [!tip], > [!danger] etc. become Confluence info/warning/tip panelsNot yet in the Obsidian community plugin list. Install manually for now.
main.js and manifest.json from the latest release<your-vault>/.obsidian/plugins/obsidian-confluence-vault-uploader/To build from source:
git clone https://github.com/stephenkall/obsidian-confluence-vault-uploader.git
cd obsidian-confluence-vault-uploader
npm install
npm run build
# copy main.js + manifest.json to your vault's plugin folder
Open Settings → Confluence Vault Uploader and fill in:
| Field | Description |
|---|---|
| Confluence base URL | e.g. https://yourcompany.atlassian.net/wiki |
| Username | Your Atlassian account email |
| API token | Generate at Atlassian |
| Root page URL | Paste the full URL of the Confluence page that will be the sync root (space key and page ID are extracted automatically). Leave empty to sync under the space root. |
After filling in the root page URL, a confirmation line shows the extracted space and page ID. Use Test Connection to verify credentials before syncing.
Ctrl+P / Cmd+P)A file whose name starts with _ (e.g. _Overview MOC.md) is treated as the content of its parent folder's Confluence page rather than as a separate child page. This lets you write a rich index for each section.
01 - Overview/
├── _Overview MOC.md ← becomes the body of the "01 - Overview" page
├── Architecture.md ← child page
└── System Landscape.md ← child page
All standard Obsidian link formats are supported and resolved to real Confluence URLs in Phase 2:
| Obsidian syntax | Result |
|---|---|
[[Page Name]] |
Link to that page |
[[Folder/Page Name]] |
Link using a partial path (resolved from any depth) |
[[Page Name|Display text]] |
Link with custom display text |
![[Page Name]] |
Embed converted to a link |
| Obsidian callout | Confluence macro |
|---|---|
> [!note], > [!info] |
Info panel |
> [!tip], > [!success] |
Tip panel |
> [!warning], > [!caution] |
Warning panel |
> [!danger], > [!error], > [!bug] |
Warning panel |
![[file.jpg]] become links (Confluence image upload is not yet supported)- [ ] / - [x]) are converted to ☐/☑ plain text, since Confluence storage format does not support HTML checkbox elementsThis plugin reads every .md file in your vault to build the page hierarchy and resolve cross-file links. No file content is sent anywhere except to the Confluence instance you configure. Your Confluence credentials (URL, username, API token) are stored locally in Obsidian's plugin data and are never transmitted to any third party.