Custom sources

Connect anything that sends signed JSON webhooks, such as Stripe, Shopify, Paddle, Clerk, or Resend, and watch it with your own rules.

Sources Available on every plan; custom rules from Starter Updated 25 October 2026

These pages describe ShellOrbit as it runs today. Breaking changes to the HTTP API are announced before they ship, and existing request and response shapes stay supported.

A custom source takes any JSON webhook, checks its signature, keeps it, and runs your custom rules over it. Use it for a system without a ready-made kind.

Set it up

  1. In Settings, Integrations, Add source, choose Custom.
  2. Choose the signature format the sender uses, and paste the sender’s signing secret:
Custom sources: Format, Senders, Header checked
FormatSendersHeader checked
StripeStripeStripe-Signature
ShopifyShopifyX-Shopify-Hmac-Sha256
PaddlePaddlePaddle-Signature
GitHubGitHub, and senders that copy its schemeX-Hub-Signature-256
Standard WebhooksSvix and products built on it, such as Clerk, Resend, and Dodo Paymentswebhook-signature, or svix-signature
ShellOrbitYour own systemsShellOrbit-Signature
  1. Paste the source URL into the sender as its webhook URL.
  2. Add rules for what matters. Without one, events are kept and nothing raises a finding.

See signature verification for each format.

Rule ideas

Custom sources: Sender, Rule
SenderRule
Stripebody.type equals account.updated, high: account details changed
Stripebody.type equals charge.dispute.created, more than 5 in 60 minutes, high
Clerkbody.type equals user.deleted, more than 20 in 10 minutes, high
Shopifyheader.X-Shopify-Topic equals app/uninstalled, medium

Custom rules are on Starter (10), Pro (50), and Business (unlimited). On Hobby a custom source keeps its events for inspection only.