Skip to main content

Create Abyssale Webhook

Create custom webhooks to send real-time data to external apps when specific events occur.

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:

  1. Head to the Workspace settings

  2. Click on the Webhooks tab on the left navigation

  3. 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:

  1. Retrieve your workspace's signing secret with GET /signing-secret (keep it server-side, like an API key).

  2. On each delivery, recompute the signature from the raw request body and compare it to the X-Abyssale-Signature header. Always verify against the raw body, re-serialized JSON will produce a different signature.

  3. 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.

Did this answer your question?