Webhooks

A guide for managing webhooks in the UI.

Developer guide: Webhooks

Python tutorial: Configure webhooks via the Python SDK


A webhook is an endpoint on your server that receives requests from Labelbox. The purpose of a webhook event is to notify your application whenever something interesting happens in your Labelbox account. Rather than periodically polling the Labelbox API to check for any updates in Labelbox, setting up webhooks allows your application to receive updates automatically.

For security purposes, Labelbox includes a signature in each webhook event it sends to your application endpoint. Setting up your webhook configuration to verify the signature in each webhook message allows you to confirm that the events were sent by Labelbox.

Labelbox server addresses

Labelbox traffic comes from one of the addresses listed on Labelbox server addresses. Be sure to add these to relevant policies and allow lists.

Webhook events

Labelbox offers the following events either per-project organization-wide:

EntityEvent TypesDescriptionMethod & Payload
LabelLABEL_CREATED, LABEL_UPDATED, LABEL_DELETEDTriggers when labels have been created, updated, or deleted.HTTP POST
Model run trainingCreated (HTTP POST)Triggers when training of a model run has been initiated

Note this webhook does not yet conform to standard webhook subscriptions. It must be registered in the Model User Interface.
HTTP POST
Models listQueries (HTTP GET)Callback to retrieve a list of model types for a given model training backendHTTP GET
WorkflowMOVETriggers when a workflow action happens, e.g. after a data row was approved or rejected during a review step, or after it was manually moved to a different queue.HTTP POST

Manage webhooks in the UI

You can manage your webhooks from the application by going to the Webhooks tab in your Workspace settings section. Here you can create and manage your webhooks without any code.

1358

FAQ

What is the outgoing rate for webhooks?

The rate would be determined by the configuration (the subscribed topics) and their usage (how many labels are being created)

Is there an upper limit on the size of the webhook payload?

No, because the payload is a function of the number of annotations on a label and there is no limit to the number of annotations on a data row.

Does Labelbox use any non-https connections to send webhook events?

All our webhook events are sent in https.

Is the Content-Type header from the labelbox webhook events only “application/json”?

Yes, the Content-Type will only ever be application/json.

What is the first id in the payload for label-related events?

The first ID in the payload for label-related events is the label ID.

Event: LABEL_CREATED
Payload: {
    "id": "cl0sjr9nb9tfi0zatagsq5zw1",

Is the order of events from a Labelbox webhook guaranteed to be the same as the order in which the label/review was created/updated/deleted?

There are no guarantees on the delivery of sequencing.