app.integration_inbound_events
TableRow level security on
Webhooks a provider sent to XOS (Section 17), recorded once per provider event after the signature checked out, then processed by the integration worker with retries and exponential backoff. Events that fail for good wait as Dead Letter for an admin.
Primary key: id
| Column | Type | Nullable | Description |
|---|---|---|---|
| id | uuid | No | Primary key, UUID v7. |
| org_id | uuid | No | Owning org, derived from app.integration_connections on insert; never accepted from the caller and never changed.References app.organizations.id |
| integration_connection_id | uuid | No | Connection the webhook belongs to.References app.integration_connections.id |
| provider_code | text | No | Provider that sent it, the connection's provider.References private.integration_providers.provider_code |
| inbound_kind | app.integration_inbound_kind | No | Link Unfurl or Change Notice. |
| idempotency_key | text | No | Provider event id (or a digest of the body when the provider sends none); a repeat delivery of the same event is recorded once. |
| payload | jsonb | No | The part of the provider payload the worker needs (a provider payload, ADR 0002), at most 64 KB. |
| inbound_state | app.integration_inbound_state | No | Received, Processing, Processed, Retrying or Dead Letter. |
| attempt | smallint | No | Processing attempts started so far. |
| max_attempts | smallint | No | Attempts before the event goes to Dead Letter. |
| received_at | timestamp with time zone | No | When the webhook arrived. |
| next_attempt_at | timestamp with time zone | Yes | When a Received or Retrying event is due. |
| started_at | timestamp with time zone | Yes | When the current or last attempt started. |
| processed_at | timestamp with time zone | Yes | When the event was Processed. |
| dead_lettered_at | timestamp with time zone | Yes | When the event went to Dead Letter. |
| outcome | text | Yes | What processing did, for example the sync run it queued. |
| error_code | text | Yes | Rule code of the last failure. |
| error_message | text | Yes | Message of the last failure. |
| created_at | timestamp with time zone | No | When the row was inserted. Set by the database. |
| created_by | uuid | Yes | Person who inserted the row, or null for a platform process. Set by the database.References app.people.id |
| updated_at | timestamp with time zone | No | When the row last changed. Set by the database. |
| updated_by | uuid | Yes | Person who last changed the row, or null for a platform process. Set by the database.References app.people.id |
| deleted_at | timestamp with time zone | Yes | Soft delete time. A row with deleted_at set is ignored by every access helper. |