Sendbound
Raycast
RaycastDeveloper Tools

From 87% to 99.4% inbox placement in 7 days

How Raycast stopped losing developer emails and reclaimed their sending reputation

Raycast serves 200,000+ developers across 150 countries. When their email infrastructure started failing silently, they needed a fix that wouldn't require a week of downtime. They got one in 45 minutes.

99.4%
inbox placement
99.4%
Inbox placement
up from 87%
12×
Faster API response
vs. legacy provider
45 min
Full migration
zero downtime

Raycast is how developers run their Mac. Millions of commands, thousands of extensions, one launcher. Behind the product is a 200,000-person developer community that communicates through email — password resets, workspace invites, extension update notifications, billing receipts. Email isn't a nice-to-have. It's load-bearing infrastructure.

The challenge

Silent failures at scale

Their previous provider had no transparent delivery reporting. Raycast knew their inbox placement was poor only because support tickets started climbing — "I never got the invite," "where's my password reset?" — not because any dashboard told them. By the time they diagnosed the issue, inbox placement had fallen to 87%.

A shared IP reputation they couldn't control

On a shared IP pool, your reputation is your neighbors' reputation. As their volume grew, they were co-tenanted with senders who didn't maintain list hygiene. Major inbox providers started throttling traffic from those IPs. Raycast had no recourse — they couldn't opt out, and the provider's support cycle was measured in weeks.

Engineering overhead on every send

Every new email type required reading provider-specific SDK docs, testing in a separate sandbox, and manually configuring DKIM keys through a UI that hadn't been updated in years. Developers who joined to build product features were spending afternoons debugging email pipelines.

The solution

Raycast switched to Sendbound over a single sprint. They pointed MX records, configured DKIM and SPF through the API (not a UI), and migrated their four highest-volume flows — password resets, workspace invites, extension alerts, and billing — in a single afternoon. The API was familiar from day one: one endpoint, one auth header, typed request bodies. Their first send hit inboxes in under 400ms. Within 48 hours, inbox placement was at 96%. By day seven, it had settled at 99.4%.

Sending a workspace invite
import Sendbound from '@sendbound/sdk';

const sb = new Sendbound({ apiKey: process.env.SENDBOUND_API_KEY });

await sb.emails.send({
  from: 'Raycast <team@raycast.com>',
  to: invite.recipientEmail,
  subject: `${invite.senderName} invited you to ${invite.workspaceName}`,
  template: 'workspace-invite-v3',
  variables: {
    sender_name: invite.senderName,
    workspace_name: invite.workspaceName,
    accept_url: invite.acceptUrl,
    expires_at: invite.expiresAt,
  },
});

"Our engineers used to dread email tasks. Now they ask for them. Sendbound's API is genuinely a pleasure to work with — and the deliverability difference was immediate. We went from firefighting to forgetting about it, which is exactly what infrastructure should feel like."

Raycast
Thomas L.CTO, Raycast

The impact

The support ticket category "I never received the email" effectively disappeared from Raycast's queue within two weeks of migration. Their engineering team now ships new email types in the time it previously took to read the documentation for their old provider. Inbox placement has held above 99% for fourteen consecutive months.

Results at a glance

  • Inbox placement moved from 87% to 99.4% in 7 days
  • API response time improved 12× — from ~3 s average to under 250 ms
  • Full migration of 4 email flows completed in 45 minutes with zero downtime
  • "I never got the email" support tickets dropped to effectively zero
  • New email types now ship in hours, not days
  • Dedicated IP reputation owned entirely by Raycast, not shared

Ready to see these results?

Start free — first 3,000 emails per month, always free.

Get started