Webhooks

Webhooks: your tools notified as soon as a run ends.

When the enrichment or generation of a batch completes, fails or is stopped, Upsellr sends a signed event to the address of your choice. Your tool takes over: publishing, review, export.

Category
API
Direction
Event delivery
Format
JSON signed with HMAC-SHA256
Endpoints
Up to 25 per organization
Retries
Up to 6 attempts, over more than a day
Setup
An HTTPS address and a secret
Plans
Enterprise plan
Publisher
Upsellr

01What webhooks do

The signal that moves your tools forward.

  1. 01

    An event at the end of every run

    Completed, failed or stopped: at the end of each enrichment or generation run, Upsellr sends the event with the run’s details.

  2. 02

    Signed, so it can be verified

    Each delivery carries an ID, a timestamp and an HMAC-SHA256 signature computed with your secret: your tool checks it really comes from Upsellr.

  3. 03

    Retried until received

    Without a 2xx answer within 10 seconds, Upsellr retries after 1 minute, 5 minutes, 30 minutes, 4 hours, then 24 hours.

  4. 04

    A log of every delivery

    Status, HTTP code, number of attempts and content: each delivery can be checked for 7 days, and a failed one can be replayed in one click.

  5. 05

    Chain your tools

    Publish, notify a team or start an export as soon as the pages are ready: the webhook gives the signal, your tool does the rest.

  6. 06

    Stay in control

    Disable an endpoint, change its secret or delete it: its pending retries are canceled.

02Getting started

Connected in a few minutes.

  1. 01

    Open the organization settings

    API and webhooks section, reserved to owners and admins.

  2. 02

    Add an endpoint

    An HTTPS URL, reachable from the internet.

  3. 03

    Copy the secret

    It is shown only once and is used to verify the signature of each delivery.

  4. 04

    Verify the signature

    Recompute the HMAC-SHA256 signature of the timestamp and the content, and reject a delivery that is too old.

  5. 05

    Answer fast

    A 2xx answer within 10 seconds, then handle the rest on your side.

03Events

The events sent.

EventSentRetried if needed
Run completed (workflow.run.completed)YesYes
Run failed (workflow.run.failed)YesYes
Run stopped (workflow.run.stopped)YesYes

Compatibility and requirements

  • The Enterprise plan
  • A public HTTPS address, on port 443
  • An owner or admin role
  • A 2xx answer within 10 seconds
  • Tip: deduplicate on the event ID

You stay in control

Reliable by design.

  • Signed with HMAC-SHA256, with a secret per endpoint
  • Delivered at least once: deduplicate on the event ID
  • Retried up to 6 times, over more than a day
  • Sent over HTTPS, to public addresses only

04Questions

Questions about Upsellr webhooks.

Are webhooks included in my plan?

They are reserved to the Enterprise plan, like the API.

Which events are sent?

The end of an enrichment or generation run: completed, failed or stopped. Each event contains the run’s details.

How do I check a delivery comes from Upsellr?

Recompute the HMAC-SHA256 signature of the timestamp and the content with your secret, compare it with the X-Upsellr-Signature header, and reject a delivery older than 5 minutes.

What happens if my server does not answer?

Without a 2xx answer within 10 seconds, Upsellr retries after 1 minute, 5 minutes, 30 minutes, 4 hours, then 24 hours. A failed delivery can also be replayed by hand from the log.

Can I receive the same event twice?

Yes, it can happen: delivery is guaranteed at least once, with no guaranteed order. Deduplicate on the event ID.

How long is the log kept?

7 days, with the status, HTTP code, number of attempts and content of each delivery.

How many endpoints can I declare?

Up to 25 per organization, each with its own secret, which you can rotate.

Does a test in the workflow editor send an event?

No. Only real runs send events.

Your next product
deserves more than copy and paste.

Give your AI team its first products to work on.