Abyssale allows you to create webhooks that send real-time data to any third-party application or service when a set event occurs.
Create an Abyssale Webhook
To create a webhook, log in to your Abyssale account, and perform the following steps:
Head to the Workspace settings
Click on the Webhooks tab on the left navigation
Click on the "Create New Webhook" button located at the top of the page.
Webhook parameters available
When creating a webhook on Abyssale, certain parameters are available to customize which events will be sent to your webhook URL.
Webhook URL (mandatory): Specify the URL or web address where the data will be sent once the webhook is triggered. The URL will receive an HTTP POST request when the selected event happens.
Choose webhook types :
New Generation (
NEW_BANNER): a single visual generated in the app, or asynchronously via the API. Synchronous API generation does not trigger it, because the file is already returned in the response.New export (
NEW_EXPORT): exports can't be filtered by designs
New batch generation (NEW_BANNER_BATCH): listen to async (multiple images at once, mp4, gif & HTML5) generation
Design approval status (TEMPLATE_STATUS): get the new status of your design
Design filter (optional) : Filter data sent on selected designs
💡 Tips : You can select multiples webhook types at a time.
Note : A webhook will not trigger on local environments such as localhost.
Securing your webhook endpoint
Since your webhook URL is publicly reachable, you should verify that incoming requests genuinely come from Abyssale before processing them.
Every webhook delivery is signed: Abyssale sends an X-Abyssale-Signature header computed from the request body and your workspace's signing secret. The header also embeds a timestamp, so stale or replayed deliveries can be rejected (the default freshness window is 5 minutes).
To verify deliveries:
Retrieve your workspace's signing secret with
GET /signing-secret(keep it server-side, like an API key).On each delivery, recompute the signature from the raw request body and compare it to the
X-Abyssale-Signatureheader. Always verify against the raw body, re-serialized JSON will produce a different signature.Reject anything that doesn't match (respond with a 401 and don't process the payload).
Managing your secret: rotate it periodically or when someone with access leaves (POST /signing-secret/rotate), and revoke it immediately if it ever leaks (POST /signing-secret/revoke).
For the full header format, verification steps in other languages, rotation details and code samples, see the signature verification guide.
Tip: even with verification in place, your endpoint should acknowledge receipt quickly, Abyssale retries deliveries that aren't acknowledged.
API Reference for webhook
Check our developer page to learn more about Abyssale webhook. For the payload of each event, see the events reference.


