Confluence · AsyncAPI Specification
Confluence Cloud Webhooks
Version 1.0.0
Asynchronous event notifications from Confluence Cloud. Webhooks allow applications to receive real-time notifications when content, spaces, or other entities are created, updated, or deleted in Confluence. Webhooks can be registered through the Confluence UI, REST API, or via Atlassian Connect app descriptors.
View Spec
View on GitHub
CollaborationContent ManagementDocumentationKnowledge BaseWikiAsyncAPIWebhooksEvents
Channels
pageCreated
Channel for page_created events
pageUpdated
Channel for page_updated events
pageRemoved
Channel for page_removed events
pageTrashed
Channel for page_trashed events
pageRestored
Channel for page_restored events
spaceCreated
Channel for space_created events
spaceUpdated
Channel for space_updated events
spaceRemoved
Channel for space_removed events
commentCreated
Channel for comment_created events
commentUpdated
Channel for comment_updated events
commentRemoved
Channel for comment_removed events
attachmentCreated
Channel for attachment_created events
attachmentUpdated
Channel for attachment_updated events
attachmentRemoved
Channel for attachment_removed events
labelCreated
Channel for label_created events
labelRemoved
Channel for label_removed events
blogCreated
Channel for blog_created events
blogUpdated
Channel for blog_updated events
blogRemoved
Channel for blog_removed events
Messages
✉
PageCreated
Page Created
A new page has been created in Confluence.
✉
PageUpdated
Page Updated
An existing page has been updated in Confluence.
✉
PageRemoved
Page Removed
A page has been permanently removed from Confluence.
✉
PageTrashed
Page Trashed
A page has been moved to the trash in Confluence.
✉
PageRestored
Page Restored
A page has been restored from the trash in Confluence.
✉
SpaceCreated
Space Created
A new space has been created in Confluence.
✉
SpaceUpdated
Space Updated
A space has been updated in Confluence.
✉
SpaceRemoved
Space Removed
A space has been removed from Confluence.
✉
CommentCreated
Comment Created
A new comment has been added to a page or blog post.
✉
CommentUpdated
Comment Updated
A comment has been updated on a page or blog post.
✉
CommentRemoved
Comment Removed
A comment has been removed from a page or blog post.
✉
AttachmentCreated
Attachment Created
A file has been attached to a page or blog post.
✉
AttachmentUpdated
Attachment Updated
An attachment has been updated with a new version.
✉
AttachmentRemoved
Attachment Removed
An attachment has been removed from content.
✉
LabelCreated
Label Created
A label has been added to content.
✉
LabelRemoved
Label Removed
A label has been removed from content.
✉
BlogCreated
Blog Post Created
A new blog post has been created in Confluence.
✉
BlogUpdated
Blog Post Updated
A blog post has been updated in Confluence.
✉
BlogRemoved
Blog Post Removed
A blog post has been removed from Confluence.
Servers
https
webhookReceiver
Your application endpoint that receives webhook callbacks from Confluence Cloud. This URL is configured when registering the webhook.
AsyncAPI Specification
asyncapi: 3.0.0
info:
title: Confluence Cloud Webhooks
version: 1.0.0
description: >-
Asynchronous event notifications from Confluence Cloud. Webhooks allow
applications to receive real-time notifications when content, spaces, or
other entities are created, updated, or deleted in Confluence. Webhooks
can be registered through the Confluence UI, REST API, or via Atlassian
Connect app descriptors.
contact:
name: Atlassian
url: https://developer.atlassian.com/cloud/confluence/
email: [email protected]
license:
name: Atlassian Developer Terms
url: https://developer.atlassian.com/platform/marketplace/atlassian-developer-terms/
externalDocs:
description: Confluence Webhooks Documentation
url: https://developer.atlassian.com/cloud/confluence/using-webhooks/
tags:
- name: content
description: Events related to Confluence content (pages, blog posts)
- name: space
description: Events related to Confluence spaces
- name: comment
description: Events related to comments on content
- name: attachment
description: Events related to file attachments
- name: label
description: Events related to labels
- name: user
description: Events related to user actions
servers:
webhookReceiver:
host: your-app.example.com
protocol: https
description: >-
Your application endpoint that receives webhook callbacks from
Confluence Cloud. This URL is configured when registering the webhook.
security:
- $ref: '#/components/securitySchemes/webhookSecret'
channels:
pageCreated:
address: /webhooks/confluence
description: Channel for page_created events
messages:
pageCreated:
$ref: '#/components/messages/PageCreated'
pageUpdated:
address: /webhooks/confluence
description: Channel for page_updated events
messages:
pageUpdated:
$ref: '#/components/messages/PageUpdated'
pageRemoved:
address: /webhooks/confluence
description: Channel for page_removed events
messages:
pageRemoved:
$ref: '#/components/messages/PageRemoved'
pageTrashed:
address: /webhooks/confluence
description: Channel for page_trashed events
messages:
pageTrashed:
$ref: '#/components/messages/PageTrashed'
pageRestored:
address: /webhooks/confluence
description: Channel for page_restored events
messages:
pageRestored:
$ref: '#/components/messages/PageRestored'
spaceCreated:
address: /webhooks/confluence
description: Channel for space_created events
messages:
spaceCreated:
$ref: '#/components/messages/SpaceCreated'
spaceUpdated:
address: /webhooks/confluence
description: Channel for space_updated events
messages:
spaceUpdated:
$ref: '#/components/messages/SpaceUpdated'
spaceRemoved:
address: /webhooks/confluence
description: Channel for space_removed events
messages:
spaceRemoved:
$ref: '#/components/messages/SpaceRemoved'
commentCreated:
address: /webhooks/confluence
description: Channel for comment_created events
messages:
commentCreated:
$ref: '#/components/messages/CommentCreated'
commentUpdated:
address: /webhooks/confluence
description: Channel for comment_updated events
messages:
commentUpdated:
$ref: '#/components/messages/CommentUpdated'
commentRemoved:
address: /webhooks/confluence
description: Channel for comment_removed events
messages:
commentRemoved:
$ref: '#/components/messages/CommentRemoved'
attachmentCreated:
address: /webhooks/confluence
description: Channel for attachment_created events
messages:
attachmentCreated:
$ref: '#/components/messages/AttachmentCreated'
attachmentUpdated:
address: /webhooks/confluence
description: Channel for attachment_updated events
messages:
attachmentUpdated:
$ref: '#/components/messages/AttachmentUpdated'
attachmentRemoved:
address: /webhooks/confluence
description: Channel for attachment_removed events
messages:
attachmentRemoved:
$ref: '#/components/messages/AttachmentRemoved'
labelCreated:
address: /webhooks/confluence
description: Channel for label_created events
messages:
labelCreated:
$ref: '#/components/messages/LabelCreated'
labelRemoved:
address: /webhooks/confluence
description: Channel for label_removed events
messages:
labelRemoved:
$ref: '#/components/messages/LabelRemoved'
blogCreated:
address: /webhooks/confluence
description: Channel for blog_created events
messages:
blogCreated:
$ref: '#/components/messages/BlogCreated'
blogUpdated:
address: /webhooks/confluence
description: Channel for blog_updated events
messages:
blogUpdated:
$ref: '#/components/messages/BlogUpdated'
blogRemoved:
address: /webhooks/confluence
description: Channel for blog_removed events
messages:
blogRemoved:
$ref: '#/components/messages/BlogRemoved'
operations:
onPageCreated:
action: receive
channel:
$ref: '#/channels/pageCreated'
title: Page created
summary: Triggered when a new page is created in Confluence.
tags:
- $ref: '#/components/tags/content'
messages:
- $ref: '#/channels/pageCreated/messages/pageCreated'
onPageUpdated:
action: receive
channel:
$ref: '#/channels/pageUpdated'
title: Page updated
summary: Triggered when an existing page is updated in Confluence.
tags:
- $ref: '#/components/tags/content'
messages:
- $ref: '#/channels/pageUpdated/messages/pageUpdated'
onPageRemoved:
action: receive
channel:
$ref: '#/channels/pageRemoved'
title: Page removed
summary: Triggered when a page is permanently removed from Confluence.
tags:
- $ref: '#/components/tags/content'
messages:
- $ref: '#/channels/pageRemoved/messages/pageRemoved'
onPageTrashed:
action: receive
channel:
$ref: '#/channels/pageTrashed'
title: Page trashed
summary: Triggered when a page is moved to the trash.
tags:
- $ref: '#/components/tags/content'
messages:
- $ref: '#/channels/pageTrashed/messages/pageTrashed'
onPageRestored:
action: receive
channel:
$ref: '#/channels/pageRestored'
title: Page restored
summary: Triggered when a page is restored from the trash.
tags:
- $ref: '#/components/tags/content'
messages:
- $ref: '#/channels/pageRestored/messages/pageRestored'
onSpaceCreated:
action: receive
channel:
$ref: '#/channels/spaceCreated'
title: Space created
summary: Triggered when a new space is created in Confluence.
tags:
- $ref: '#/components/tags/space'
messages:
- $ref: '#/channels/spaceCreated/messages/spaceCreated'
onSpaceUpdated:
action: receive
channel:
$ref: '#/channels/spaceUpdated'
title: Space updated
summary: Triggered when a space is updated in Confluence.
tags:
- $ref: '#/components/tags/space'
messages:
- $ref: '#/channels/spaceUpdated/messages/spaceUpdated'
onSpaceRemoved:
action: receive
channel:
$ref: '#/channels/spaceRemoved'
title: Space removed
summary: Triggered when a space is removed from Confluence.
tags:
- $ref: '#/components/tags/space'
messages:
- $ref: '#/channels/spaceRemoved/messages/spaceRemoved'
onCommentCreated:
action: receive
channel:
$ref: '#/channels/commentCreated'
title: Comment created
summary: Triggered when a new comment is added to a page or blog post.
tags:
- $ref: '#/components/tags/comment'
messages:
- $ref: '#/channels/commentCreated/messages/commentCreated'
onCommentUpdated:
action: receive
channel:
$ref: '#/channels/commentUpdated'
title: Comment updated
summary: Triggered when a comment is updated.
tags:
- $ref: '#/components/tags/comment'
messages:
- $ref: '#/channels/commentUpdated/messages/commentUpdated'
onCommentRemoved:
action: receive
channel:
$ref: '#/channels/commentRemoved'
title: Comment removed
summary: Triggered when a comment is removed.
tags:
- $ref: '#/components/tags/comment'
messages:
- $ref: '#/channels/commentRemoved/messages/commentRemoved'
onAttachmentCreated:
action: receive
channel:
$ref: '#/channels/attachmentCreated'
title: Attachment created
summary: Triggered when a file is attached to a page or blog post.
tags:
- $ref: '#/components/tags/attachment'
messages:
- $ref: '#/channels/attachmentCreated/messages/attachmentCreated'
onAttachmentUpdated:
action: receive
channel:
$ref: '#/channels/attachmentUpdated'
title: Attachment updated
summary: Triggered when an attachment is updated with a new version.
tags:
- $ref: '#/components/tags/attachment'
messages:
- $ref: '#/channels/attachmentUpdated/messages/attachmentUpdated'
onAttachmentRemoved:
action: receive
channel:
$ref: '#/channels/attachmentRemoved'
title: Attachment removed
summary: Triggered when an attachment is removed from content.
tags:
- $ref: '#/components/tags/attachment'
messages:
- $ref: '#/channels/attachmentRemoved/messages/attachmentRemoved'
onLabelCreated:
action: receive
channel:
$ref: '#/channels/labelCreated'
title: Label created
summary: Triggered when a label is added to content.
tags:
- $ref: '#/components/tags/label'
messages:
- $ref: '#/channels/labelCreated/messages/labelCreated'
onLabelRemoved:
action: receive
channel:
$ref: '#/channels/labelRemoved'
title: Label removed
summary: Triggered when a label is removed from content.
tags:
- $ref: '#/components/tags/label'
messages:
- $ref: '#/channels/labelRemoved/messages/labelRemoved'
onBlogCreated:
action: receive
channel:
$ref: '#/channels/blogCreated'
title: Blog post created
summary: Triggered when a new blog post is created.
tags:
- $ref: '#/components/tags/content'
messages:
- $ref: '#/channels/blogCreated/messages/blogCreated'
onBlogUpdated:
action: receive
channel:
$ref: '#/channels/blogUpdated'
title: Blog post updated
summary: Triggered when a blog post is updated.
tags:
- $ref: '#/components/tags/content'
messages:
- $ref: '#/channels/blogUpdated/messages/blogUpdated'
onBlogRemoved:
action: receive
channel:
$ref: '#/channels/blogRemoved'
title: Blog post removed
summary: Triggered when a blog post is removed.
tags:
- $ref: '#/components/tags/content'
messages:
- $ref: '#/channels/blogRemoved/messages/blogRemoved'
components:
tags:
content:
name: content
description: Events related to Confluence content
space:
name: space
description: Events related to Confluence spaces
comment:
name: comment
description: Events related to comments
attachment:
name: attachment
description: Events related to attachments
label:
name: label
description: Events related to labels
securitySchemes:
webhookSecret:
type: httpApiKey
name: X-Hub-Signature
in: header
description: >-
HMAC-SHA256 signature of the webhook payload, computed using
the shared secret configured when registering the webhook.
messages:
PageCreated:
name: page_created
title: Page Created
summary: A new page has been created in Confluence.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/PageEvent'
PageUpdated:
name: page_updated
title: Page Updated
summary: An existing page has been updated in Confluence.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/PageEvent'
PageRemoved:
name: page_removed
title: Page Removed
summary: A page has been permanently removed from Confluence.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/PageEvent'
PageTrashed:
name: page_trashed
title: Page Trashed
summary: A page has been moved to the trash in Confluence.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/PageEvent'
PageRestored:
name: page_restored
title: Page Restored
summary: A page has been restored from the trash in Confluence.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/PageEvent'
SpaceCreated:
name: space_created
title: Space Created
summary: A new space has been created in Confluence.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/SpaceEvent'
SpaceUpdated:
name: space_updated
title: Space Updated
summary: A space has been updated in Confluence.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/SpaceEvent'
SpaceRemoved:
name: space_removed
title: Space Removed
summary: A space has been removed from Confluence.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/SpaceEvent'
CommentCreated:
name: comment_created
title: Comment Created
summary: A new comment has been added to a page or blog post.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/CommentEvent'
CommentUpdated:
name: comment_updated
title: Comment Updated
summary: A comment has been updated on a page or blog post.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/CommentEvent'
CommentRemoved:
name: comment_removed
title: Comment Removed
summary: A comment has been removed from a page or blog post.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/CommentEvent'
AttachmentCreated:
name: attachment_created
title: Attachment Created
summary: A file has been attached to a page or blog post.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/AttachmentEvent'
AttachmentUpdated:
name: attachment_updated
title: Attachment Updated
summary: An attachment has been updated with a new version.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/AttachmentEvent'
AttachmentRemoved:
name: attachment_removed
title: Attachment Removed
summary: An attachment has been removed from content.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/AttachmentEvent'
LabelCreated:
name: label_created
title: Label Created
summary: A label has been added to content.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/LabelEvent'
LabelRemoved:
name: label_removed
title: Label Removed
summary: A label has been removed from content.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/LabelEvent'
BlogCreated:
name: blog_created
title: Blog Post Created
summary: A new blog post has been created in Confluence.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/BlogPostEvent'
BlogUpdated:
name: blog_updated
title: Blog Post Updated
summary: A blog post has been updated in Confluence.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/BlogPostEvent'
BlogRemoved:
name: blog_removed
title: Blog Post Removed
summary: A blog post has been removed from Confluence.
contentType: application/json
headers:
$ref: '#/components/schemas/WebhookHeaders'
payload:
$ref: '#/components/schemas/BlogPostEvent'
schemas:
WebhookHeaders:
type: object
properties:
X-Atlassian-Webhook-Identifier:
type: string
description: Unique identifier for this webhook registration.
X-Hub-Signature:
type: string
description: HMAC-SHA256 signature of the request body.
Content-Type:
type: string
enum:
- application/json
WebhookBase:
type: object
description: Common fields present in all Confluence webhook payloads.
properties:
timestamp:
type: integer
format: int64
description: Unix timestamp in milliseconds when the event occurred.
event:
type: string
description: The event type identifier.
userAccountId:
type: string
description: The Atlassian account ID of the user who triggered the event.
PageEvent:
allOf:
- $ref: '#/components/schemas/WebhookBase'
- type: object
properties:
event:
type: string
enum:
- page_created
- page_updated
- page_removed
- page_trashed
- page_restored
page:
$ref: '#/components/schemas/PagePayload'
PagePayload:
type: object
description: Page data included in webhook payloads.
properties:
id:
type: string
description: The unique identifier of the page.
type:
type: string
description: The content type, always "page" for pages.
enum:
- page
status:
type: string
description: The status of the page.
enum:
- current
- draft
- trashed
title:
type: string
description: The title of the page.
spaceKey:
type: string
description: The key of the space the page belongs to.
version:
type: object
properties:
number:
type: integer
description: The version number.
when:
type: string
format: date-time
description: Timestamp of this version.
message:
type: string
description: Version message.
minorEdit:
type: boolean
description: Whether this was a minor edit.
creatorAccountId:
type: string
description: Atlassian account ID of the page creator.
lastModifierAccountId:
type: string
description: Atlassian account ID of the last modifier.
self:
type: string
format: uri
description: The REST API URL for this page.
SpaceEvent:
allOf:
- $ref: '#/components/schemas/WebhookBase'
- type: object
properties:
event:
type: string
enum:
- space_created
- space_updated
- space_removed
space:
$ref: '#/components/schemas/SpacePayload'
SpacePayload:
type: object
description: Space data included in webhook payloads.
properties:
id:
type: integer
format: int64
description: The unique identifier of the space.
key:
type: string
description: The key of the space.
name:
type: string
description: The name of the space.
type:
type: string
description: The type of space.
enum:
- global
- personal
status:
type: string
description: The status of the space.
enum:
- current
- archived
creatorAccountId:
type: string
description: Atlassian account ID of the space creator.
self:
type: string
format: uri
description: The REST API URL for this space.
CommentEvent:
allOf:
- $ref: '#/components/schemas/WebhookBase'
- type: object
properties:
event:
type: string
enum:
- comment_created
- comment_updated
- comment_removed
comment:
$ref: '#/components/schemas/CommentPayload'
CommentPayload:
type: object
description: Comment data included in webhook payloads.
properties:
id:
type: string
description: The unique identifier of the comment.
type:
type: string
description: The content type.
enum:
- comment
status:
type: string
description: The status of the comment.
enum:
- current
- trashed
title:
type: string
description: The title of the comment.
version:
type: object
properties:
number:
type: integer
when:
type: string
format: date-time
container:
type: object
description: The content the comment is on.
properties:
id:
type: string
type:
type: string
enum:
- page
- blogpost
- comment
title:
type: string
creatorAccountId:
type: string
description: Atlassian account ID of the comment creator.
self:
type: string
format: uri
description: The REST API URL for this comment.
AttachmentEvent:
allOf:
- $ref: '#/components/schemas/WebhookBase'
- type: object
properties:
event:
type: string
enum:
- attachment_created
- attachment_updated
- attachment_removed
attachment:
$ref: '#/components/schemas/AttachmentPayload'
AttachmentPayload:
type: object
description: Attachment data included in webhook payloads.
properties:
id:
type: string
description: The unique identifier of the attachment.
type:
type: string
enum:
- attachment
status:
type: string
enum:
- current
- trashed
title:
type: string
description: The filename of the attachment.
mediaType:
type: string
description: The MIME type of the attachment.
fileSize:
type: integer
format: int64
description: The file size in bytes.
container:
type: object
description: The content the attachment is on.
properties:
id:
type: string
type:
type: string
enum:
- page
- blogpost
title:
type: string
creatorAccountId:
type: string
self:
type: string
format: uri
LabelEvent:
allOf:
- $ref: '#/components/schemas/WebhookBase'
- type: object
properties:
event:
type: string
enum:
- label_created
- label_removed
label:
type: object
properties:
name:
type: string
description: The name of the label.
prefix:
type: string
description: The prefix of the label.
associatedContent:
type: object
description: The content the label was added to or removed from.
properties:
id:
type: string
type:
type: string
enum:
- page
- blogpost
title:
type: string
BlogPostEvent:
allOf:
- $ref: '#/components/schemas/WebhookBase'
- type: object
properties:
event:
type: string
enum:
- blog_created
- blog_updated
- blog_removed
blogPost:
$ref: '#/components/schemas/BlogPostPayload'
BlogPostPayload:
type: object
description: Blog post data included in webhook payloads.
properties:
id:
type: string
description: The unique identifier of the blog post.
type:
type: string
enum:
- blogpost
status:
type: string
enum:
- current
- draft
- trashed
title:
type: string
description: The title of the blog post.
spaceKey:
type: string
description: The key of the space the blog post belongs to.
version:
type: object
properties:
number:
type: integer
when:
type: string
format: date-time
message:
type: string
minorEdit:
type: boolean
creatorAccountId:
type: string
lastModifierAccountId:
type: string
self:
type: string
format: uri