app.inbound_messages
TableRow level security on
Mail received (Section 4.6.5): forwarded to a project inbox, or a reply to a notification email from a signed reply address. A reply is accepted only after DKIM verification and with quoted text stripped.
Primary key: id
| Column | Type | Nullable | Description |
|---|---|---|---|
| id | uuid | No | Primary key, UUID v7. |
| org_id | uuid | No | Owning org. A row never moves to another org.References app.organizations.id |
| purpose | app.inbound_purpose | No | Project Inbox or Reply. |
| inbound_address_id | uuid | Yes | Project inbox the mail was sent to.References app.inbound_addresses.id |
| reply_person_id | uuid | Yes | Person the signed reply address belongs to.References app.people.id |
| reply_subject_table | text | Yes | Table of the thread the reply belongs to. |
| reply_subject_id | uuid | Yes | Row of the thread the reply belongs to. |
| from_address | text | No | Sender address from the envelope. |
| subject_line | text | Yes | Subject header. |
| message_id_header | text | No | Message-ID header, unique per org so a redelivery is not filed twice. |
| dkim_verified | boolean | No | True when the sender's DKIM signature verified. |
| body_text | text | Yes | Plain-text body with quoted text stripped. |
| raw_object_path | text | No | Where the raw message is kept. Through Resend: its object name in the private inbound-mail bucket, <org id>/resend/<email id>.eml (1651), or resend:<email id> when it was over 50 MiB and only Resend keeps it, for 30 days. Through a provider posting a parsed message: the path that provider sent. |
| inbound_status | app.inbound_status | No | Received, Verified, Filed or Rejected. |
| rejection_reason | text | Yes | Why the message was rejected. |
| filed_document_id | uuid | Yes | Document record the coordinator filed the mail as.References app.documents.id |
| received_at | timestamp with time zone | No | When the mail arrived. Set by the database. |
| 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. |
| posted_comment_id | uuid | Yes | Comment a verified reply was posted as.References app.comments.id |
| filed_record_id | uuid | Yes | Record of the inbox's project the mail was filed to, if any; the mail is posted there as a comment.References app.records.id |
| filed_by | uuid | Yes | Person who filed the mail. Set by the database.References app.people.id |
| filed_at | timestamp with time zone | Yes | When the mail was filed. Set by the database. |
| discarded_at | timestamp with time zone | Yes | When a coordinator discarded the mail. Set by the database; discarded mail is kept and never filed. |
| discarded_by | uuid | Yes | Person who discarded the mail. Set by the database.References app.people.id |
| discard_reason | text | Yes | Why the mail was discarded, if the coordinator said. |