recovery.resource_failed_over

Automatic failover swapped a banned channel or group for its standby without the creator — the failover you sleep through.

When this fires

A probe finds a channel gone or the bot removed from it, the project has Automatic Failover switched on, a healthy standby is linked, and the allowance permits: the platform points the resource at its standby, revokes the old links and queues every active member's re-admission, all without the creator. This event fires the moment the resource points at the standby; it sits under a recovery whose recovery.operation_started carries automatic: true.

Required ability

project-recovery:view — token must carry this at mint time to subscribe an endpoint to this event.

Payload

{
  "id": "evt_01HX...",
  "type": "recovery.resource_failed_over",
  "created_at": "2026-09-12T03:19:42Z",
  "api_version": "2026-05-01",
  "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
  "data": {
    "operation_id": "9a4d2e71-5b38-4c6f-8e12-3d7c9b0a5f21",
    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
    "resource_id": "b73c5f21-9d80-4a6e-8215-4f70ce13a9d6",
    "resource_title": "Lounge",
    "connector": "telegram",
    "replaced_at": "2026-09-12T03:19:41Z"
  }
}

Field reference

FieldTypeNotes
idstring ULIDUnique event id, prefixed evt_. Use for idempotent processing.
typestringAlways recovery.resource_failed_over for this event.
created_atISO 8601 timestampServer-side emission time.
api_versionstringWebhook API contract version.
project_idstring UUIDProject this event belongs to.
data.operation_idstring UUIDThe automatic recovery the swap ran under; its roll call says how re-admission is going.
data.project_idstring UUIDThe project.
data.resource_idstring UUIDThe resource, now pointing at the standby.
data.resource_titlestring | nullThe resource's title, as plans show it.
data.connectorstring | nullThe connector the chats live on.
data.replaced_atISO 8601 timestampWhen the resource was re-pointed.

Members the bot cannot reach

A failover emails the members the bot can no longer message, at a per-email fee the creator accepted when switching failover on. The roll call's emailed counter says how many.

Caveats

  • The standby that was consumed fires recovery.standby_removed with reason: used beside this event.
  • project.resource.updated also fires for the same resource with changes.space_id, as it does for any swap.

How is this guide?

On this page

Subscriby is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request