Ellipse Gradient for Header
Confluence logo

Confluence Integration Guide

Integrate Confluence with enterprise systems through REST APIs, selected webhooks, attachment endpoints, and scheduled Martini workflows.

Confluence integration options at a glance

Confluence integrations primarily use the Cloud or Data Center REST APIs to read and modify pages, spaces, blog posts, comments, labels, permissions, and related content. Attachment endpoints support listing, uploading, downloading, and inspecting files subject to permissions and endpoint requirements. Confluence Cloud also provides webhooks for selected events, while scheduled workflows can poll paginated APIs when event coverage is incomplete. Cloud authentication can use OAuth 2.0 3LO or API-token-based Basic Authentication; Data Center deployments may support Basic Authentication, personal access tokens, or session-based authentication. Martini can orchestrate these calls, transform Confluence JSON, expose controlled APIs, and implement incremental synchronization.

Integration pointSupported by Confluence?Common use casesHow Martini supports it
REST APIsYesConfluence Cloud and Data Center REST APIs support pages, spaces, blog posts, attachments, comments, labels, permissions, and related content. They are the primary mechanism for reading and modifying Confluence data.Martini can consume the Confluence REST APIs from workflows, map JSON responses, apply business rules, and expose controlled APIs that abstract Confluence operations.
Webhooks / outbound callbacksLimitedConfluence Cloud supports webhook-style notifications for selected events and resources, including supported content creation, update, and deletion events. Coverage is not universal for every change.Martini can expose an inbound API endpoint to receive supported notifications, validate them, retrieve the authoritative resource, and process events idempotently.
File / attachment APIsYesConfluence attachment endpoints support listing, inspecting, uploading, and downloading files associated with pages, blog posts, or other content, subject to permissions and endpoint requirements.Martini can retrieve attachment metadata and content, transform metadata, transfer files to another endpoint or storage system, and retain Confluence identifiers for traceability.
Bulk / async / batch APIsLimitedSome Confluence operations support multiple resources or longer-running processing, but coverage varies by object and deployment. Paginated or incremental workflows are needed where no suitable bulk operation exists.Martini can orchestrate batches with pagination, checkpoints, controlled concurrency, and retry handling when a dedicated bulk operation is unavailable.
AuthenticationYesConfluence Cloud supports OAuth 2.0 3LO and API-token-based Basic Authentication. Data Center deployments may support Basic Authentication, personal access tokens, or session-based authentication depending on configuration.Martini can store credentials in secure environment configuration and use the authentication method enabled by the target Confluence deployment.
Scheduled synchronizationYesScheduled polling can identify changes through timestamps, page versions, content searches, or other available filters when webhook coverage is incomplete or reconciliation is required.Martini can trigger scheduled workflows, follow pagination, maintain checkpoints, and reconcile changed, deleted, or archived content according to defined rules.
GraphQL APIsNot confirmedA generally available public Confluence GraphQL API was not confirmed in the reviewed documentation. Customer integrations should not assume GraphQL availability.Martini can consume GraphQL APIs when a vendor documents and exposes one, but Confluence integrations should use the confirmed REST APIs instead.
SOAP APIsNoNo current public Confluence SOAP API was confirmed. New integrations should use REST APIs or other documented Atlassian mechanisms.Martini can consume SOAP services generally, but this Confluence integration should not be designed around SOAP.

How Confluence exposes data and business events

Confluence REST APIs

Confluence Cloud and Data Center REST APIs are the primary integration mechanism for reading and modifying pages, spaces, blog posts, attachments, comments, labels, permissions, and related resources. API versions, paths, authentication, and available operations can differ between Cloud and Data Center.

Martini implementation pattern

Martini implementation pattern: a workflow authenticates to the appropriate Confluence base URL, invokes the required REST operation, validates the response, maps Confluence JSON into a canonical model, applies business rules, and writes the result to downstream systems or returns it through a Martini API.

Implementation sequence

Authenticate using the configured Confluence method
Invoke the appropriate Confluence REST endpoint
Validate the response and content representation
Map Confluence fields to the canonical model
Apply space, permission, version, and idempotency rules
Write the result to the target system and record the synchronization state

Confluence Webhooks

Confluence Cloud supports webhook-style notifications for selected event types and resources. Events are not a universal notification stream for every possible content change, so integrations should verify coverage and retain a polling or reconciliation strategy for gaps.

Martini implementation pattern

Martini implementation pattern: Martini exposes an inbound API endpoint, validates the notification and any available event identifiers, retrieves the current Confluence resource when necessary, and processes the authoritative state while guarding against duplicate or out-of-order delivery.

Implementation sequence

Receive the supported Confluence webhook notification
Validate the event, scope, and authentication context
Resolve the affected Confluence resource
Retrieve the current resource when the event is incomplete
Apply idempotency and version checks
Map and distribute the normalized change to downstream systems

Confluence Attachment APIs

Confluence attachment endpoints support listing, inspecting, uploading, and downloading files associated with content. File names, media types, attachment versions, upload limits, and permissions must be handled explicitly.

Martini implementation pattern

Martini implementation pattern: a workflow retrieves attachment metadata and content, validates file characteristics, maps metadata to the receiving document model, transfers the file, and stores Confluence page and attachment identifiers for traceability and retry safety.

Implementation sequence

Retrieve the page or content identifier
List or retrieve the relevant attachment metadata
Download or prepare the attachment content
Validate file size, media type, and version rules
Transfer the file and mapped metadata to the target
Store the source identifiers and transfer result

Scheduled Confluence Synchronization

Scheduled polling is appropriate when webhook coverage is incomplete, when a periodic reconciliation is required, or when a downstream system needs a controlled batch of Confluence content. Workflows can use timestamps, page versions, content searches, and pagination.

Martini implementation pattern

Martini implementation pattern: a scheduled Martini workflow loads its checkpoint, retrieves changed content page by page, transforms and writes each item, handles deletions or archival according to policy, and commits the checkpoint only after successful processing.

Implementation sequence

Start the workflow on a defined schedule
Load the last successful checkpoint
Retrieve changed Confluence resources using supported filters
Follow pagination until the result set is complete
Map, validate, and synchronize each resource
Commit the checkpoint and route failures for retry or review

Common Confluence integration patterns

Pattern 1: Publish approved knowledge articles to Confluence

When to use this pattern

Use this pattern when a content, service-management, or customer application approves an article and Confluence is the destination for governed documentation. It supports controlled space selection, page creation or update, labels, and publication traceability.

Integration direction
ServiceNow
Martini
Confluence
Example Mapping
Confluence FieldCanonical FieldTarget Field
articleNumbersourceArticleIdpage.properties.sourceArticleId
shortDescriptiontitlepage.title
textbodypage.body.storage.value
knowledgeBasetargetSpaceKeypage.spaceId
Martini implementation pattern

A Martini API receives the approved article, validates the target space and parent page, and checks an idempotency store for an existing Confluence page. The workflow creates or updates the page, manages the required version, applies labels, and routes permission, validation, or version conflicts to an error path with retry or manual review.

Martini capabilities used
  • APIs
  • workflows
  • data mapping
  • business rules
  • validation
  • error handling

Pattern 2: Synchronize Confluence pages with a search platform

When to use this pattern

Use this pattern when pages from selected spaces must be indexed or replicated into a search or content platform. It is useful when webhook coverage is incomplete or when a scheduled reconciliation is required.

Integration direction
Confluence
Martini
Search platform
Example Mapping
Confluence FieldCanonical FieldTarget Field
page.idsourceIddocument.externalId
page.titletitledocument.title
page.body.storage.valuecontentdocument.content
page.version.numbersourceVersiondocument.version
Martini implementation pattern

A scheduled Martini workflow loads a timestamp or version checkpoint, retrieves pages with pagination, chooses a deliberate content representation, and maps page metadata and labels into the search schema. It uses hashes or source versions to avoid unnecessary writes, handles removed content according to policy, and retries throttled or transient failures.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • pagination
  • data mapping
  • checkpointing
  • retry handling

Pattern 3: Replicate Confluence attachments to document storage

When to use this pattern

Use this pattern when files associated with Confluence pages must be archived, indexed, or made available in a separate document-management or storage platform.

Integration direction
Confluence
Martini
Document storage
Example Mapping
Confluence FieldCanonical FieldTarget Field
attachment.idsourceAttachmentIddocument.externalId
attachment.titlefileNamedocument.name
attachment.mediaTypecontentTypedocument.mimeType
attachment.version.numberfileVersiondocument.version
Martini implementation pattern

Martini retrieves attachment metadata and content, validates size and media type, and transfers the file to the target system. The workflow retains the Confluence page ID, attachment ID, version, and source URL, checks for an existing target object, and applies replace, version, skip, or review rules for duplicates.

Martini capabilities used
  • workflows
  • file handling
  • data mapping
  • business rules
  • idempotency
  • error handling

Pattern 4: Process Confluence change notifications

When to use this pattern

Use this pattern when downstream systems need near-real-time responses to supported Confluence events, such as page updates or selected content changes. It should be combined with scheduled reconciliation for event types not covered by webhooks.

Integration direction
Confluence
Martini
Slack
Example Mapping
Confluence FieldCanonical FieldTarget Field
event.resourceIdresourceIdnotification.resourceId
event.eventTypechangeTypenotification.changeType
page.titletitlenotification.title
page._links.webuisourceUrlnotification.url
Martini implementation pattern

Martini exposes an inbound API for supported Confluence webhook notifications, validates the event, retrieves the current page when needed, and checks resource versions or stored event identifiers before sending a normalized notification. Duplicate and out-of-order events are safely ignored or reconciled, while transport failures follow retry rules.

Martini capabilities used
  • API exposure
  • webhook consumption
  • workflows
  • data enrichment
  • idempotency
  • error handling

Applications commonly integrated with Confluence

Confluence can be integrated with collaboration, service management, customer, HR, and project applications when documentation, knowledge, or publication status must move between systems. The appropriate direction and source of truth depend on the organization’s content governance model.

Application Scenario Direction Martini Pattern
Jira Link Jira projects, issues, and development work to technical or product documentation in Confluence. Jira → Martini → Confluence Martini receives approved Jira activity or issue metadata, validates the target space and parent page, and creates or updates Confluence pages with stable Jira identifiers and links. It can also normalize Confluence publication metadata for downstream Jira workflows.
Slack Notify teams when important Confluence pages are published or updated and distribute documentation links in team channels. Confluence → Martini → Slack Martini receives supported Confluence webhook events or scheduled change results, retrieves the authoritative page, applies notification rules, and sends a concise message to the appropriate Slack channel while suppressing duplicate notifications.
Microsoft Teams Distribute documentation updates and make Confluence content available to collaboration channels. Confluence → Martini → Microsoft Teams A Martini workflow polls or receives selected Confluence events, maps page titles, links, labels, and authors to a Teams notification payload, and routes updates according to space or label-based rules.
ServiceNow Synchronize knowledge articles, operational procedures, and support documentation between ServiceNow Knowledge and Confluence. ServiceNow → Martini → Confluence Martini validates the designated source of truth, transforms article content and metadata into Confluence page fields, manages space and parent-page selection, and records page IDs and versions for safe updates.
Salesforce Make product, customer-success, or account-related documentation available to sales and service teams while retaining structured customer data in Salesforce. Salesforce → Martini → Confluence Martini accepts approved Salesforce context, maps account or product identifiers into page metadata and labels, publishes or updates Confluence content, and returns the resulting page URL and status to Salesforce.
Workday Publish selected HR policies, onboarding content, or employee-facing documentation to Confluence. Workday → Martini → Confluence Martini receives approved policy metadata or content, validates the destination space, maps the content into a page structure, applies labels, and records publication results for HR operations.
Zendesk Coordinate support knowledge articles between Zendesk Guide and Confluence. Zendesk → Martini → Confluence Martini maps article identifiers, titles, body content, labels, and publication state between systems, applies source-of-truth rules, and uses idempotency records to avoid duplicate pages or articles.
Trello Connect project boards and cards with project documentation and delivery notes in Confluence. Trello → Martini → Confluence Martini receives selected card or board metadata, resolves the target Confluence space and parent page, updates project documentation, and optionally returns the Confluence page link for the originating workflow.

How to build a Confluence integration in Martini

Objective

Configure the Confluence Cloud or Data Center base URL and use the authentication method supported by the deployment and approved by the organization.

Instructions in Martini

  • Store OAuth credentials, API-token credentials, personal access tokens, or session details in secure environment configuration
  • Scope access to the required Confluence spaces and content
  • Keep Cloud and Data Center connection settings separate when both deployments are used

Objective

Select an event-driven, API-led, or scheduled trigger based on the required latency and the coverage of Confluence webhooks.

Instructions in Martini

  • Use a Martini API endpoint for approved inbound requests or supported webhook notifications
  • Use a scheduler for incremental polling and reconciliation
  • Define the resource scope, space filters, and checkpoint strategy

Objective

Call the relevant Confluence REST or attachment endpoint and obtain the authoritative resource representation needed for processing.

Instructions in Martini

  • Retrieve pages, spaces, blog posts, comments, labels, or attachments as required
  • Follow pagination links until the result set is complete
  • Retrieve the current resource after a webhook when the event payload is incomplete

Objective

Coordinate Confluence calls, downstream calls, state management, and conditional branches in a maintainable Martini workflow.

Instructions in Martini

  • Separate retrieval, transformation, target writing, and checkpoint updates into clear workflow stages
  • Use reusable workflow logic for common Confluence API operations
  • Route permission failures, version conflicts, throttling, and validation failures distinctly

Objective

Convert Confluence JSON, content representations, and attachment metadata into the canonical model required by downstream applications.

Instructions in Martini

  • Map page IDs, space IDs, versions, labels, authors, links, and content fields
  • Choose storage-oriented or rendered content deliberately rather than treating rendered HTML as a stable round-trip format
  • Normalize attachment names, media types, versions, and source references

Objective

Enforce content governance, idempotency, permissions, version handling, and source-of-truth decisions before writing data.

Instructions in Martini

  • Validate target spaces and parent pages
  • Use external identifiers, resource versions, hashes, or synchronization state to prevent duplicates
  • Define conflict policies for concurrent page edits and duplicate attachments

Common Confluence data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
PagesStructured documentation organized within spaces, including technical articles, policies, project notes, and knowledge content.Jira, ServiceNow, Zendesk, Salesforce, search platforms, content repositoriesMartini retrieves, creates, and updates pages through REST APIs, maps content representations deliberately, validates spaces and parent pages, and tracks page IDs and versions for idempotent updates.
SpacesContainers for related pages, permissions, and content used to scope synchronization and publication rules.ServiceNow, Salesforce, Workday, internal portals, search platformsMartini uses space identifiers and permissions to validate destinations, select synchronization scope, and route content according to configuration or business rules.
Blog postsDate-oriented content published within a Confluence space, such as announcements, release notes, or operational updates.Slack, Microsoft Teams, search platforms, content repositoriesMartini retrieves or publishes blog post metadata and content through REST operations, applies labels and routing rules, and records source identifiers and publication status.
AttachmentsFiles associated with pages, blog posts, or other Confluence content.Document storage, content repositories, ServiceNow, search and archive platformsMartini lists attachment metadata, downloads or uploads content, maps file names and media types, handles versions and duplicates, and preserves page and attachment identifiers.
CommentsInline or footer discussion associated with Confluence content.Jira, ServiceNow, Slack, Microsoft TeamsMartini reads or writes comments through the relevant REST endpoints, applies filtering and notification rules, and maps authorship and content references to downstream models.
LabelsTags applied to pages and other content for classification, discovery, filtering, and workflow routing.Search platforms, Slack, Microsoft Teams, ServiceNow, SalesforceMartini maps labels to controlled vocabularies, adds or removes them through REST APIs, and uses them to select destinations, trigger notifications, or classify synchronized content.

Authentication and security considerations

Authentication options

Confluence Cloud supports OAuth 2.0 3LO for user-authorized or multi-tenant applications and API-token-based Basic Authentication for suitable controlled server-to-server scenarios. Data Center authentication depends on the deployment and may include Basic Authentication, personal access tokens, or session-based authentication.

Permissions and secrets

Confluence authentication does not bypass content, space, or application permissions. The authenticated identity must have access to the requested resources, and OAuth scopes must match the required operations. Martini should keep credentials and tokens in secure environment configuration rather than workflow definitions.

  • Separate Cloud and Data Center credentials and base URLs.
  • Request only the scopes and permissions required by the integration.
  • Rotate tokens and credentials according to organizational policy.
  • Use controlled Martini API endpoints when downstream applications should not receive direct Confluence credentials.

Operational considerations for Confluence integrations

Reliability and API behavior

Confluence list and search operations commonly require pagination. Atlassian Cloud APIs can apply rate limits, so workflows should detect HTTP 429 responses, honor Retry-After when supplied, use backoff, and control concurrency.

Content and version handling

  • Track page IDs, space IDs, versions, timestamps, and content hashes to support idempotency.
  • Retrieve the current page version before updates and define a policy for concurrent edit conflicts.
  • Choose storage-oriented or rendered content representations deliberately.
  • Handle attachment size limits, media types, file versions, duplicate names, and replacement rules.
  • Validate response schemas and isolate API-version-specific calls behind reusable Martini workflows.

Events and reconciliation

Confluence Cloud webhook coverage is event- and resource-specific. Treat events as triggers rather than the sole system of record, retrieve authoritative resources when needed, and use scheduled reconciliation for unsupported or missed changes. Test Cloud and Data Center integrations separately because their endpoints, authentication, rate limits, permissions, and webhook behavior can differ.

Why use Martini instead of scripts or point-to-point integrations?

Orchestration beyond a script

Martini provides a maintainable workflow layer for authentication, REST API consumption, webhook intake, scheduled polling, pagination, transformation, business rules, and downstream delivery. This keeps Confluence-specific behavior separate from application-specific mappings.

Reliability and reuse

  • Centralize retry, throttling, version conflict, validation, and error-routing behavior.
  • Use checkpoints and idempotency state for safe incremental synchronization.
  • Expose controlled Martini APIs instead of distributing Confluence credentials and implementation details.
  • Reuse workflows for pages, attachments, comments, labels, and related content across applications.
  • Monitor workflow outcomes and troubleshoot integration behavior without maintaining multiple unmanaged point-to-point scripts.

Frequently asked questions

How can Confluence be integrated with enterprise systems?

Confluence can be integrated through its Cloud or Data Center REST APIs, attachment endpoints, selected Confluence Cloud webhooks, and scheduled polling workflows. These mechanisms support page, space, blog post, comment, label, permission, and file synchronization, subject to deployment-specific APIs and permissions.

Can Martini integrate with Confluence?

Yes. Martini can consume Confluence REST APIs, receive supported Confluence Cloud webhook notifications, orchestrate attachment transfers, run scheduled synchronization workflows, transform Confluence JSON, and expose controlled APIs for applications that need Confluence operations.

Do I need a connector to integrate Confluence with Martini?

No. A dedicated Confluence connector is not required. Martini can integrate using Confluence’s documented REST APIs, attachment endpoints, supported webhook mechanisms, scheduled workflows, and the authentication methods enabled by the Confluence deployment.

Is there any extra Lonti cost to integrate Confluence with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Confluence with Martini. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Atlassian, cloud infrastructure, or other third-party systems based on subscription, API usage, and deployment model.

Which Confluence integration methods should new implementations use?

REST APIs are the primary method for current Confluence integrations. Use attachment endpoints for file synchronization, selected Cloud webhooks for supported event-driven use cases, and scheduled or incremental polling for reconciliation and event coverage gaps. A public Confluence GraphQL API and current public SOAP API were not confirmed.

Can Confluence trigger a Martini workflow?

Confluence Cloud supports webhooks for selected events and resources, so Martini can expose an inbound API endpoint to receive those notifications. Because webhook coverage is not universal, scheduled polling or reconciliation may be required for changes that are not represented by a supported event.

How does Martini synchronize Confluence content safely?

Martini can use page IDs, attachment IDs, page versions, timestamps, external identifiers, content hashes, and stored checkpoints to implement incremental synchronization and idempotency. Workflows can follow pagination, distinguish deleted or archived content according to policy, and manage page version conflicts before updates.

How are Confluence errors, throttling, and duplicate events handled?

A Martini workflow can distinguish permission failures, missing resources, version conflicts, validation errors, and transient transport failures. It can honor throttling responses such as HTTP 429 and Retry-After, apply backoff and retries, and use event identifiers, resource versions, or synchronization state to make duplicate and out-of-order processing safe.