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 1 November 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).