Browse the docs
Concepts
Emails & threads
How Inboundr parses inbound email into JSON, checks SPF and DKIM, groups messages into threads and stores attachments.
Every message Inboundr receives is stored as an email and grouped into a thread. That lets an agent read a whole conversation at once instead of one message at a time.
The email object#
Inbound mail is parsed into JSON: sender and recipients, subject, text and HTML
bodies, attachment metadata, authentication verdicts and threading headers. IDs
are prefixed by type: emails start with em_ and threads with thr_.
{
"id": "em_abc123",
"direction": "inbound",
"threadId": "thr_xyz789",
"messageId": "<CAEabc...@mail.gmail.com>",
"fromAddress": "customer@example.com",
"toAddresses": ["support@yourdomain.com"],
"ccAddresses": [],
"subject": "Can you help?",
"textBody": "Hi there…",
"htmlBody": "<p>Hi there…</p>",
"attachments": [
{ "filename": "invoice.pdf", "contentType": "application/pdf", "size": 48210, "stored": true }
],
"spamVerdict": "PASS",
"spfVerdict": "PASS",
"dkimVerdict": "PASS",
"receivedAt": "2026-07-20T10:30:00.000Z"
}List and thread responses return summaries, without textBody and
htmlBody, to keep them fast. Fetch a single email by ID to get the full
bodies and attachment metadata.
Authentication verdicts#
Each inbound email includes the results of the standard email authentication checks, so you can decide how much to trust it:
| Verdict | Field | Meaning |
|---|---|---|
| Spam | spamVerdict | Content-based spam assessment. |
| SPF | spfVerdict | Whether the sending server is authorized to send for the domain. |
| DKIM | dkimVerdict | Whether the message's signature is valid. |
PASS and FAIL are the outcomes to act on.
Threading#
Inboundr groups messages under a threadId using the standard RFC 5322
Message-ID, In-Reply-To and References headers. A whole exchange comes
back as one conversation from GET /v1/threads/{id} or the get_thread
MCP tool, so you don't have to piece it together yourself.
Attachments#
Attachment metadata (filename, content type and size) is always returned.
Attachments marked stored: true can be downloaded through a short-lived
signed URL, from the attachments endpoint
or the get_attachment MCP tool.