cs-icon.svg

Webhook Events

Here's a complete list of events available for Webhooks.

Branches

MethodDescription
branch.create.initiatedAny new branch creation is initiated on a stack
branch.create.completedAny new branch creation is completed on a stack
branch.delete.completedAny new branch deletion is completed on a stack
branch.{branch_uid}.delete.initiatedA specific branch deletion is initiated on a stack
branch.{branch_uid}.delete.completedA specific branch deletion is completed on a stack

Content Type

Method Description
content_types.create New content type is created
content_types.update Any content type is updated
content_types.{contenttype_uid}.update A specific content type is updated
content_types.delete Any content type is deleted
content_types.{contenttype_uid}.delete A specific content type is deleted

Entries

Method Description
content_types.entries.createAny entry is created
content_types.{contenttype_uid}.entries.create An entry is created within a content type
content_types.entries.updateAny entry is updated
content_types.{contenttype_uid}.entries.updateAn entry from a specific content type is updated
content_types.{contenttype_uid}.entries.{entry_uid}.updateA specific entry of a specific content type is updated
content_types.entries.publishAny entry is published
content_types.entries.publish.failAny entry failed to publish
content_types.entries.unpublishAny entry is unpublished
content_types.entries.unpublish.failAny entry failed to unpublish
content_types.entries.deleteAny entry is deleted
content_types.{contenttype_uid}.entries.deleteAny entry from a specific content type is deleted
content_types.{contenttype_uid}.entries.{entry_uid}.deleteA specific entry of a specific content type is deleted

Entry Comments

MethodDescription
content_types.entries.comments.createAny comment is created within any entry of any content type
content_types.{contenttype_uid}.entries.comments.createAny comment is created within any entry of a specific content type
content_types.{contenttype_uid}.entries.{entry_uid}.comments.createAny comment is created within a specific entry of a specific content type
content_types.entries.comments.updateAny comment within any entry of any content type is updated
content_types.{contenttype_uid}.entries.comments.updateAny comment within any entry of a specific content type is updated
content_types.{contenttype_uid}.entries.{entry_uid}.comments.updateAny comment within a specific entry of a specific content type is updated
content_types.entries.comments.deleteAny comment within any entry of any content type is deleted
content_types.{contenttype_uid}.entries.comments.deleteAny comment within any entry of a specific content type is deleted
content_types.{contenttype_uid}.entries.{entry_uid}.comments.deleteAny comment within a specific entry of a specific content type is deleted

Note: You cannot set webhook conditions that are triggered on events performed around a specific entry comment.

Entry Discussions

MethodDescription
content_types.entries.discussions.createAny discussion is created within any entry of any content type
content_types.{contenttype_uid}.entries.discussions.createAny discussion is created within any entry of a specific content type
content_types.{contenttype_uid}.entries.{entry_uid}.discussions.createAny discussion is created within a specific entry of a specific content type
content_types.entries.discussions.resolveAny discussion within any entry of any content type is resolved
content_types.{contenttype_uid}.entries.discussions.resolveAny discussion within any entry of a specific content type is resolved
content_types.{contenttype_uid}.entries.{entry_uid}.discussions.resolveAny discussion within a specific entry of a specific content type is resolved
content_types.entries.discussions.reopenAny discussion within any entry of any content type is reopened
content_types.{contenttype_uid}.entries.discussions.reopenAny discussion within any entry of a specific content type is reopened
content_types.{contenttype_uid}.entries.{entry_uid}.discussions.reopenAny discussion within a specific entry of a specific content type is reopened

Note: You cannot set webhook conditions that are triggered on events performed around a specific entry discussion.

Entry Workflows

Method Description
content_types.{contenttype_uid}.entries.{entry_uid}.workflows.{workflow_uid}Any stage of a specific workflow is changed within a specific entry of a specific content type
content_types.{contenttype_uid}.entries.workflows.{workflow_uid}Any stage of a specific workflow is changed within any entry of a specific content type
content_types.entries.workflows.{workflow_uid}Any stage of a specific workflow is changed within any entry of any content type
content_types.{contenttype_uid}.entries.{entry_uid}.workflows.{workflow_uid}.{workflow_stages_uid}Specific stage of a specific workflow is changed within a specific entry of a specific content type
content_types.{contenttype_uid}.entries.workflows.{workflow_uid}.{workflow_stages_uid}Specific stage of a specific workflow is changed within any entry of a specific content type
content_types.entries.workflows.{workflow_uid}.{workflow_stages_uid}Specific stage of a specific workflow is changed within any entry of any content type
content_types.entries.workflowsAny stage of any workflow is changed within any entry of any content type

Jobs

Method Description
jobs.environments.publish.completedAny bulk publish job in all environments is completed
jobs.environments.unpublish.completedAny bulk unpublish job in all environments is completed
jobs.environments.{environment_name}.publish.completedAny bulk publish job on specific environment is completed
jobs.environments.{environment_name}.unpublish.completedAny bulk unpublish job on specific environment is completed

Difference Between Entry-/Asset-based and Job-based Webhook Events

Differentiating FactorsEntry-/Asset-based Publish/Unpublish Webhooks Job-based Publish/Unpublish Webhooks
How it functionsTriggers when an entry/asset is successfully published/unpublished/deleted/created on all/any environmentTriggers when a specific Job (Publish/Unpublish/Delete/Create) is completed on all/any environment
Bulk publish/unpublish of “N” itemsWebhook is triggered “N” times for bulk actionsWebhook is triggered only once at the end for bulk actions (irrespective of the number of items, i.e., for one or many)
Webhook payloadContains complete data about entry/asset (all the fields)Contains only the summary of the job i.e., total count and its skipped, failed, success counts.

Assets

MethodDescription
assets.deleteAny asset is deleted
assets.{asset_uid}.delete A specific asset is deleted
assets.publishAny asset is published
assets.publish.failAny asset failed to publish
assets.unpublishAny asset is unpublished
assets.unpublish.failAll assets failed to unpublish

Releases

MethodDescription
releases.environments.deployAny release deployed on all environments
releases.environments.{environment_name}.deployAny release deployed on a specific environment
releases.{release_uid}.environments.deployA specific release deployed on all environments
releases.{release_uid}.environments.{environment_name}.deployA specific release deployed on a specific environment
releases.environments.deploy.{status}The status of any release deployed on any environment
releases.{release_uid}.environments.deploy.{status}The status of a specific release deployed on any environment
releases.environments.{environment_name}.deploy.{status}The status of any release deployed on a specific environment
releases.{release_uid}.environments.{environment_name}.deploy.{status}The status of a specific release deployed on a specific environment

When a webhook is triggered for an entry or asset, because it was published/unpublished via a release, the webhook data of such as an event contains a 'source' key. This key contains the JSON data of the release (type, title, and UID) it was deployed through.

This is useful in cases where a lot depends on the webhook data. For example, in the case of static site generators, a build is generated every time an item (entry or asset) is published or unpublished. So, if a release is deployed with 200 items, it will generate a build 200 times, instead of just one time for the release. To avoid such cases, the developer can write custom code that ignores events whose response contains the source key. So, only one build will be generated for the whole release.

Was this article helpful?
^