Skip to navigation

Events Reference

Use this page to compare Benchling event delivery models and review the EventBridge payload reference for supported events.

Benchling delivers events two ways, and they do not share the same payload shape, permissions model, or subscription path. Use this page when you need EventBridge payload details, supported event types, or the differences between the two delivery models. For the HTTP message contract Benchling sends to a webhook receiver, see Getting Started with Webhooks and Webhook Security. Once a delivery arrives and you need the latest resource state, use the REST API Reference.

JSON example pages

Delivery model differences

NeedWebhooksEventBridge
Delivery targetHTTPS endpoint configured for your appAWS event bus configured in your AWS account
Typical use caseApp-driven integrations and direct handlersAWS-native routing, rules, and multiple downstream targets
Payload shapeThin webhook message with event metadata and IDsHydrated Benchling payload shaped like the related API resource
Permissions modelInherits app permissionsNot permissioned
Best next stepReview Getting Started with Webhooks and Webhook SecurityReview the payload details and event tables below

EventBridge payload reference

All events have a standard JSON payload with the following structure:

{
"version": "0", // Unused
"id": "XXXX-XXXX-...", // Unique AWS ID
"detail-type": "v2.request.created", // <version>.<resource_type>.<action>
"source": "aws.partner...", // Event Subscription Name
"account": 123123123123, // AWS Destination Account ID
"time": "2015-06-14T22:26:59.673559+00:00", // Isoformat UTC when the event is created
"region": "us-west-1", // AWS region
"resources": [], // Unused
"detail": {
"createdAt": "2015-06-14T22:26:59.673559+00:00", // Isoformat UTC when the event is created, same as "time" above
"deprecated": false, // True if an event has been deprecated. It is best practice to alert on this to know when to migrate.
"entry": {}, // This will vary, depending on resource type
"eventType": "v2.request.created", // <version>.<resource_type>.<action>, same as "detail-type" above
"excludedProperties": ["dropped_key1", "dropped_key2"], // Empty unless properties were excluded for being too large
"id": "evt_XXX...", // Unique Benchling Event ID
"schema": {
"name": "...", // Name of the schema event is related to
"id": "..." // id of the schema event is related to
},
"updates": ["fields.cool"] // Fields that changed. Only present on update events
}
}

In the above, the "entry": {...} field will vary based on the resource that’s being sent. See the “Resource Name” column in the V2 Events Reference section for the field name for each event and the “API Get Endpoint Link” column for a link to the API reference documentation that outlines the content.

Outdated Event Payloads

Data in the event payload should not be treated as up-to-date. Events can be delivered late or out-of-order, so it’s best practice to look up the corresponding objects with the Benchling API if you need the latest information.

Oversized Events

Due to the fact that events on EventBridge have a maximum size of 256kb, some fields will be dropped when the event is oversized. The properties that were dropped are included in the excludedProperties field.

If one of those fields is critical for you to retrieve, the resource object (entry: {...} in the above example) has a apiURL field that contains the URL to retrieve the full resource from the API.

Event Subscription

To subscribe to any of the following events, you’ll need to follow the instructions in the Getting Started Guide and add that event type from the dropdown.

V2 Events Reference

Event NameEvent DescriptionResource NameAPI Get Endpoint Link
v2.assayRun.createdFired when a run is createdassayRunAssay Run
v2.assayRun.updated.fieldsFired when a run’s fields are updatedassayRunAssay Run
v2.automationFileTransform.updated.status.runningFired when an automation file transform changes to running statusautomationFileTransformAutomation File Transform
v2.automationFileTransform.updated.status.pendingFired when an automation file transform changes to pending statusautomationFileTransformAutomation File Transform
v2.automationFileTransform.updated.status.succeededFired when an automation file transform changes to succeeded statusautomationFileTransformAutomation File Transform
v2.automationFileTransform.updated.status.failedFired when an automation file transform changes to failed statusautomationFileTransformAutomation File Transform
v2.entity.registeredFired when an entity is registeredentityEntity Resource
v2.entry.createdFired when a notebook entry is created. Only applicable for entries that are not a part of a Legacy Workflow.entryEntry Resource
v2.entry.updated.fieldsFired when a notebook entry’s schema or fields are updated. Only applicable for entries that are not a part of a Legacy Workflow.entryEntry
v2.entry.updated.reviewRecordFired when a notebook entry’s reviewRecord is updated. Only applicable for entries that are not a part of a Legacy Workflow. Not applicable as of yet for the new review process.entryEntry
v2.request.createdFired when a request is createdrequestRequest
v2.request.updated.fieldsFired when a request’s fields are updatedrequestRequest
v2.request.updated.statusFired when a request’s status is updatedrequestRequest
v2.workflowTaskGroup.createdFired when a workflow task group is createdworkflowTaskGroupWorkflow Task Group
v2.workflowTaskGroup.mappingCompletedFired when a workflow task group completes a batch of mappings. Can fire more than once per task groupworkflowTaskGroupWorkflow Task Group
v2.workflowTaskGroup.updated.watchersFired when a workflow task group’s watchers are updatedworkflowTaskGroupWorkflow Task Group
v2.workflowTask.createdFired when a workflow task is createdworkflowTaskWorkflow Task
v2.workflowTask.updated.assigneeFired when a workflow task’s assignee is updatedworkflowTaskWorkflow Task
v2.workflowTask.updated.scheduledOnFired when a workflow task’s scheduledOn is updatedworkflowTaskWorkflow Task
v2.workflowTask.updated.statusFired when a workflow task’s status is updatedworkflowTaskWorkflow Task
v2.workflowTask.updated.fieldsFired when a workflow task’s fields are updatedworkflowTaskWorkflow Task
v2.workflowOutput.createdFired when a workflow output is createdworkflowOutputWorkflow Output
v2.workflowOutput.updated.fieldsFired when a workflow output’s fields are updatedworkflowOutputWorkflow Output

V2 Beta Events Reference

Using Beta Events

Events under v2-beta are subject to more frequent breaking changes. We will notify developers prior to making breaking changes, but we recommend setting up monitoring to account for them if you are using them in production. Overall, we generally recommend only using v2.* events in production whenever possible.

See our Stability documentation for more information on Beta and what it means!

Beta events are not listed by default. Please contact Benchling support to access these events.

Event NameEvent DescriptionResource NameAPI Get Endpoint Link
v2-beta.automationInputGenerator.completedFired when a file has been generated by an automation input generatorautomationInputGeneratorAutomation Input Generator
v2-beta.automationOutputProcessor.completedFired when a file has been processed by an automation output processorautomationOutputProcessorAutomation Output Processor
v2-beta.automationOutputProcessor.uploadedFired when a file has been uploaded to an automation output processorautomationOutputProcessorAutomation Output Processor
v2-beta.automationFileTransform.updated.statusFired when a file transform undergoes a status changeTransformTransform

V2 Alpha Events Reference

Using Alpha Events

Events under v2-alpha are in active development and can change or be removed entirely without notice. They should only be used for testing purposes and we encourage those that do use them to reach out with feedback!

See our Stability documentation for more information on Alpha and what it means!

Alpha events are not listed by default. Please contact Benchling support to access these events.

Event NameEvent DescriptionResource NameAPI Get Endpoint Link
v2-alpha.stageEntry.createdFired when a legacy workflow stage entry is createdstageEntryStage Entry
v2-alpha.stageEntry.updated.fieldsFired when a legacy workflow stage entry’s schema or fields are updatedstageEntryStage Entry
v2-alpha.stageEntry.updated.reviewRecordFired when a legacy workflow stage entry’s review record has transitioned statusstageEntryStage Entry