Events FAQs
Can I expect to receive an event every time something happens in Benchling?
For the event types we support (see the Events Reference), we guarantee at least once delivery of all events. That means we consider it an outage if an event is not delivered, but the receiver (you) are expected to handle it gracefully if we deliver it more than once.
Will events arrive in the order they are triggered?
We do not guarantee that events are delivered in the same order that the changes happened in Benchling. In practice, they generally are, but anything listening to them should account for this possibility.
How fast do events get delivered?
Most events are delivered within a few seconds of the change happening in Benchling that triggers them.
If the system is under a high load, or if the event is triggered as part of a large bulk transaction (e.g. bulk registering entities), event delivery latency may be significantly higher. For example, it may take on the order of 20 seconds to emit 1000 events corresponding to a bulk transaction, and on the order of 1 minute to emit 10 thousand.
What is an event subscription status?
EventBridge subscriptions have 3 statuses: Active
, Pending
, Expired
.
An Active
subscription requires no further action; its setup has been completed in AWS.
A Pending
subscription has been created by Benchling as a partner event source in AWS, but it lacks an associated event-bus in AWS. This setup must be completed within 12 days, steps are in the Getting Started Guide.
An Expired
subscription was created at least 12 days ago, but no event-bus was associated. Expired event subscriptions will not be present as a partner event source in AWS. Click resubscribe in the events settings page (my-tenant.benchling.com/event-subscriptions) to re-create the partner event source and return the subscription to the Pending
status.
How long are events kept?
Events delivered over Eventbridge can be retrieved from the List Events API for up to 2 weeks after they have been issued.
What event delivery methods are available?
Benchling currently delivers events in two different ways:
- (New!) Webhooks: An HTTP request with the event payload is sent to a webhook URL provided by the app developer.
- AWS Eventbridge: Benchling sends the event payload to an Eventbridge bus that is configured and owned by the customer.
If there is an outage in the Event system, how do I recover lost events?
In the event of an outage, Benchling will notify customers of the affected time period. Events delivered over Eventbridge can be retrieved from the List Events API for up to 2 weeks after they have been issued and can be filtered by time. Steps to recover would be:
- Receive outage window from Benchling
- Query the dropped events from the List Events API
- Route the events to the integration(s) in your infrastructure
We do not resend events over EventBridge or webhooks. Any filtering/routing of these retrieved events will have to be handled either manually or through your infrastructure.
Why did my event contain numbers in scientific notation?
AWS imposes a maximum value of 9,223,372,036,854,775,807 and a minimum value of -9,223,372,036,854,775,808 for integers in event payloads. If your event contains an integer that is outside of these bounds, the integer will be converted to scientific notation with 6 degrees of precision. For example, the number 92233720368547758070 will appear in the event payload as 9.22337e+19.
Updated 20 days ago