Confluence
Company documents · publisher buff · version 1.1.0
The team’s knowledge base as context for answers — and questions right in the page discussion. Data Center, Server and Cloud.
An answer in Buff relies on a procedure from Confluence — with the name of the page and the section. The setup form — each integration has its own fields: address, scope, bot name and credentials. The connection is live: its own set of tools and its own allowed address. The connection check does not just say “ok”: it reports the Confluence version, the account and how many spaces in scope are available. What the integration will get is written on its card in the connector’s catalogue.
Click a screenshot to open it in full. All screenshots are from a working installation.
Overview
Half the answers to “why is it like this” questions are already written down — in Confluence. Requirements, architecture decisions, procedures, runbooks: things a person will not retell in a question and the model does not know on its own. The integration lets Buff read the spaces in the connection’s scope when an answer needs them, and takes questions right in the page discussion. One integration works with both self-hosted (Data Center, Server) and Cloud.
Use cases
The situations it is installed for.
A support agent answers by the procedure, not from memory
A customer asks for a refund twenty days after paying. The refund procedure is written in the support procedures in Confluence, but the agent remembers it only roughly, and asking the manager means waiting until the evening.
Result. The AI agent finds the procedure page, reads the section on refunds and answers by it — with a link to the page, so the answer can be checked rather than taken on trust.
A newcomer asks about leave where they read the procedures
How leave works, the payment schedule and who grants access are described in the “For employees” section, but a new person asks in the chat, and HR answers the same thing for the tenth time.
Result. The answer comes with a link to the right section of the procedures; the department’s rule “answer with a link to the procedure, not a retelling” is kept in the knowledge base and applied to every answer.
A question right on the page
Someone reads a procedure and does not understand how it applies to their case. Going to another tool for a question is an extra step people usually skip.
Result. They mention the bot in a comment on the page. The answer arrives there, in the same discussion, and stays next to the text the question was about.
A runbook instead of questioning the on-call engineer
An incident at night, a new on-call engineer, and the steps are described in the wiki — in a five-page section.
Result. The bot assembles the answer from the right pages of the section and answers to the point, with links to each. The on-call engineer reads three paragraphs instead of five pages.
Examples
What to write and what comes back. How the bot is addressed is set in the connection settings — here it is “@buff”.
@buff how do we number releases?
a comment on any page of a selected space
tool:
search_pages + get_pageBy the YY.MM.N scheme — the year, the month and the release’s sequence number within the month; the scheme’s internal name is “Greenwich”. Releases go out on Thursday; the on-call engineer decides on postponement. Source: the “Release procedure” page in the DOC space.
@buff what constraints did we record for the external API integration?
a question in the Buff app or a comment on the page
tool:
search_pagesI found three pages: “External API integration” (a limit of 100 requests per minute and mandatory idempotency), “Retry decision” (exponential backoff, at most 5 attempts) and a discussion where it was agreed not to keep responses longer than a day. Links to all three are below.
/research why we dropped the shared cache
a comment on the page with the decision
tool:
get_pageThe word after the mention picks the work: without it — a short answer, “research” — deep research with a document, “task” — a draft development task. Research reads the page, the pages related to it and the code.
@buff what does this section say about backups?
a comment on the section’s parent page
tool:
get_page_childrenThe section has four child pages; two are about backups: “Backup” (the schedule, a 90-day retention period) and “Restore” (the procedure and who approves it). Both are linked.
What it does
Reads what it needs, when it needs it
search_pages searches the spaces in the connection’s scope, get_page returns a whole page together with its discussion, get_page_children the section tree. The model calls them itself when a question requires it: nothing is copied to us in advance or indexed, and you pay for what is actually read.
A page arrives as text, not markup
Confluence stores a page as markup with macros, tables and embeds. The integration turns it into readable text, keeping headings, lists, tables, code and link addresses — the model gets the content, not service tags. Nothing is cut off: a long page stays long.
Answers where the question was asked
A mention of the bot or a slash command in a page comment starts a question, research or a draft task; the answer arrives as a comment in the same discussion. The only tool that writes anything is the comment, and it is not given to the model at any stage.
Spaces are the access control
The list of selected spaces works both ways: in the others the bot reads neither pages nor requests and writes no answers. An empty list means “all spaces open to the bot’s account” — that boundary has already been drawn by the permissions in Confluence. The account’s permissions are the outer boundary, the list is the inner one.
One integration for self-hosted and Cloud
Data Center, Server and Cloud are served by the same code: their APIs match in everything the integration needs — this has been checked on live servers of both editions. Only sign-in differs: self-hosted uses a token, Cloud an email and an API token.
Edits nothing
The bot does not create or edit pages and does not change labels or permissions. It reads and writes comments — the knowledge base stays the way the team keeps it.
How to use it
Everything happens on the machine where the connector runs. At no step do you need to open access to your network from outside.
Step 1
Installation takes one click
Open the “Marketplace” section on the connector’s local page. Before installing you can see what the integration will get: the addresses it will be able to reach, which credentials it will ask for and how many tools the model will see. The connector downloads a signed bundle from our registry and checks the signature before writing anything to disk.
Connector← scroll the frame →
The access limits are written on the catalogue card. Step 2
Setup: an address, access and a list of spaces
For self-hosted the address looks like `https://wiki.corp.local`; for Cloud — `https://your-company.atlassian.net/wiki`. Next come the bot’s credentials (for Cloud, an email and an API token) and the space keys: you can see them in a page address, `/spaces/DOC/pages/…`; empty means all spaces open to the account. The secret is stored on your machine; the integration does not see it.
Connector← scroll the frame →
Each integration has its own form fields. Step 3
Create a separate account for the bot
Give it read access only to the spaces where it should work, and permission to comment. The bot should not be a Confluence administrator: all it needs is to read pages and leave comments.
Step 4
The same from the command line
Installing without a GUI is an equal option, not a fallback: `connector install confluence`, then `connector instance add confluence --config base_url=https://wiki.corp.local --config spaces=DOC,OPS`.
Step 5
Events arrive on their own
Polling always works and needs no ports: the integration reads the comments of the selected spaces itself (with no list, of all spaces open to the account) — every 20 seconds by default; the interval can be changed in the connection settings. If you have Data Center and want it faster, turn on event receiving in the connector and add a webhook: it is not parsed for content, it simply wakes the poll, so the answer arrives at once rather than on the next pass.
Connector← scroll the frame →
Each connection has its own set of tools and its own allowed address.
Access limits
The connector shows the same on your machine before installation. The list comes from the signed catalogue, not written here by hand.
Goes out to
only the addresses from the fields base_url
Credentials
api — the values stay in the connector, the integration does not see them
Webhooks
wake — you open the port, if you choose to
| Tool | What it does | Access |
|---|---|---|
| search_pages | Find pages by text in the selected spaces — when the answer may already be written down in the knowledge base | read only |
| get_page | Read a whole page together with its discussion — when requirements, a procedure or a decision are needed | read only |
| get_page_children | List the child pages of a section — when the answer comes together from several pages | read only |
| add_comment | Write a comment on a page | writes |
The integration runs as a separate process under its own operating system user: it does not see the connector’s key, does not read the files of other connections and cannot reach the network past the connector. More in the security section.
Requirements
- Confluence Data Center, Server or Cloud — one and the same integration.
- A bot account with permission to read the spaces needed and to comment: a token for self-hosted, an email and an API token for Cloud.
- Network access from the connector’s machine to Confluence — nothing needs to be opened from your network to the outside.
- A connector run with the right to create a separate OS user for the integration (root or CAP_SETUID).
- Tasks and code are connected separately: Confluence is a source of knowledge, not a tracker or a repository.
Questions
- Will you copy our knowledge base to your side?
- No. The integration reads pages at the model’s request when an answer requires it, and transfers or indexes nothing in advance. What is read enters the context of a specific answer — not a store.
- We have Cloud, not Data Center. Do we need a different integration?
- No, this same one. We checked it on live servers of both editions: their APIs match in everything the integration needs. Sign-in differs — Cloud uses an email and an API token, and the connection form has a separate field for that. For Cloud, give the address together with `/wiki`: `https://your-company.atlassian.net/wiki`.
- Will the bot be able to change anything on the pages?
- No. It reads pages and writes comments; it cannot create or edit pages — the integration has no such tool at all.
- How do I limit what it sees?
- In two ways at once: by the permissions of the bot’s account in Confluence and by the list of spaces in the connection settings. The list works both ways. If it is empty, the bot works in all spaces its account can see, so create a separate account for the bot and give it access only to the spaces needed — or list them in the connection.
- Does a big page mean a big bill?
- A page is read whole and is not cut: a truncated procedure is a silently lost requirement. But it is read only when the model goes for it, and the answer shows which pages were read.
Next
Connect Confluence
Install the connector in your network, open its local page and install the integration from the catalogue. Nothing needs to be rebuilt.
Companies and sole traders can pay by bank transfer and receive closing documents