PollyHub

Confluence Connector

Clean

Access Atlassian Confluence with managed OAuth to create, read, update, and search pages, spaces, and content using the Confluence REST API.

SKILL.md

---
name: confluence-connector
description: "Access Atlassian Confluence with managed OAuth. Create, read, update, and search pages, spaces, and content. Use when the user wants to create a Confluence page, search wiki content, read documentation, update pages, or manage Confluence spaces."
metadata:
  polly:
    polly_managed_connector: true
    auth:
      - env: CONFLUENCE_ACCESS_TOKEN
        type: oauth2
        integration_id: confluence
        description: Confluence OAuth access
        scopes:
          - read:confluence-content.all
          - write:confluence-content
          - read:confluence-space.summary
          - write:confluence-space
          - write:confluence-file
          - read:confluence-user
          - search:confluence
          - offline_access
    primaryEnv: CONFLUENCE_ACCESS_TOKEN
---

# Confluence Connector

Access Atlassian Confluence through the Confluence REST API using managed OAuth.

## First-Time Setup

If Confluence is not connected yet, run:

`manage_auth(action="connect", integration_id="confluence", auth_env="CONFLUENCE_ACCESS_TOKEN")`

## Auth & Security

- Authentication is managed by Polly + Nango from `metadata.polly.auth`
- Never ask users to paste tokens in chat
- Never print or log token values
- If auth fails, reconnect with:
  `manage_auth(action="connect", integration_id="confluence", auth_env="CONFLUENCE_ACCESS_TOKEN")`

## Base URL

First, get your Cloud ID:

```bash
curl -sS \
  -H "Authorization: Bearer $CONFLUENCE_ACCESS_TOKEN" \
  "https://api.atlassian.com/oauth/token/accessible-resources"
```

Then use: `https://api.atlassian.com/ex/confluence/{cloudId}/wiki/rest/api`

All requests include:

`Authorization: Bearer $CONFLUENCE_ACCESS_TOKEN`

## Quick Usage

Get accessible resources (to find your Cloud ID):

```bash
curl -sS \
  -H "Authorization: Bearer $CONFLUENCE_ACCESS_TOKEN" \
  "https://api.atlassian.com/oauth/token/accessible-resources"
```

Search content:

```bash
curl -sS \
  -H "Authorization: Bearer $CONFLUENCE_ACCESS_TOKEN" \
  "https://api.atlassian.com/ex/confluence/<cloudId>/wiki/rest/api/content/search?cql=type=page+AND+text~%22search+term%22&limit=10"
```

Get a page:

```bash
curl -sS \
  -H "Authorization: Bearer $CONFLUENCE_ACCESS_TOKEN" \
  "https://api.atlassian.com/ex/confluence/<cloudId>/wiki/rest/api/content/<pageId>?expand=body.storage"
```

Create a page:

```bash
curl -sS -X POST \
  -H "Authorization: Bearer $CONFLUENCE_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"type":"page","title":"New Page","space":{"key":"SPACEKEY"},"body":{"storage":{"value":"<p>Hello world</p>","representation":"storage"}}}' \
  "https://api.atlassian.com/ex/confluence/<cloudId>/wiki/rest/api/content"
```

Update a page:

```bash
curl -sS -X PUT \
  -H "Authorization: Bearer $CONFLUENCE_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"type":"page","title":"Updated Title","version":{"number":2},"body":{"storage":{"value":"<p>Updated content</p>","representation":"storage"}}}' \
  "https://api.atlassian.com/ex/confluence/<cloudId>/wiki/rest/api/content/<pageId>"
```

List spaces:

```bash
curl -sS \
  -H "Authorization: Bearer $CONFLUENCE_ACCESS_TOKEN" \
  "https://api.atlassian.com/ex/confluence/<cloudId>/wiki/rest/api/space?limit=25"
```

## Rules

- Always retrieve the Cloud ID first via `/oauth/token/accessible-resources` before making API calls
- When updating a page, include the current `version.number + 1` in the request body
- CQL (Confluence Query Language) is used for search — URL-encode the query string
- For pagination, use `start` and `limit` parameters
- On API errors, surface status + response body clearly
- On 401/403, reconnect with `manage_auth(action="connect", integration_id="confluence", auth_env="CONFLUENCE_ACCESS_TOKEN")`
- Never log, echo, or expose credential values in any output
Authorstella
Downloads6
Versions2
Published1d ago
Auth Requirements
CONFLUENCE_ACCESS_TOKENoauth2

integration: confluence

Version History

v1.1.0latest

Add polly_managed_connector flag and connector-skill tag

Apr 9, 2026

Clean.zip
v1.0.0

Initial release of v0.8 Tier 3 connectors

Apr 9, 2026

Clean.zip

SHA-256 (latest)

604e8e245673a411f764874d42cf212e010f9a0bf12e231e9ac16382707b1e70