Authorization Type

Carbon uses OAuth 2.0 to connect to Confluence.

Functionality

Carbon has the ability to synchronize Confluence pages and retrieve the contents of each page as HTML or plain text.

Authorization Flow

Enter the subdomain of your Confluence workspace. For example, if the Confluence workspace URL is https://carbon-ai.confluence.com, carbon-ai is the subdomain.

Login to authenticate your Confluence account.

You should see the following confirmation screen once your account has been connected:

Configuration

Syncing Confluence Pages

We offer a pre-built File Picker UI for Confluence through Carbon Connect, since Confluence does not provider their own File Picker UI.

You can synchronize Confluence pages using the following steps:

Sync a User’s Confluence Account

  • Use the /integrations/items/sync endpoint to synchronize a user’s Confluence account.

List All Items from a User’s Confluence Account

  • Retrieve a list of all items from a user’s Confluence account by utilizing the /integrations/items/list endpoint.

Specify Specific Pages to Sync

  • Employ the /integrations/files/sync endpoint to specify and synchronize specific pages.

If you are utilizing our Carbon Connect component, be aware that all pages are automatically synchronized by default.

Custom OAuth Credentials

Custom OAuth credentials is only required for customers who enable white labeling.
  1. Sign up on Confluence.

  2. Click “Create” and select “OAuth 2.0 integration”.

  3. Name your app and confirm creating the integration.

  4. In the “Permissions” tab, add the following scopes and permissions:

  • Add the “User identity API” scope and check the read:me permission.

  • Add “Confluence API” scope and, under “Granular scopes”, check read:page:confluence and read:space:confluence permissions.

  1. In the “Authorization” tab, add https://api.carbon.ai/integrations/confluence to the Callback URL. You can also opt to use a custom CNAME record pointing to https://api.carbon.ai. The domain paths must still be /integrations/confluence.

  1. In the “Distribution” tab, set “Distribution Status” to “Sharing” and fill in the required details.

  2. Confirm your app does store personal data before saving the changes.

  3. In the “Settings” tab, upload an Avatar image and enter an app description.

  4. Share the “Client ID” and “Secret” with us via Slack.

Synchronization

You can also use the resync_file API endpoint to programmatically resync specific Confluence pages. To delete Confluence pages from Carbon, you can use the delete_files endpoint directly.

To sync Confluence files on a 24-hour schedule (more frequent schedules available upon request), you can use the /update_users endpoint. This endpoint allows organizations to customize syncing settings according to their requirements, with the option to enable syncing for all data sources using the string ‘ALL’. It’s important to note that each request supports up to 100 customer IDs.

Here’s an example illustrating how to automatically enable syncing for updated Confluence content for specified users:

{
    "customer_ids": ["team@carbon.ai", "sam@openai.com"],
    "auto_sync_enabled_sources": ["CONFLUENCE"]
}