app.integration_external_ids
TableRow level security on
The external identifier map (Section 17): one row links a local row to its identifier in one connection. A local row maps to at most one external identifier per connection and entity kind, and the reverse, so syncs are idempotent and two-way changes find their partner.
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 identifier belongs to.References app.integration_connections.id |
| entity | app.integration_entity | No | Kind of the local row. |
| local_id | uuid | No | Id of the local row in the entity's table, checked to exist in the same org. |
| external_id | text | No | Provider identifier. |
| external_version | text | Yes | Provider version, ETag or change key last seen, for conflict detection. |
| content_hash | text | Yes | SHA-256 of the normalized payload last synced, lowercase hex, to skip unchanged rows. |
| last_synced_at | timestamp with time zone | No | When the pair last synced. |
| deleted_at | timestamp with time zone | Yes | Soft delete time. A row with deleted_at set is ignored by every access helper. |
| 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 |