[Webhooks Promotion] Duplicate Webhooks for `beta` and stable versions
Duplicate webhook notifications (one v0-beta
and one v0
) are sent for each single trigger to ease the migration from beta to stable webhooks. Developers should acknowledge a single notification, depending on whether they’re using v0-beta
or v0
, and ignore the other. v0-beta
webhooks are now deprecated, and will be sunset at some point in the near future.
What’s changing?
Previously, app developers subscribing to Benchling Webhooks would expect that a single trigger will result in a single webhook notification. For example, a user in Benchling clicking a button in an app canvas will result in a single webhook notification similar to the following:
{
"version": "0",
"baseURL": "tenant.benchling.com",
"tenantId": "ten_foo",
"app": {
"id": "app_bar",
"version": "x.y.z",
},
"channel": "app_signals",
"message": {
"type": "v0-beta.x.y"
...
},
}
As a part of the promotion of Benchling Webhooks from beta
to stable, Benchling will eventually transition to sending the stable version of webhooks (i.e. v0
instead of v0-beta
). To ease the migration process, Benchling will be temporarily sending two webhook notifications for each trigger; a v0-beta
and a v0
webhook notification. For the example above, two distinct webhook notifications would be sent:
{
"version": "0",
"baseURL": "tenant.benchling.com",
"tenantId": "ten_foo",
"app": {
"id": "app_bar",
"version": "x.y.z",
},
"channel": "app_signals",
"message": {
"type": "v0-beta.x.y"
...
},
}
// Separately:
{
"version": "0",
"baseURL": "tenant.benchling.com",
"tenantId": "ten_foo",
"app": {
"id": "app_bar",
"version": "x.y.z",
},
"channel": "app_signals",
"message": {
"type": "v0.x.y"
...
},
}
It’s important to note that these are duplicate notifications send for the purposes of providing simultaneous support for apps that depend on either v0-beta
or v0
webhooks. They do not represent distinct user interactions or triggers; developers should expect to receive both webhooks, but only respond to one of them. We recommend working to support stable webhooks (i.e. v0
) as soon as possible.
v0-beta
webhooks are now officially marked as deprecated, and will be fully sunset at some point in the near future. A full sunset announcement will be posted to the changelog when a firm date has been established. Two important things to note about the webhooks promotion:
- As a part of the promotion of Webhooks to stable,
app->version
will be removed from all webhook versions. - App activation webhooks (i.e.
lifecycle.activateRequested
) will continue to be sent in duplicate indefinitely due to legacy dependencies
When is this happening?
Both v0-beta
and v0
webhook notifications are currently being sent; this will be the case for at least 30 days, or until Webhook’s full promotion to stable. A separate sunset announcement with a firm sunset date is forthcoming; after, Benchling will no longer send v0-beta
webhooks nor app->version
in the payloads.