Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Confluence connector

OAuth 2.0 Project ManagementFiles & DocumentsCollaboration

Connect to Confluence. Manage spaces, pages, content, and team collaboration

Confluence connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your Confluence credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your Scalekit environment with the Confluence connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. Then complete the configuration in your application as follows:

    1. Set up auth redirects

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find Confluence and click Create. Copy the redirect URI. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

        Copy redirect URI from Scalekit dashboard

      • In the Atlassian Developer Console, open your app and go to AuthorizationOAuth 2.0 (3LO)Configure.

      • Paste the copied URI into the Callback URL field and click Save changes.

        Add callback URL in Atlassian Developer Console

    2. Get client credentials

      In the Atlassian Developer Console, open your app and go to Settings:

      • Client ID — listed under Client ID
      • Client Secret — listed under Secret
    3. Add credentials in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.

      • Enter your credentials:

        Add credentials for Confluence in Scalekit dashboard

      • Click Save.

  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'confluence'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Confluence:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'confluence_blogpost_list',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Create blogpost, footer comment, page — Create a new blog post in a Confluence space
  • Get blogpost, footer comments, page attachments — Retrieve a specific Confluence blog post by its ID
  • List blogpost, page, space — List blog posts in Confluence
  • Delete page — Delete a Confluence page by its ID
  • Update page — Update an existing Confluence page
  • Search records — Search Confluence content using Confluence Query Language (CQL)
Proxy API call

Don’t worry about the Confluence cloud ID in the path. Scalekit automatically resolves {{cloud_id}} from the connected account’s configuration. For example, a request with path="/wiki/rest/api/user/current" will be sent to https://api.atlassian.com/ex/confluence/a1b2c3d4-e5f6-7890-abcd-ef1234567890/wiki/rest/api/user/current automatically.

const result = await actions.request({
connectionName: 'confluence',
identifier: 'user_123',
path: '/wiki/rest/api/user/current',
method: 'GET',
});
console.log(result);
Execute a tool
const result = await actions.executeTool({
connector: 'confluence',
identifier: 'user_123',
toolName: 'confluence_list',
toolInput: {},
});
console.log(result);

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

confluence_blogpost_create # Create a new blog post in a Confluence space. Requires a target space ID and a title. Optionally set the status (published or draft) and provide body content in storage or atlas_doc_format representation. Set the private query parameter to restrict visibility. 6 params

Create a new blog post in a Confluence space. Requires a target space ID and a title. Optionally set the status (published or draft) and provide body content in storage or atlas_doc_format representation. Set the private query parameter to restrict visibility.

Name Type Required Description
spaceId string required The ID of the space to create the blog post in
title string required Title of the blog post
body_representation string optional Storage format of the body content
body_value string optional The content of the blog post body
private boolean optional Whether to create the blog post as private
status string optional Publication status of the blog post
confluence_blogpost_get # Retrieve a specific Confluence blog post by its ID. Returns the blog post content, metadata, author, space, status, and version history. Optionally include body content in a specified format, fetch a draft version, or a historical version. 5 params

Retrieve a specific Confluence blog post by its ID. Returns the blog post content, metadata, author, space, status, and version history. Optionally include body content in a specified format, fetch a draft version, or a historical version.

Name Type Required Description
id string required The numeric ID of the blog post to retrieve
body_format string optional Format of the blog post body to include in the response
get_draft boolean optional Whether to retrieve the draft version of the blog post
include_labels boolean optional Whether to include labels applied to the blog post
version integer optional Version number of the blog post to retrieve
confluence_blogpost_list # List blog posts in Confluence. Filter by blog post IDs, space IDs, sort order, status, title, or body format. Returns paginated results with cursor-based navigation. 8 params

List blog posts in Confluence. Filter by blog post IDs, space IDs, sort order, status, title, or body format. Returns paginated results with cursor-based navigation.

Name Type Required Description
body_format string optional Format of the blog post body to return
cursor string optional Cursor token for fetching the next page of results
id array optional Filter by specific blog post IDs
limit integer optional Maximum number of blog posts to return per page
sort string optional Sort order for the results
space_id array optional Filter blog posts by space IDs
status string optional Filter blog posts by status
title string optional Filter blog posts by title (partial match)
confluence_page_attachments_get # Retrieve all attachments on a Confluence page. Returns a paginated list of attachments with metadata including filename, media type, file size, and download URL. Supports filtering by media type or filename and cursor-based pagination. 6 params

Retrieve all attachments on a Confluence page. Returns a paginated list of attachments with metadata including filename, media type, file size, and download URL. Supports filtering by media type or filename and cursor-based pagination.

Name Type Required Description
id string required The ID of the page whose attachments to retrieve
cursor string optional Cursor token for pagination, returned in the previous response as _links.next
filename string optional Filter attachments by exact filename
limit integer optional Maximum number of attachments to return per page (default 25, max 250)
media_type string optional Filter attachments by MIME media type (e.g. image/png, application/pdf)
sort string optional Sort order for attachments (e.g. created-date, -created-date, modified-date, -modified-date)
confluence_page_children_get # Retrieve the direct child pages of a given Confluence page. Returns a paginated list of child pages with their IDs, titles, and statuses. Use cursor-based pagination to iterate through large result sets. 4 params

Retrieve the direct child pages of a given Confluence page. Returns a paginated list of child pages with their IDs, titles, and statuses. Use cursor-based pagination to iterate through large result sets.

Name Type Required Description
id string required The ID of the parent page whose children to retrieve
cursor string optional Cursor token for pagination, returned in the previous response as _links.next
limit integer optional Maximum number of child pages to return (default 25, max 250)
sort string optional Sort order for child pages (e.g. -modified-date, id, title, -title)
confluence_page_create # Create a new Confluence page in a specified space. Requires a space ID and title. Optionally set the initial status (current for published, draft for unpublished), a parent page, and body content. The body requires both body_representation and body_value to be provided together. 8 params

Create a new Confluence page in a specified space. Requires a space ID and title. Optionally set the initial status (current for published, draft for unpublished), a parent page, and body content. The body requires both body_representation and body_value to be provided together.

Name Type Required Description
spaceId string required The ID of the space in which to create the page
title string required Title of the new page
body_representation string optional The markup format for the page body (e.g. storage, atlas_doc_format). Must be set together with body_value.
body_value string optional The raw content of the page body in the format specified by body_representation. Must be set together with body_representation.
parentId string optional ID of the parent page under which this page will be created
private boolean optional Set to true to create the page as a private page visible only to the creator
root_level boolean optional Set to true to create the page at the root level of the space (no parent)
status string optional Initial status of the page: current (published) or draft (unpublished)
confluence_page_delete # Delete a Confluence page by its ID. By default moves the page to the trash; set purge=true to permanently delete without recovery. Set draft=true to delete a draft version instead of the published page. This action is irreversible when purge is enabled. 3 params

Delete a Confluence page by its ID. By default moves the page to the trash; set purge=true to permanently delete without recovery. Set draft=true to delete a draft version instead of the published page. This action is irreversible when purge is enabled.

Name Type Required Description
id string required The ID of the page to delete
draft boolean optional Set to true to delete the draft version of the page rather than the published version
purge boolean optional Set to true to permanently delete the page, bypassing the trash
confluence_page_get # Retrieve a single Confluence page by its ID. Returns the page title, status, version, space, and optionally the full body content. Use body_format to control the markup format returned. Additional flags expose labels, properties, and version history. 7 params

Retrieve a single Confluence page by its ID. Returns the page title, status, version, space, and optionally the full body content. Use body_format to control the markup format returned. Additional flags expose labels, properties, and version history.

Name Type Required Description
id string required The ID of the page to retrieve
body_format string optional Format for the returned page body (e.g. storage, atlas_doc_format, anonymous_export_view)
get_draft boolean optional Set to true to retrieve the draft version of the page instead of the published version
include_labels boolean optional Set to true to include labels attached to the page in the response
include_properties boolean optional Set to true to include content properties attached to the page
include_version boolean optional Set to true to include full version details in the response
version integer optional Specific version number of the page to retrieve (defaults to latest)
confluence_page_labels_get # Retrieve all labels attached to a Confluence page. Labels can be filtered by prefix (e.g. global, my, team). Returns a paginated list of label names and prefixes. Use cursor-based pagination for pages with many labels. 5 params

Retrieve all labels attached to a Confluence page. Labels can be filtered by prefix (e.g. global, my, team). Returns a paginated list of label names and prefixes. Use cursor-based pagination for pages with many labels.

Name Type Required Description
id string required The ID of the page whose labels to retrieve
cursor string optional Cursor token for pagination, returned in the previous response as _links.next
limit integer optional Maximum number of labels to return per page (default 25, max 250)
prefix string optional Filter labels by prefix (e.g. global, my, team, system)
sort string optional Sort order for labels (e.g. created-date, -created-date, name, -name)
confluence_page_list # List Confluence pages with optional filtering by space, status, title, or page IDs. Returns a paginated collection of pages. Use the cursor parameter to fetch subsequent pages. Supports body format selection for inline content retrieval. 8 params

List Confluence pages with optional filtering by space, status, title, or page IDs. Returns a paginated collection of pages. Use the cursor parameter to fetch subsequent pages. Supports body format selection for inline content retrieval.

Name Type Required Description
body_format string optional The content format to return for page bodies (e.g. storage, atlas_doc_format, anonymous_export_view)
cursor string optional Cursor token for pagination, returned in previous response as _links.next
id string optional Filter by one or more page IDs (comma-separated or repeated query param)
limit integer optional Maximum number of pages to return per page (default 25, max 250)
sort string optional Sort order for results (e.g. -modified-date, id, title, -title)
space_id string optional Filter by one or more space IDs (comma-separated)
status string optional Filter pages by status (e.g. current, archived, deleted, trashed)
title string optional Filter pages by title (exact match)
confluence_page_update # Update an existing Confluence page. Requires the page ID, current status, title, and the next version number (must be exactly current version + 1). Optionally update the page body, change the parent, or add a version message. Retrieve the current version number with the Get Page tool before calling this. 8 params

Update an existing Confluence page. Requires the page ID, current status, title, and the next version number (must be exactly current version + 1). Optionally update the page body, change the parent, or add a version message. Retrieve the current version number with the Get Page tool before calling this.

Name Type Required Description
id string required The ID of the page to update
status string required Status of the page after the update (e.g. current, draft)
title string required Updated title of the page
version_number integer required The new version number for this update. Must be exactly the current version number plus 1.
body_representation string optional Format for the updated body content (e.g. storage, atlas_doc_format). Must be set together with body_value.
body_value string optional The updated body content in the format specified by body_representation. Must be set together with body_representation.
parentId string optional ID of the new parent page (to move the page in the hierarchy)
version_message string optional Optional message describing what changed in this version
confluence_space_get # Retrieve details of a specific Confluence space by its ID. Returns space metadata including key, name, type, status, description, homepage, and permissions. Optionally include the space icon and labels. 4 params

Retrieve details of a specific Confluence space by its ID. Returns space metadata including key, name, type, status, description, homepage, and permissions. Optionally include the space icon and labels.

Name Type Required Description
id string required The numeric ID of the space to retrieve
description_format string optional Format for the space description in the response
include_icon boolean optional Whether to include the space icon in the response
include_labels boolean optional Whether to include labels applied to the space
confluence_space_list # List Confluence spaces accessible to the authenticated user. Supports filtering by space IDs, keys, type (global or personal), status (current or archived), and labels. Returns paginated results with cursor-based navigation. 9 params

List Confluence spaces accessible to the authenticated user. Supports filtering by space IDs, keys, type (global or personal), status (current or archived), and labels. Returns paginated results with cursor-based navigation.

Name Type Required Description
cursor string optional Cursor token for fetching the next page of results
description_format string optional Format for the space description in the response
ids array optional Filter spaces by their numeric IDs
keys array optional Filter spaces by their space keys
labels array optional Filter spaces by labels
limit integer optional Maximum number of spaces to return per page
sort string optional Sort order for the results
status string optional Filter spaces by status
type string optional Filter spaces by type