Skip to content

Inbound email, parsed and threaded.

Receive replies at an address on your own domain. Parsed, threaded into a conversation, and delivered to your app as a signed event.

( THE THREAD, END TO END )

Replies land in a conversation, not a mailbox.

Samva threads a reply by its references, with subject and participants as fallback, and starts a new conversation when nothing matches. Related mail stays under one conversation instead of a mailbox you reconcile yourself.

conversation conv_01hx3f
-> outbound "Your order shipped"  msg_01hv8kq2
<- reply "Which day exactly?"  msg_01hx2p7d
-> outbound "Thursday, by noon."  msg_01hx9r4k
3 MESSAGESada@example.com
#01PARSING

Replies arrive already parsed.

  • Mail that reaches your endpoint is already parsed, so you never unwrap raw mail yourself
  • You can tell a reply carried a file without opening the payload
  • Automated bounces and out-of-office replies are flagged apart from a message someone typed
ALL ABOUT PARSING
message.received · fieldswebhook
hasAttachmentstrue
isAutoReplyfalse

Inbound mail arrives already parsed, so your handler works with fields, not raw mail.

#02THREADING

One conversation, every message in order.

  • Replies arrive attached to a conversation, matched by references, subject, and participants
  • Threading is part of the data model, not a convention you maintain yourself
  • Fetch the full history behind any message with the conversation's id
ALL ABOUT THREADING
conv_01hx3f3 messages
contactada@example.com
lastMessageIdmsg_01hx9r4k

One conversation keeps every message, sent and received, in a thread you can fetch by id.

#03ROUTING

Received as a signed event you can trust.

  • A signed webhook fires when an inbound message matches a registered endpoint
  • Every event carries Standard Webhooks headers you verify against the raw body before you act on it
  • A non-2xx response gets retried by the delivery queue
ALL ABOUT ROUTING
message.received200 OK
POST/webhooks/samva
webhook-signature: v1,SGVsbG8...

Verify the signature against the raw body before you act on it. A non-2xx response gets retried by the delivery queue.

( KEEP READING )

The rest of the email channel.

Common questions.

How does inbound email work?

Point your domain's mail records at Samva once. From there, replies are parsed, threaded into conversations, and delivered to your app as signed webhooks.

How does a reply get threaded?

Samva threads a reply by its references, falling back to subject and participants, and starts a new conversation when nothing matches. Threading is part of the data model, so related mail stays in one conversation instead of a mailbox you reconcile yourself.

What does an inbound webhook contain?

What you need to act on a reply: the sender and subject when present, the conversation it belongs to, and whether it carried attachments or looked automated. It is signed like every Samva event.

Where does inbound email arrive?

At an address on a domain you have verified with Samva. Once the domain's records are published and verified, mail sent to it routes to Samva for parsing and delivery to your endpoint.

Get started

Handle the first reply today.

Sign up and route inbound email into your app as structured events.