# An inbound.new alternative with templates and campaigns built in.

URL: https://samva.dev/compare/inbound-new

Samva threads replies too, and sends your product email and announcements from the same API: versioned, Git-backed templates, campaigns, signed delivery events, and a spend limit on extra email.

Prices checked September 29, 2026

## Who should switch, and who should stay.

Switch if

- You also send product email and announcements, and want versioned, Git-backed templates and campaigns on the same API.
- You want a spend limit on extra email. Samva stops extra email at the limit you set; inbound.new's pricing lists $16 per additional 50,000 emails.
- You want signed Standard Webhooks events for sent, delivered, bounced, complained, failed, opened, and clicked mail and for unsubscribes, not only received mail.

Stay on inbound.new if

- You want a Resend-compatible send API. inbound.new's docs describe SDK patterns like Resend's; Samva's send call has its own shape.
- You want catch-all and per-address routing to webhooks and guard rules for filtering incoming mail.

## What a month costs on each.

| Provider | 10k/mo | 50k/mo | 100k/mo | 500k/mo |
| --- | --- | --- | --- | --- |
| Samva | $5 (Starter) | $19 (Growth) | $44 (Growth plus 50,000 extra at $0.50 per 1,000) | $199\* (Scale plus 200,000 extra at $0.50 per 1,000) |
| [inbound.new](https://inbound.new/pricing) | $15 (Pro, 50,000 emails) | $15 (Pro, 50,000 emails) | $39 (Growth, 100,000 emails) | $175† (Scale, 200,000 emails plus 6 blocks of 50,000 at $16) |

\* Needs the spend limit raised from its $50 default.

† Derived from the provider's published overage rate, not a listed plan.

inbound.new: As listed: inbound.new's pricing does not say whether sent and received email both count toward its monthly total.

As listed. inbound.new's pricing counts emails a month and does not say whether sent and received mail both count, so this row is the listed plan for each volume, not a proven cost for outbound only.

## What each one ships.

## Send and receive

How you send, build templates, and handle replies.

| Capability | Samva | inbound.new |
| --- | --- | --- |
| Send API | Typed REST API with an OpenAPI spec | A send API with SDK patterns like Resend's, and scheduling with scheduled\_at |
| Templates | Versioned, Git-backed TSX templates with rollback and publish history | The docs index lists no template endpoints |
| Inbound email | Replies thread to the email they answer, delivered as a signed message.received webhook | Threads automatically; thread list and get endpoints, and replies by email ID or thread ID |
| Campaigns and automations | Campaigns from the same API and plan; no automations | The docs index lists no campaign or contact endpoints |

## Delivery and visibility

How you follow delivery and engagement.

| Capability | Samva | inbound.new |
| --- | --- | --- |
| Webhooks | Signed Standard Webhooks events, with backoff and up to 8 automatic delivery attempts | A verification token header on each request; failed webhooks retried with exponential backoff |
| Webhook events | message.sent, message.delivered, message.failed, message.bounced, message.complained, message.received, message.opened, and message.clicked, plus contact.unsubscribed | The docs document one webhook event, email.received |
| Opens and clicks | Samva's own open pixel and tracked links, signed message.opened and message.clicked webhooks, and a timeline in the dashboard and API | Not documented in the API index |

## Integration tools

The SDKs and agent tools you can build with.

| Capability | Samva | inbound.new |
| --- | --- | --- |
| SDKs | TypeScript SDK with async/await and Effect-native interfaces | A TypeScript SDK, inboundemail |
| Agent tooling | A hosted MCP server and a CLI | A hosted MCP server at mcp.inbound.new/mcp, and a CLI named on its homepage |

## Volume and billing

What you can send for free and what happens past the plan.

| Capability | Samva | inbound.new |
| --- | --- | --- |
| Free plan | 3,000 emails a month; 1,000 a day with a card on file, 100 a day without | No free plan listed; Default is $4 for 5,000 emails |
| Paid plans | Starter $5, Growth $19, Scale $99 a month; campaigns are priced on sends from the same plan | Pro $15 for 50,000 emails, Growth $39 for 100,000, Scale $79 for 200,000, with 50, 200, and 500 domains |
| Past the allowance | Metered at $0.50 per 1,000 on paid plans, up to a spend limit you set | $16 per additional 50,000 emails; the pricing does not say whether sent and received mail both count |

## Moving from inbound.new.

Add your domain and publish the DKIM and SPF records Samva generates next to the old provider's. Both can send while you switch.

Swap the send call.

## inbound.new Node SDK or REST

```ts
import { Inbound } from "inboundemail";

const inbound = new Inbound(process.env.INBOUND_API_KEY!);

const { data, error } = await inbound.emails.send({
  from: "Your Name <you@yourdomain.com>",
  to: "ada@example.com",
  subject: "Your receipt",
  html: "<p>Thanks for your order.</p>",
});

```

## Samva

```ts
await samva.messages.send({
  from: { email: "orders@example.com" },
  to: [{ email: "ada@example.com" }],
  channel: "email",
  email: {
    subject: "Your receipt",
    html: "<p>Thanks for your order.</p>",
  },
});
```

Map webhooks. Samva sends signed events for sent, delivered, bounced, complained, failed, and received, with received going to the endpoint your domain's receiving route names. Opens and clicks arrive as message.opened and message.clicked, and unsubscribes as contact.unsubscribed.

| inbound.new event | Samva event |
| --- | --- |
| `email.received` | `message.received` |

Recreate templates as versioned templates, or send your existing HTML inline while you move.

Keep the old provider's suppression list in your app and filter against it. Samva cannot import it.

Turn on receiving if you want replies back.

What does not move: templates, the suppression list, and message history.

## Questions before you switch.

### Does inbound.new thread replies?

Yes. inbound.new's homepage says every email preserves threading automatically, and its API lists threads and replies by thread ID. Samva also threads replies to the email they answer, so threading is not a reason to switch. Checked Sep 29, 2026.

### Does inbound.new have templates or campaigns?

Its documentation index lists no template, campaign, or contact endpoints. Samva has versioned Git-backed templates and campaigns on the same API. Checked Sep 29, 2026.

### Is inbound.new's send API compatible with Resend?

Its docs describe a Resend-compatible send API, and its TypeScript SDK follows Resend's patterns. Samva's send call has its own shape, so moving from inbound.new means changing the call, as the example above shows. Checked Sep 29, 2026.

### Which webhook events does inbound.new send?

Its docs document one webhook event, email.received. Samva sends signed events for sent, delivered, bounced, complained, failed, received, opened, and clicked messages, and for unsubscribes. Checked Sep 29, 2026.

## Related Resources

- [Pricing](https://samva.dev/pricing): Start on 3,000 emails free, then pay for the volume you send.
- [Versioned templates](https://samva.dev/features/templates): Edit email templates in Git and publish without a deploy.
- [Inbound email](https://samva.dev/features/inbound-email): Receive replies and keep them with the email they answer.
- [Campaigns](https://samva.dev/features/campaigns): Send a campaign from the same API and plan as your product email.

## Send your first email free.

3,000 emails a month, no card. When you outgrow it, the bill stays predictable.

[Start sending free](https://samva.dev/signup) or [Talk to the founder](https://samva.dev/contact).

## Sources, verified September 29, 2026

- [inbound.new pricing](https://inbound.new/pricing)
- [inbound.new homepage](https://inbound.new/)
- [inbound.new documentation index](https://inbound.new/docs/llms.txt)
- [inbound.new introduction](https://inbound.new/docs/quickstart/introduction)
- [inbound.new getting started](https://inbound.new/docs/quickstart/getting-started)
- [inbound.new webhook structure](https://inbound.new/docs/api-reference/webhook)
- [inbound.new webhook security](https://inbound.new/docs/api-reference/security)
- [inbound.new MCP server](https://inbound.new/docs/integrations/mcp)
