Real-time automation with Webhooks from Cloudsmith
Cloudsmith Webhooks give your pipelines and tools instant visibility into package events, from upload and sync to quarantine and security scan completion. Configure per-repository subscriptions, shape payloads with Handlebars templates, and verify every delivery with HMAC-SHA1 signatures so your downstream systems react to exactly what happens, with no polling required.
How we support Webhooks
Why teams integrate Cloudsmith with Webhooks
Frequently asked questions
Cloudsmith supports eleven event types: package.created, package.synced, package.syncing, package.failed, package.deleted, package.restored, package.quarantined, package.released, package.security_scanned, package.tags_updated, and a ping event fired when a webhook is first created or tested. You subscribe to the subset of events relevant to your workflow.
Navigate to the Webhooks sub-menu of any repository in the Cloudsmith UI. Creating a webhook requires only a destination endpoint URL. From there you can select payload format, choose event subscriptions, add a package query filter, and configure security options including HMAC signature keys and secret headers.
Each webhook delivery includes an X-Cloudsmith-Signature header containing an HMAC-SHA1 digest of the payload. On the receiver side, recalculate the HMAC using your shared secret key and compare it to the header value. If they match, the payload arrived from Cloudsmith unaltered. Cloudsmith stores the secret key encrypted internally.
Cloudsmith supports JSON Object, JSON Array, Form Encoded JSON Object, and Handlebars Template formats. The Handlebars option lets you craft fully custom payloads for any downstream service, including Slack, Microsoft Teams, or bespoke internal APIs, without needing an intermediate translation service.
Yes. Each webhook accepts an optional package search query using the same syntax supported across Cloudsmith. For example, you can configure a webhook to fire only for packages named my-web-app that carry a release tag. Packages that do not match the query will not trigger delivery, keeping your endpoints focused on the signals that matter.
Configure a webhook subscribed to the package.synced event on your production repository. Point it at your CI/CD service endpoint, such as CircleCI, Jenkins, or Spinnaker. When a synchronised package lands in the repository, Cloudsmith fires the webhook and your pipeline picks up the signal and initiates deployment automatically.
Yes. Use the Handlebars Template payload format to construct a Slack-compatible or Teams-compatible JSON payload directly. You can include package name, version, download URL, uploader, and any custom logic such as calling out a hotfix tag. No middleware is required between Cloudsmith and your chat tool.
Yes. Cloudsmith Webhooks are a repository-level feature that works across all 30+ supported package formats including Docker, npm, Maven, Python, Helm, Debian, and more. Any package event in any repository can trigger a webhook delivery regardless of format.
Yes. Within a single webhook you can define a separate Handlebars template for each event type. If a specific event template exists it takes precedence, otherwise the default template is used. This lets you route all events to a single endpoint while formatting the payload differently for each, for example distinguishing a security scan result from a sync completion.
Cloudsmith webhooks currently originate from three IP addresses: 34.252.163.216, 52.208.86.0, and 108.129.59.129. These addresses can be used to allowlist Cloudsmith traffic at your firewall. Contact Cloudsmith support for the most up-to-date list, as these addresses may change over time.