Marketplace
Pre-built integration templates that set up a complete webhook pipeline in seconds — no manual configuration required.
What is the Marketplace?
The Marketplace is a collection of ready-made templates for the most common webhook integrations. Each template automatically creates:
- An webhook with the correct signature verification and payload filters pre-configured
- An additional target with a payload transform tailored to the destination
Without templates, setting this up manually takes ~30 minutes. With a template, it takes under 2 minutes.
How it works
When you use a template, HostWebhook sits between the webhook source (e.g. Stripe) and both your application and the notification destination (e.g. Discord):
- Ingress URL—Goes into Stripe's (or GitHub's) webhook settings — your webhook source POSTs here
- Your app (Target URL)—Receives the original raw payload, just like a normal webhook
- Discord / Slack (Additional target)—Receives a transformed, formatted payload via an additional target with a payload transform
Using a template
Open the Marketplace
Go to Dashboard → Marketplace and browse the available templates. Filter by category (Payments, DevOps, etc.) to find what you need.
Click "Use template"
A setup modal opens with two fields:
- Webhook name — pre-filled, you can edit it
- Your application URL — your server's webhook handler (where the raw payload goes)
- {Destination} URL — the Discord/Slack webhook URL (where the formatted message goes)
Expand Payload transform preview to see exactly what the destination will receive.
Click "Create →"
HostWebhook creates the webhook and the additional target automatically, then redirects you to the webhook detail page. Your ingress URL is ready.
Add the Ingress URL to your webhook source
Copy the Ingress URL from the webhook detail page and paste it into your webhook source:
- Stripe: Dashboard → Developers → Webhooks → Add webhook
- GitHub: Repo → Settings → Webhooks → Add webhook
Configure the signing secret (Stripe / GitHub only)
If the template uses signature verification (Stripe or GitHub), you need to paste the provider's signing secret into HostWebhook so it can verify that incoming webhooks are authentic.
- Stripe: After adding the webhook in Stripe Dashboard, click "Reveal" next to the Signing secret. Copy the
whsec_...value. - GitHub: Set a secret in GitHub's webhook settings, then copy it.
In the HostWebhook webhook detail page, click Edit → Webhook Signing Secret and paste the value. Save.
Available templates
| Template | Category | Signature | Filter |
|---|---|---|---|
| Stripe Payment → Discord | Payments | Stripe | payment_intent.succeeded |
| Stripe Subscription → Discord | Payments | Stripe | — |
| GitHub Push → Discord | DevOps | GitHub | ref contains refs/heads/ |
| GitHub Pull Request → Discord | DevOps | GitHub | — |
| GitHub Push → Slack | DevOps | GitHub | — |
Troubleshooting
Additional target wasn't created
If your plan's additional target limit was reached when using a template, the webhook will be created but the additional target won't. You'll see a warning banner on the webhook page. Click + Add target to add it manually, or upgrade your plan.
Events are not being delivered to Discord/Slack
- Check that the Ingress URL is correctly configured in Stripe/GitHub
- Check that the signing secret in HostWebhook matches the one in Stripe/GitHub
- Check the Events list on the webhook — look for
filteredevents (payload filter mismatch) orfaileddeliveries - Click any failed delivery to see the HTTP response from Discord/Slack
- Discord returns
400if the JSON structure is invalid — expand the transform preview to verify it
Payload transform shows wrong values
The transform uses {{payload.path}} interpolation. If a field is missing, it resolves to an empty string. Use the null coalescing operator to provide a fallback: {{payload.customer ?? 'Guest'}}. See the Payload transforms guide for the full syntax.