agentskit.js
ToolsIntegrations

confluence

Confluence pages — CQL search + create. Basic auth (email + API token).

import { confluence } from '@agentskit/tools/integrations'

const tools = confluence({
  baseUrl: 'https://my-org.atlassian.net',
  email: process.env.CONFLUENCE_EMAIL!,
  apiToken: process.env.CONFLUENCE_API_TOKEN!,
})

Bundled: confluence(config) returns both sub-tools. Uses Confluence REST API (search at /wiki/rest/api, create at /wiki/api/v2) under your Atlassian site.

#Sub-tools

NamePurpose
confluence_searchSearch pages with a CQL query
confluence_create_pageCreate a page in a space

#Schema

ParameterTypeRequiredDescription
cqlstringyesCQL query, e.g. type=page AND text ~ "agentskit"
limitnumbernoMax results (default 25)

Returns: id, title, url for each matching page.

#confluence_create_page

ParameterTypeRequiredDescription
spaceKeystringyesConfluence space key (also accepted as space ID)
titlestringyesPage title
bodystringyesHTML body in Confluence storage format

Returns: id and url of the created page.

#Example — knowledge-base agent

import { createRuntime } from '@agentskit/runtime'
import { confluence } from '@agentskit/tools/integrations'

const runtime = createRuntime({
  adapter,
  systemPrompt: 'You answer questions from the engineering Confluence. Cite the page title and URL.',
  tools: confluence({
    baseUrl: process.env.CONFLUENCE_BASE_URL!,
    email: process.env.CONFLUENCE_EMAIL!,
    apiToken: process.env.CONFLUENCE_API_TOKEN!,
  }),
})

await runtime.run('What is our on-call escalation policy?')

#Security

  • Env vars required: CONFLUENCE_EMAIL, CONFLUENCE_API_TOKEN (Atlassian API token from id.atlassian.com/manage-profile/security/api-tokens), and the site base URL.
  • Authentication is HTTP Basic: email:apiToken base64-encoded. Never commit tokens; use env vars or a secrets manager.
  • Use a service-account email for production agents.
  • confluence_create_page writes content to your Confluence space — gate via HITL for autonomous agents.
  • CQL queries are passed directly to Confluence — treat user-supplied CQL fragments as untrusted input.

Explore nearby

✎ Edit this page on GitHub·Found a problem? Open an issue →·How to contribute →

On this page

Ask the docs

Ask anything about AgentsKit. Answers come from the docs corpus via OpenRouter free-tier models. Rate limited per IP.