What webhooks do
A webhook is a subscription to a specific store event. When that event occurs, Storeep immediately sends the event data to a URL you specify (API type) or an email address you specify (E-mail type). Webhooks are commonly used for order-tracking integrations, CRM syncs, ad platform conversions, and automated notifications.
To manage webhooks, go to Settings → Webhooks.
Webhook limits
- Maximum 20 webhooks per store. Attempting to add a 21st returns an error.
- Webhooks are listed newest-first, paginated at 40 per page.
Creating a webhook
Click Add new webhook.
Activate toggle
When checked (the default), the webhook is live from the moment it is saved. Events are dispatched immediately. Uncheck to save the webhook in a disabled state without receiving events. You can enable or disable a webhook at any time by editing it.
Name
- Required.
- Maximum 50 characters.
- A descriptive label shown in the webhooks list. Example: Facebook CAPI, order created.
Type
Controls how the event payload is delivered. Two options:
- API: Storeep sends an HTTP POST request carrying the event data to the URL you specify.
- E-mail: Storeep sends an email containing the event data to the address you specify.
Event
The store event that triggers this webhook. Three events are available:
- Session created: fires when a new visitor session is created in your store.
- Order created: fires when a new order is placed.
- Order updated: fires when an existing order's status or data changes.
Format
The data format of the event payload. Currently one option:
- Json: the payload is sent as a JSON document.
URL (API type only)
- Required when type is API.
- Maximum 500 characters. The higher limit accommodates URLs that include multiple placeholder segments.
- Enter the endpoint URL without the
https://prefix. It is added automatically. Example:api.example.com/events/order. - Dynamic URL placeholders: any field from the event payload can be injected into the URL using double-brace syntax:
{{field_name}}. For example:https://example.com/postback?cid={{fbclid}}&payout={{order_total}}
This lets you send conversion data to ad platforms directly from the webhook URL without a separate proxy server. - If the URL structure is invalid after placeholders are resolved, you will receive a validation error.
Email address (e-mail type only)
- Required when type is E-mail.
- Must be a valid email address, maximum 127 characters.
Editing a webhook
Click any webhook row to open the editor. All fields are editable. The URL field pre-fills only if the current type is API; the email field pre-fills only if the current type is E-mail. Switching type clears the other field.
Enabling and disabling webhooks
The Activate checkbox at the top of the editor controls whether the webhook fires. Status in the list shows Activated or Deactivated. A disabled webhook records no deliveries but is not deleted, so you can re-enable it later without reconfiguring it.
Webhooks list columns
- Name: webhook label with creation date.
- URL / E-mail: the destination address.
- Type: API or E-mail.
- Event: the event name (Session created, Order created, or Order updated).
- Format: Json.
- Status: Activated or Deactivated.
Deleting a webhook
Select one or more webhooks and click Delete webhooks. This is permanent and stops all future deliveries for that subscription.
Tips and pitfalls
- You can create multiple webhooks for the same event, for example, send Order created to both a CRM and an ad platform, each as a separate webhook entry.
- If your endpoint requires authentication, add the credentials to the URL query string using a
{{placeholder}}sourced from the event data, or set up a proxy server that handles authentication before forwarding to the real endpoint. - The Session created event fires for every unique visitor session, which can be high-volume on popular stores. Only subscribe to it if your endpoint can handle the throughput.