Webhooks
Test webhooks locally from 65 providers, from Stripe and GitHub to Slack and Shopify, with a Horizon tunnel and signature checks.
Receive webhooks from any provider on your laptop, with a public HTTPS URL that stays the same across restarts.
Horizon has no provider integrations, and it doesn't need them. The provider sends an HTTPS request to a URL, and Horizon gives you that URL. Every guide below follows the same four moves:
- Start your app with a route that checks the provider's signature.
- Run
hrzn tunnel http://localhost:3000 -s my-appwith a reserved subdomain, so the URL survives a restart. - Paste
https://my-app.hrzn.run/<your route>into the provider's webhook settings. - Trigger or resend a test event from the provider, and watch it land in your terminal.
Don't see your provider? Those four steps still work. Look up its signature header in the provider's docs, and use the closest guide below as a template.
Payments and finance
Commerce
Developer tools
Bitbucket Cloud
Buildkite
CircleCI
GitHub
GitLab
Heroku
Jira Cloud
LaunchDarkly
Linear
PagerDuty
Sentry
Sonatype Nexus Repository
HCP Terraform
Messaging and email
Airship
Intercom
Mailchimp
Mailgun
Microsoft Teams
Plivo SMS
Pusher Channels
SendGrid
Slack
Twilio SMS
Cisco Webex
Zoom
Social
Productivity and content
Autodesk Platform Services
Box
Calendly
Contentful
DocuSign Connect
Dropbox
Frame.io
HubSpot
Hygraph
Mux
Typeform
Zendesk
Auth and security
Cloud and infrastructure
Stream Server-Sent Events through a tunnel
Stream Server-Sent Events from a local Next.js route handler through a Horizon tunnel, and watch them arrive with curl -N.
Test Brex webhooks locally
Receive Brex webhook events on localhost with a Horizon tunnel, and verify the Webhook-Signature header in a Next.js route handler.