Skip to main content
Pancake supports multiple webhook endpoints per store across five channels: standard HTTPS (RSA-signed envelope), Feishu, Discord, Telegram, and Slack. Each endpoint is an independent record in store.store_webhooks with its own URL, subscribed event list, and test/prod environment binding.

Channels

URL host

Any HTTPS URL is accepted regardless of channel. The merchant is responsible for matching the URL to the channel’s expected platform — if a Discord URL is configured under channel: "slack", the dispatcher will encode the payload in Slack’s attachments format and send it to the Discord endpoint, which will respond with an error and the failure is recorded in webhook_deliveries.

Multiple webhooks per URL

The same URL can be configured under multiple webhooks within a store — webhooks fan out, so different event subscriptions, channels, or testMode flags can share a URL. Each webhook delivers independently, which means consumers receiving identical payloads on a shared URL must dedupe by (eventType, eventId).

Limits

Each store may have at most 20 webhooks across all channels. Exceeding the limit returns 400.

Listing webhooks

There is no list-webhooks endpoint — querying the configured webhook list goes through GraphQL Store.storeWebhooks (filtered automatically by environment via test_mode):

Endpoints

Add Webhook

Configure a new webhook endpoint for a store.

Update Webhook

Change a webhook’s URL, events, or secret.

Remove Webhook

Hard-delete a webhook (history retained).