# Customer replies land back in your app.

URL: https://samva.dev/solutions/support

Turn on receiving for your domain. When a customer answers an email your app sent, Samva parses the reply, attaches it to that email's conversation, and posts it to your webhook. Your app answers in the same thread.

[Start sending free](https://samva.dev/signup)

Start sending free

[Read the docs](https://samva.dev/docs/platform/webhooks)

Read the docs

## A reply lands on the thread it answers.

When a customer answers an email your app sent, Samva posts a signed message.received event with the conversationId of the email it answers. Your app sends its answer with that id, and it lands in the same thread.

A sent order email and its reply share one conversation id.

A message.received webhook carries the sender, subject, and conversation id.

## A reply shouldn't vanish into a noreply box.

- **Noreply dead ends**: Customers answer your emails, and the reply is lost or bounces.
- **No context**: Replies reach a shared inbox with no link to the user, order, or ticket they belong to.
- **Matching scripts**: You parse headers to guess which record a reply belongs to, and it breaks on the first forwarded email.

## Parsed, threaded, answered.

Samva isn't a helpdesk. It hands your app the replies, and your app or your helpdesk decides what happens next.

1. **Replies are parsed for you.** Replies to your domain are parsed into sender, subject, text, HTML, and attachments.
   
   Receiving DNS enables replies parsed into sender, subject, and attachment presence.
2. **A reply joins the email it answers.** A reply to an email Samva sent joins that email's conversation. Mail from someone outside the thread, or answering an email Samva never sent, starts its own conversation.
   
   Replies join the sent email conversation. Mail from outside the thread or answering an email Samva never sent starts a new conversation.
3. **Answer in the same thread.** Send your response with the conversationId or the inReplyToMessageId, and it lands in the same thread in the customer's inbox.
   
   A send call replies using conversationId or inReplyToMessageId.

## Wire up inbound from here.

- [Inbound email](https://samva.dev/features/inbound-email): Receive on your domain, parsed and threaded to the email it answers, delivered as a signed webhook.
- [Webhooks](https://samva.dev/docs/platform/webhooks): Register an endpoint and verify the signature on every event.
- [Transactional email](https://samva.dev/features/transactional-email): Transactional email from the SDK, REST, CLI, or your agent through MCP. Retries are safe.
- **An inbox for your agent**: A mailbox your agent reads and replies from, with a key that reaches only it. [Read more](https://samva.dev/features/mailboxes)

## Questions from developers.

### How does threading work?

A reply to an email Samva sent joins that email's conversation, and the message.received event carries its conversationId. Mail from someone outside the thread, or answering an email Samva never sent, starts a new conversation.

### Are attachments included?

Yes. The message.received event says whether the email had attachments in hasAttachments. Use the message id to list each attachment's filename, type, and size, and to get a time-limited download URL for the file.

### How do I reply from my app?

Call messages.send with the conversationId from the event, or pass the id of the email you're answering as inReplyToMessageId. Without one of them, the send starts a new conversation.

### Can I receive on more than one domain?

Yes. Turn on receiving for each domain. The message.received event names the address the email was sent to in its to field.

## Let the next reply land in your app.

Verify a domain, turn on receiving, and register your endpoint.

[Start sending free](https://samva.dev/signup)

Start sending free

[Read the docs](https://samva.dev/docs/platform/webhooks)

Read the docs
