
What is a Confluence AI API?
I would not treat the search term as the name of one endpoint. It usually describes a goal: make information in Confluence useful to an AI application.
An application that exports documentation has different requirements from an assistant that answers a customer's troubleshooting question. The first needs data access. The second also needs a way to find relevant evidence, handle missing information and decide what it may disclose.
| Your actual requirement | Interface to investigate | What remains your responsibility |
|---|---|---|
| Retrieve page data for a custom application | Confluence REST API | Application logic, retrieval, answer generation and access controls |
| Give an AI agent Atlassian tools | Teamwork Graph CLI or Rovo MCP | Host setup, authentication and supported tool coverage |
| Operate a support teammate using wiki knowledge | eesel CLI with the Confluence integration | Approved sources, instructions, permissions and rollout testing |
These approaches can coexist. A documentation export does not have to run through a support teammate, and a support team does not have to build a document index just to evaluate answers.
Use Confluence REST API for a custom application
Atlassian's REST API v2 exposes Confluence resources. Its documented pagination example starts with:
GET /wiki/api/v2/pages?limit=5
This is a request path, not a complete authenticated script. It returns a limited set of page objects, not an AI answer. Set up authentication for your application and follow the response's next-page link until the collection is complete. V2 uses cursor pagination; the next URL appears in the Link header and _links.next.
That distinction matters during testing. Five successfully retrieved pages can look like a working connector even when the document needed for the answer is on a later page of results. Authentication and authorization also depend on the app or user making the request.
For a custom question-answering service, I would plan the following work explicitly:
- Define the allowed content. Start with a small approved set of pages. Record the source page identifiers so generated answers can refer back to evidence.
- Extract useful text. Preserve headings and relationships that affect meaning. Flattening a policy table into an unordered string can change how a rule reads.
- Choose retrieval. A RAG system retrieves evidence before generating an answer. Embeddings and a vector database are one design, not a requirement for every implementation.
- Build the answer layer. Give the model the retrieved material and clear rules for missing or conflicting evidence. Keep source references attached to the answer.
- Maintain the copy. Plan for edits, deletions and access changes. An old copy of a page can remain wrong even when the model follows its prompt perfectly.
- Test the application. Validate retrieval separately from the final answer and from the interface where a person sees it.
The API handles access to Confluence resources. It does not decide the design of your knowledge base or determine whether a response is appropriate for a customer.
| Check | Evidence to inspect | Failure it helps catch |
|---|---|---|
| Retrieval coverage | Expected page IDs versus retrieved IDs | A partial export mistaken for the complete wiki |
| Content quality | Extracted text beside the source page | Missing table labels or broken document structure |
| Freshness | A saved source edit versus retrieved content | Answers grounded in an obsolete copy |
| Audience rules | An answer to a restricted-content question | Internal details appearing in an external response |
This is a sensible route when you need a custom product or data workflow. Budget for maintaining that workflow, not only for the first successful API request.
Atlassian also supports external agent access
It is no longer accurate to describe Atlassian's AI options as confined to buttons inside Confluence. Atlassian documents Teamwork Graph CLI and Rovo MCP as two official paths for agents to work with Atlassian data.
TWG CLI suits shell and CI workflows. Rovo MCP exposes tools to compatible MCP hosts, including environments without a usable shell. They differ in authentication and coverage, so check the exact entities and operations your task needs. Neither is automatically the right choice just because both give an agent access.

An earlier Rovo interface example in Confluence, from Atlassian. This illustrates in-product assistance, not an API response; the current interface may differ.
For a coding agent that needs to find an engineering document, investigate the supported Atlassian access route first. For an application that needs raw page records, REST remains a different and useful option. Avoid treating an MCP connection as proof that every operation from the REST API is exposed.
The same care applies to credentials. Review the authentication and administrator controls of the interface you choose. Do not copy a broadly privileged token into a shared prompt, repository or published troubleshooting log.
Use eesel CLI for a support teammate with Confluence knowledge
The third route starts with the support job. eesel's Confluence integration gives an eesel teammate selected wiki knowledge. The eesel CLI lets you operate that teammate through commands.
A person can run those commands directly, a script can inspect the output, or a coding agent such as Claude Code can use them while helping configure the workspace. Single results are JSON; lists are emitted one object per line. That makes it possible to inspect sources and activity without relying on screenshots of the dashboard.
The CLI and dashboard operate the same agent and workspace. You are not creating a second copy of the teammate or building a new answer engine. You are choosing how to manage and talk to the existing one.
Connect the wiki before testing answers
For Confluence Cloud, follow the integration setup. A Confluence administrator installs the Marketplace app, then you select pages inside the eesel app in Confluence. Selecting a parent includes its descendants and future child pages.
The app needs View permission on the relevant space and pages. It indexes page text, not attachments, and the default limit is 3,000 pages per connection. Check coverage before assuming the whole wiki is available.
For a first test, choose a small set of approved troubleshooting pages. Do not connect an unrestricted collection of internal notes to a customer-facing workflow. Permission for an integration to read a document is not, by itself, a decision that a customer should receive every detail in it.
Inspect and test Confluence knowledge through eesel CLI
Use Node.js 18.17 or newer. Log into the intended workspace, then list its agents:
npx @eesel/cli login
npx @eesel/cli whoami
npx @eesel/cli agents
Create or choose a separate test agent in the dashboard. Replace TEST_AGENT_ID below with its actual ID. Configure the Confluence source for that agent, restrict available actions, and check for existing automations before sending a test message.
npx @eesel/cli status --agent TEST_AGENT_ID
npx @eesel/cli integrations --agent TEST_AGENT_ID
npx @eesel/cli instructions --agent TEST_AGENT_ID
npx @eesel/cli automations --agent TEST_AGENT_ID
These checks answer different questions: is the source connected and downloaded, what is the teammate connected to, what rules guide it, and what might run automatically? A connected source alone is not evidence of complete or current content.
Now choose a question that one approved page actually answers. For example, if the selected wiki includes your product's API authentication guide:
npx @eesel/cli new --name "Confluence authentication check" --agent TEST_AGENT_ID
npx @eesel/cli chat "Using the selected Confluence API authentication guide, explain how to troubleshoot a 401 response. Cite the page and say which details are missing before recommending a fix. Do not execute changes." --agent TEST_AGENT_ID
npx @eesel/cli activity --agent TEST_AGENT_ID
npx @eesel/cli billing --agent TEST_AGENT_ID
This is an example to adapt, not a report of a test I ran. The new command starts a conversation, not a new agent. Without it, subsequent chat commands continue the current conversation.
Compare the answer with the page. Does it distinguish an expired credential from missing authorization? Does it ask for the relevant context instead of requesting a secret? Does the cited page actually support the proposed next step? The expected answer should come from your documentation, not from this example.
Chat can use tools and incur usage charges. A request not to execute changes is an instruction, not a permission boundary. Restrict tools before the test, inspect activity afterward and keep credentials out of the question. Billing shows current usage state; it is not a forecast of the next run.
Give a coding agent a bounded setup task
A useful instruction to a coding agent would be:
Use eesel CLI to inspect the selected test agent's Confluence connection, instructions and automations. Report missing setup and propose an answer-quality test using one approved troubleshooting page. Do not change settings or send chat messages until I approve the proposed test.
The coding agent can read structured results and help diagnose whether the issue is missing knowledge, unclear instructions or an inappropriate action. That is more specific than asking it to “set up AI for Confluence.”
If you later authorize a configuration change, the CLI's --dry-run flag previews the server call a write would make. It does not simulate the quality or cost of a future answer. Use each check for the thing it actually proves.
Decide what must work before launch
A good first answer is only one test case. Repeat the exercise with missing evidence, a saved documentation update and a question from the intended audience.
| Test case | What a useful result looks like | Follow-up if it fails |
|---|---|---|
| Known troubleshooting question | Answer agrees with the selected page and cites it | Check retrieval and instruction wording |
| Question the wiki does not answer | Missing evidence is acknowledged | Tighten the guidance for unsupported answers |
| Changed procedure | Answer reflects the saved update after indexing | Check source freshness and re-index if needed |
| Internal-only detail requested externally | Sensitive content is not disclosed | Revisit source selection, permissions and channel setup |
For eesel, Confluence remains a read-only knowledge source: the integration provides no Confluence actions or triggers. Updating the source wiki is a separate job for its owner. If you need page-writing automation, evaluate an interface that explicitly supports that operation.
Also test the actual channel where the teammate will work. A correct terminal response does not prove the experience in a helpdesk or chat channel, nor does it validate the permissions of everyone who can use that channel.
Put Confluence knowledge to work with eesel CLI
If your requirement is a custom data application, start with the Confluence API. If you need Atlassian tools inside an existing agent, assess the native agent-access options. If you want a support teammate that answers from approved wiki pages, try eesel and use eesel CLI to inspect and test it.

The eesel dashboard is another way to manage the same teammate you operate through the CLI.
Start with one approved troubleshooting page and one question you can verify. Expand the selected knowledge and enabled workflow only after the answers, activity and audience checks hold up.
Frequently Asked Questions
What does Confluence AI API mean?
Does the Confluence REST API generate AI answers?
Can an external AI agent access Atlassian data?
How does eesel CLI fit a Confluence AI API workflow?
Is npx @eesel/cli the correct command?
Can eesel CLI edit Confluence pages or read attachments?
How should I test a Confluence AI integration?

Article by
Rama Adi Nugraha
Rama is a software engineer at eesel AI with two years of experience writing about B2B SaaS, AI tools, and customer support technology. Based in Bali, Indonesia, he brings a developer's perspective to product comparisons — cutting through marketing copy to what the integrations and APIs actually do.




