Confluence · Arazzo Workflow

Confluence Export a Page with Its Children, Attachments, and Labels

Version 1.0.0

Assemble a complete portrait of a page — body, child pages, attachments, and labels — in one read-only pass.

1 workflow 1 source API 1 provider
View Spec View on GitHub CollaborationContent ManagementDocumentationKnowledge BaseWikiArazzoWorkflows

Provider

confluence

Workflows

export-page-tree
Read a Confluence page together with its children, attachments, and labels.
Performs the four reads that together constitute a complete page export and returns them as one aggregated result.
4 steps inputs: bodyFormat, pageId outputs: attachments, body, children, labels, spaceId, title, versionNumber, webui
1
readPage
getPageById
Read the page itself, which carries the body, version, author, and space that anchor the rest of the export.
2
readChildPages
getChildPages
Walk the page's immediate children so the export records the subtree beneath it, ordered by their position in the page tree.
3
readAttachments
getPageAttachments
Collect the files stored against the page, whose download links an export needs in order to fetch the binaries separately.
4
readLabels
getPageLabels
Resolve the page's labels, which carry the taxonomy that would otherwise be lost when the content leaves Confluence.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Confluence Export a Page with Its Children, Attachments, and Labels
  summary: Assemble a complete portrait of a page — body, child pages, attachments, and labels — in one read-only pass.
  description: >-
    Confluence v2 splits a page's substance across four endpoints, so anything
    that has to leave Confluence intact — a migration, a backup, a
    documentation-as-code sync, or an agent grounding itself on a page — needs
    all four reads rather than the page body alone. This flow reads the page in
    storage format, walks its immediate children, collects its attachments, and
    resolves its labels, producing a single set of outputs that describes the
    page completely. It is strictly read-only. Every step spells out its request
    inline so the flow can be read and executed without opening the underlying
    OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: confluenceCloudV2
  url: ../openapi/confluence-cloud-v2.yml
  type: openapi
workflows:
- workflowId: export-page-tree
  summary: Read a Confluence page together with its children, attachments, and labels.
  description: >-
    Performs the four reads that together constitute a complete page export and
    returns them as one aggregated result.
  inputs:
    type: object
    required:
    - pageId
    properties:
      pageId:
        type: string
        description: The id of the page to export.
      bodyFormat:
        type: string
        description: >-
          The body representation to export, e.g. storage for round-trippable
          XHTML or export_view for rendered output.
  steps:
  - stepId: readPage
    description: >-
      Read the page itself, which carries the body, version, author, and space
      that anchor the rest of the export.
    operationId: getPageById
    parameters:
    - name: id
      in: path
      value: $inputs.pageId
    - name: body-format
      in: query
      value: $inputs.bodyFormat
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      title: $response.body#/title
      spaceId: $response.body#/spaceId
      pageStatus: $response.body#/status
      parentId: $response.body#/parentId
      authorId: $response.body#/authorId
      createdAt: $response.body#/createdAt
      versionNumber: $response.body#/version/number
      body: $response.body#/body
      webui: $response.body#/_links/webui
  - stepId: readChildPages
    description: >-
      Walk the page's immediate children so the export records the subtree
      beneath it, ordered by their position in the page tree.
    operationId: getChildPages
    parameters:
    - name: id
      in: path
      value: $inputs.pageId
    - name: limit
      in: query
      value: 250
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      children: $response.body#/results
      childrenCursor: $response.body#/_links/next
  - stepId: readAttachments
    description: >-
      Collect the files stored against the page, whose download links an export
      needs in order to fetch the binaries separately.
    operationId: getPageAttachments
    parameters:
    - name: id
      in: path
      value: $inputs.pageId
    - name: limit
      in: query
      value: 250
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      attachments: $response.body#/results
      attachmentsCursor: $response.body#/_links/next
  - stepId: readLabels
    description: >-
      Resolve the page's labels, which carry the taxonomy that would otherwise
      be lost when the content leaves Confluence.
    operationId: getPageLabels
    parameters:
    - name: id
      in: path
      value: $inputs.pageId
    - name: limit
      in: query
      value: 250
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      labels: $response.body#/results
  outputs:
    title: $steps.readPage.outputs.title
    spaceId: $steps.readPage.outputs.spaceId
    versionNumber: $steps.readPage.outputs.versionNumber
    body: $steps.readPage.outputs.body
    webui: $steps.readPage.outputs.webui
    children: $steps.readChildPages.outputs.children
    attachments: $steps.readAttachments.outputs.attachments
    labels: $steps.readLabels.outputs.labels