Developer
Webhooks
11 min
webhooks can be used to get notified about content publishing events quick start for basic webhook notifications (all content in a publication), use this minimal configuration { "processonce" false, "filter" { "type" "post", "properties" \[] }, "notification" { "url" "https //your webhook endpoint com/hook", "method" "post", "parameters" { "id" "{{id}}", "preview" "{{preview}}" } } } important both filter and notification sections are required an empty properties array matches all content of the specified type when webhooks trigger webhooks are sent when content is published for the first time already published content is saved/updated content is republished webhooks are not sent for status changes (draft > review, etc ) content creation without publishing content deletion configuration the configuration is set as a custom property on the publication which is then valid for all contents inside this publication the custom property key must be webhook config the value of the custom property is a configuration json like { "processonce" false, "filter" { "type" "post", "properties" \[ { "key" "print transfer", "value" "true" } ] }, "notification" { "url" "https //example com/event", "method" "post", "parameters" { "guid" "{{id}}", "preview" "{{preview}}" }, "headers" { "x api key" "123456" } } } webhook configuration field type required default value notes processonce boolean no true if true, a notification will be send only for the first matching content publish event any updates to the same content will not cause another notification to be send filter contentfilter yes none required with the filter element the notifications can be filtered by type and properties notification notificationconfig yes none required the notification element configures the notification call contentfilter field type required notes type contenttype yes required available values issue, post, bundle properties property no match contents based on their custom properties all provided keys and values need to match exactly using string comparison use empty array \[] to match all content of the specified type property field type required notes key string yes key of the custom property value string yes value of the custom property notificationconfig field type required notes url string yes required the endpoint to send the notification to method enum get, post yes required http method for the webhook call headers map\<string, string> no additional headers for the request, e g api keys or authorization header parameters map\<string, string> no parameters are send as query parameters if the method is set to get when the method is set to post the parameters are send as json in the request body the parameter elements allow variables populated from the content supported values are id name posttype preview externalid property \<issue custom property key> variables need to be wrapped in {{}} as seen in the example to be recognized as placeholders troubleshooting webhook not triggering? check required fields ensure your json includes both filter and notification sections verify content type the filter type must match your content type exactly ( "post" , "issue" , "bundle" ) test with empty filter use "properties" \[] to match all content initially validate json syntax use a json validator to check your configuration check trigger conditions only publish/republish events trigger webhooks testing your webhook use a service like webhook site https //webhook site to get a test url configure the webhook with this test url publish content in your publication check if requests appear on the webhook testing service once confirmed working, replace with your actual webhook url limitations no retry when the webhook endpoint is temporarily unavailable (i e due to a network error)