Workflows & Recipes
This page collects practical acs2md workflows for customers who need repeatable, estate-scale operations rather than one-off command examples.
If this is your first run, start with Installation and First-Time Setup first. Come back here after the workstation, license, and Confluence access are already validated.
Continuity copy of a live space
Use this when the customer wants a current Markdown copy of a space outside the source platform.
acs2md space convert by-key DOCS \
--output-dir ./continuity/docs \
--syncWhy this workflow matters:
--synckeeps the output aligned with the live source space- the directory tree is usable outside Confluence immediately
- the customer gets a continuity copy that can be reviewed, backed up, and republished elsewhere
Archive-first export that keeps deleted content
Use this when the goal is preservation rather than strict mirroring.
acs2md space convert by-key DOCS \
--output-dir ./archive/docs \
--incrementalWhy this workflow matters:
- deleted Confluence pages stay in the local archive
- only changed pages are reprocessed on later runs
- the output behaves more like a long-term archive than a live mirror
Migration preparation before a platform move
Use this when the team needs a portable content tree before static-site migration or repository-based publishing.
acs2md space pages by-key DOCS --tree
acs2md space convert by-key DOCS \
--include-metadata \
--output-dir ./migration/docsWhy this workflow matters:
space pages --treevalidates the expected scope first- metadata helps preserve identifiers during migration planning
- the directory structure is easier to map into target platforms
Broad Markdown corpus for RAG or enterprise search
Use this when the customer wants repeatable estate-scale content for AI ingestion or search indexing.
acs2md space convert by-key KB \
--exclude-marks \
--embed-images=false \
--output-dir ./rag/kbWhy this workflow matters:
- a whole space can be converted into a consistent Markdown corpus
- plain-text oriented output is easier to chunk and index
- recurring runs can refresh the corpus without reprocessing unchanged pages
Governance and access review
Use this when permissions and metadata matter as much as the content itself.
acs2md space list --format json > governance/spaces.json
acs2md space properties by-key DOCS --format json > governance/docs-properties.json
acs2md space permissions by-key DOCS --resolve-users --format json > governance/docs-permissions.jsonWhy this workflow matters:
- inventory, metadata, and permission data can be captured together
--resolve-usersimproves stakeholder readability for review outputs- the workflow supports audits, cleanup, and migration governance work
Scheduled export for operations teams
Use this when the export must run on a schedule with minimal operator intervention.
export ACS2MD_CONFLUENCE_DOMAIN=mycompany.atlassian.net
export ACS2MD_CONFLUENCE_USERNAME=$CONFLUENCE_USER
export ACS2MD_CONFLUENCE_API_TOKEN=$CONFLUENCE_TOKEN
acs2md space convert by-key DOCS \
--output-dir ./scheduled/docs \
--sync \
--log-file acs2md.logWhy this workflow matters:
- environment variables keep secrets out of the command line history
- sync behavior is explicit and predictable
- logging creates an audit trail for recurring operational runs
Recommended sequence for customer-facing runs
- confirm readiness with
doctor - discover scope with
space listandspace pages - decide whether the output should behave like a mirror or an archive
- choose whether link rewriting and embedded images help or hurt the downstream use case
- treat permissions and properties as part of the export program when governance matters
Use acs2md when the requirement is scale, repeatability, and estate management. If the real need is one exact page, acp2md remains the sharper fit.