Confluence integration
In short
Search, read, create and update pages. Connect it on the Integrations page; your app then calls Confluence through Sapilon without ever holding an Atlassian credential.
Lets your app list spaces, search with CQL, read page trees and create or update pages on a Confluence Cloud site, with an Atlassian API token.
The app acts as the account the token belongs to and sees only what that account can see.
Connecting
On the Integrations page choose Connect on Confluence and fill in:
- Site name — The part before .atlassian.net in your Confluence address.
- Account email — The email of the Atlassian account the token belongs to. Use a shared service account for anything long-lived.
- API token — id.atlassian.com/manage-profile/security/api-tokens → Create API token.
Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.
- Confluence Cloud only; Confluence Data Center is not supported.
What your app can do
Only these requests are available; anything else is refused.
GET /spacesGET /spaces/*/pagesGET|POST /pagesGET|PUT /pages/*GET /pages/*/childrenGET /search
How the agent uses it
Use integrations.request('confluence', …); paths are relative to https://<site>.atlassian.net/wiki/api/v2, except /search (the v1 CQL search, routed for you).
GET /spaces— Example:{ method: 'GET', path: '/spaces', query: { limit: '50' } }.GET /spaces/{id}/pages— pages in a space.GET /search— CQL. Example:{ method: 'GET', path: '/search', query: { cql: 'type = page AND text ~ "onboarding"' } }.GET /pages/{id}— Example:{ method: 'GET', path: '/pages/123', query: { 'body-format': 'storage' } }.GET /pages/{id}/children— child pages.POST /pages— create. Example:{ method: 'POST', path: '/pages', body: { spaceId: '42', status: 'current', title: 'Runbook', body: { representation: 'storage', value: '<p>Steps…</p>' } } }.PUT /pages/{id}— update; send the nextversion.number. Example:{ method: 'PUT', path: '/pages/123', body: { id: '123', status: 'current', title: 'Runbook', body: { representation: 'storage', value: '<p>New</p>' }, version: { number: 3 } } }.
Deleting is not allowed.
More from Atlassian: https://developer.atlassian.com/cloud/confluence/rest/v2/intro/