Skip to content
Docs

Send white-label email with Resend

Connect your Resend account in the Email Hub and every email the portal sends for your agency goes out from your own domain: one-time sign-in codes, client user welcomes, team invites, client billing emails and outbound email campaigns. You verify a domain in Resend, create an API key, paste it into Voice AI Portal and send a test.

This guide is one of five sender guides. For a comparison of Resend, SendGrid, Postmark, Mailgun and SMTP, see Configure custom email.

  • Owner access. The Email Hub is in Settings, which only the agency owner opens.
  • A Resend account. Sign up at resend.com (opens in a new tab) if you don’t have one.
  • Access to your domain’s DNS, wherever your domain’s DNS is hosted.
  • A sending domain. If your main domain already sends and receives email, use a subdomain such as mail.youragency.com, so your existing email setup stays untouched. Resend recommends a subdomain too.
  1. Add the domain

    In Resend, open Domains and add your sending domain or subdomain, for example mail.youragency.com. Choose the region closest to most of your clients.

  2. Add the DNS records Resend shows you

    Resend lists the records it needs. Add each one at your DNS host exactly as shown. They typically look like this:

    Type Name Value What it does
    TXT resend._domainkey Copy from Resend, starts with p= DKIM: signs each email so mailbox providers can check it really came from your domain
    MX send Copy from Resend, priority 10 Lets bounces come back to Resend
    TXT send Copy from Resend, starts with v=spf1 SPF: lists the servers allowed to send for your domain

    Most DNS hosts add your domain to the name for you, so enter only the part before your domain. If you use Cloudflare, set the records to DNS only (grey cloud).

  3. Add a DMARC record (recommended)

    DMARC tells mailbox providers what to do with email that fails the SPF and DKIM checks. If your domain has no DMARC record yet, add a TXT record named _dmarc with the value v=DMARC1; p=none;. You can make the policy stricter later.

  4. Verify the domain

    Back in Resend, verify the domain and wait until every record shows as verified. Resend says this usually takes about 15 minutes, and DNS changes can take up to 72 hours to show.

Resend’s own guide: Add and verify a domain (opens in a new tab). If a domain will not verify, see What if my domain is not verifying? (opens in a new tab).

In Resend, open API Keys and create a key. Give it a clear name, such as Voice AI Portal, and copy it straight away: Resend shows it only once. See Resend’s guide, Create an API key (opens in a new tab).

Permission What the portal can do with it
Sending access, limited to your domain Send your emails. The Email Hub can’t read your domain’s status with it, so a test email confirms your domain instead.
Full access Send your emails, and show your domain’s verification status in the Email Hub straight away.
  1. Open the Email Hub

    Go to Settings and open the Email Hub tab. In Your email sender, under How you send, select Resend. Show setup guide opens a short checklist next to the form.

  2. Fill in the fields

    Field What to enter
    Resend API Key The key you created. Keys are encrypted at rest. When you edit other fields later, leave it blank to keep the saved key.
    Reply-to Email Where client replies go, for example support@youragency.com.
    From Name Your agency name as clients see it. It starts as your agency name.
    From Email The sender address, for example hello@mail.youragency.com. It must be on your verified domain. Without a From Email, emails go out from the platform address.
    Sender Domain Your verified domain exactly as it appears in Resend, for example mail.youragency.com. Your From Email must use it.
  3. Select Save Sender Settings

    The portal checks the key with Resend before saving anything. You see Email settings saved, the card shows Connected: Resend, and a badge under Sender Domain shows your domain’s status.

Enter an address next to Send Test Email (your own sign-in email is filled in) and select Send Test Email.

  • “Test email sent to … from …” means Resend sent it from your address. Check that it arrives, that the sender name and address are yours, and that a reply goes to your Reply-to Email.
  • “… the platform address, not your own” means Resend refused it, and the message gives Resend’s reason. Fix that reason (most often a domain that isn’t verified yet), then send another test.

With a sending-only key, a test that goes out from your own domain marks your domain as Domain verified. You can send up to 10 test emails an hour.

The Email Hub asks Resend for your domain’s status each time you open it and each time you save. Select Refresh status to check again, for example after adding DNS records.

Badge What it means
Domain verified Resend has verified your domain. Your emails go out from your address.
Domain pending or Domain not verified Resend is still verifying. Until then, Resend won’t send from the domain and emails go out from the platform address.
Verification failing or Verification failed Resend could not verify the domain. Check its DNS records in Resend.
Domain not in Resend The Sender Domain isn’t in the Resend account this key belongs to.
Sending-only key Your key can only send, so Resend won’t share the status. Send a test email to confirm your domain.

How do I see whether emails were delivered?

Section titled “How do I see whether emails were delivered?”

Your emails go out through your own Resend account, so delivery, bounces and complaints show in your Resend dashboard, under Emails. The portal’s delivery tracking (delivered, bounced and spam complaints recorded by the portal itself) is available with SendGrid, Postmark and Mailgun. See Configure custom email.

What happens if Resend can’t send an email?

Section titled “What happens if Resend can’t send an email?”

The portal makes sure your client still gets the email:

  • Resend refuses it (for example the domain isn’t verified yet, or the key was revoked): the email goes out from the Voice AI Portal address instead, under your From Name and with your Reply-to Email, so the client sees your agency and replies reach you.
  • Resend is briefly unavailable or rate limits the send: the portal retries before it moves to the platform address.
  • No From Email saved: emails go out from the platform address under your agency name.

The platform address is not used for outbound email campaigns. Campaign emails go out only through your own sender: if Resend refuses a campaign email because of your setup, the campaign pauses with the reason instead of sending from another address. See Email campaigns.

Can I send email campaigns through Resend?

Section titled “Can I send email campaigns through Resend?”

Yes. An email campaign playbook is ready to launch once the Email Hub shows Domain verified and your From Email uses your Sender Domain. Until then, the playbook shows “Verify your sending domain in Settings → Email Hub first” (or “Set up your own email sender in Settings → Email Hub first” when no sender is connected), and clients cannot choose it. Each campaign email ends with an Unsubscribe link. See Email campaigns and Opt-outs and consent.

Problem What to do
“Resend rejected this API key: …” Nothing was saved. Copy the key again from Resend with no spaces, and check it is still active.
“Couldn’t reach Resend to check the API key (…). Nothing was saved; try again.” Wait a moment and select Save Sender Settings again.
The test arrives “from the platform address, not your own” Read Resend’s reason in the message. Check every DNS record is verified in Resend, that Sender Domain matches the domain exactly, and that From Email uses it.
Domain not in Resend Add the Sender Domain in the same Resend account as the key, set up its DNS records, then select Refresh status. Check the spelling matches Resend exactly.
Domain pending for a long time Check each record at your DNS host matches Resend’s value exactly. On Cloudflare, set them to DNS only. Then select Refresh status.
“Resend rejected the saved API key (…)” under the badge The key was revoked or deleted in Resend. Create a new key and save it.
Emails land in spam Check SPF and DKIM are verified in Resend and add a DMARC record. Send tests to a few mailbox providers.
“Too many changes to your email settings. Try again in an hour.” The Email Hub accepts 10 saves an hour. Try again later.
“Too many test emails. Try again in an hour.” You can send 10 test emails an hour.
Send Test Email is greyed out Save your settings first. The button works once a sender is connected and the choice under How you send matches the saved one.
“Only the agency owner can manage email settings” Ask the agency owner to set up the sender.
  • Switch to another sender: choose it under How you send and save. The Email Hub keeps your Resend key, so switching back to Resend only needs a save.
  • Disconnect: select Disconnect Resend and confirm. The saved key is removed and your emails go out from the platform address straight away. Your sender details stay.