Back to Search AI connectors listThe Confluence Server Connector lets you securely index, filter, and search Confluence Data Center content from Search AI. It provides enhanced ingestion capabilities, space-based filters, advanced content filtering, and webhook-based real-time synchronization.
The connector supports three authentication methods:
Basic Authentication — No server-side configuration required. Proceed directly to Step 2.
OAuth 2.0 — Register Search AI as an OAuth client in Confluence Server, then configure the connector with the generated credentials.
Header-Based Authorization — Configure required headers (for example, Authorization: Bearer <token> or X-API-Key) in the Search AI connector settings. Ensure the external system is configured to accept and validate these headers. Proceed directly to Step 2.
Go to Content > Connectors and choose Confluence (Server).
Under Authentication, enter the required fields:
Authorization Type — Basic, OAuth 2.0, or Header-Based
Grant Type — For OAuth 2.0, select Authorization Code or Client Credentials. For more details, refer to Connectors.
Basic Auth — Connector name, username, password, and Confluence Data Center host URL
OAuth 2.0 — Connector name, Client ID, Client Secret, Confluence Data Center base URL, and domain name
Header-Based — Header, Token, and Host URL
Real-Time Sync — Toggle to enable or disable automatic syncing of content changes using Confluence webhook notifications.
Webhook Client Secret — Generated automatically (with option to regenerate).
Webhook URL — Copy the provided URL for use when configuring the Confluence webhook.
Click Connect to initiate authorization.
Webhook sync updates document entities only. Associated users and permissions within those entities must be synchronized through regular incremental or manual sync.
Search AI uses Confluence webhook notifications to manage real-time content updates and deletion events. When configured, webhooks automatically sync content changes and remove deleted pages and blog posts from the Search AI index.Perform the following steps in your Confluence server:
Go to Settings > General Configuration.
Search for “Webhook” and select Webhooks from the left navigation under Configuration.
Click Create webhook.
Enter the following details:
Name — SearchAI Webhook Sync
URL — The webhook endpoint URL provided in the Search AI connector configuration
Secret — The webhook secret token displayed in the Search AI connector Authentication configuration
Click Test connection to verify Confluence can reach the endpoint.
From the Events dropdown, select the subscribed events: page_created, page_updated, page_removed (or page_deleted), blog_created, blog_updated, blog_removed (or blog_deleted).
To selectively ingest content, select Sync Specific Content and click Configure. Define rules using a parameter, operator, and value.Supported filter parameters (apply to Pages, Spaces, Blogs, and Comments):
Parameter
Description
Ancestor
Direct child pages and descendants of given content IDs
Content
Specific content by content ID
Created
Content by creation date (yyyy/mm/dd hh:mm, yyyy-mm-dd hh:mm, yyyy/mm/dd, yyyy-MM-dd)
Creator
Content created by specified user account IDs
Label
Content filtered by label
Parent
Content under a given parent (applies to Pages, Blogs, and threaded Comments)
ID
Content by content ID
Space
Content in a specific space (applies to Pages, Blogs, and Comments)
Title
Content by page or blog title
User
Content by user ID
You can also add custom CQL fields. Refer to the complete list of supported CQL fields.Example: Ingest all pages and sub-pages under a given ancestor:Example: Ingest only pages created or modified after January 1, 2024:
Use the OR operator to combine multiple rules for different content types.
Use the AND operator within a rule to apply multiple conditions. For example, to ingest content created after January 1, 2024 with “SearchAI” in the title:
Search AI supports access control for content ingested via the Confluence Server Connector. Go to the Permissions and Security tab and select the access mode:
Permission Aware — Honors user permissions from Confluence Server. Users can only view search results for content they can access in Confluence.
Public Access — Overrides Confluence permissions. All ingested content is visible to all Search AI users regardless of actual Confluence access.
Space Permissions — Each space defines its own set of permissions managed by space administrators. These permissions control who can view, edit, or administer content in that space. Search AI requires at least view access to ingest and apply access control correctly.Blog Restrictions — Blog posts inherit permissions from their parent space but can have their own view or edit restrictions. Blog permissions follow the same model as page permissions. The Blog Post ID must be set in the sys_racl field. Permissions inherited from the parent space apply unless overridden by blog-specific restrictions.Page Restrictions — Pages may inherit permissions from their parent space but can also define their own view or edit restrictions. If a page is restricted to specific users or groups, those restrictions override inherited space permissions.
Individual access — Users added directly to a space or specific page are included in the sys_racl field of the ingested document, represented by email addresses or usernames depending on your Confluence setup.
Group access — When access is granted to groups (for example, confluence-users or engineering-team), Search AI creates Permission Entities based on group identifiers stored in the sys_racl field. Use the Permission Entity APIs to associate users with the appropriate group or entity in Search AI.
Anonymous access — Search AI does not support anonymous access. If a page is publicly viewable in Confluence without login, it will not be searchable unless explicitly shared with known users or groups.
Webhook sync — User synchronization is not supported through webhooks. Document entities are updated via webhook, but associated users within those entities must be synchronized through regular incremental or manual sync.