Connect Resend for sending
Send newsletter issues and lifecycle email from your own domain, and let bounces, complaints, unsubscribes, opens and clicks come back into Ballad on their own.
Resend is how Ballad sends email for you. Connect it and your newsletter issues and lifecycle sequences go out from your own domain, under your own sending reputation — and the bounces, complaints, unsubscribes, opens and clicks come back into Ballad without you exporting anything.
Without it, Ballad still writes your issues; you copy them into whatever tool you already use. Everything below is optional in that case.
This takes about ten minutes, most of it waiting for DNS.
1. Verify a sending domain
In resend.com, add the domain you want to send from and
add the DNS records it gives you. Use a subdomain you don't send anything else
from — mail.yourdomain.com or news.yourdomain.com — so a marketing issue
can never affect delivery of your product's own email.
Wait for Resend to mark the domain verified. Ballad checks this when you connect, and a broadcast to a list won't send from an unverified domain.
2. Make an API key
Under API Keys, create a key with full access. Ballad does more than send with it: it creates the list for the voice, registers a webhook so results come back, and reads your domains to check the one you're sending from. A sending-only key fails at the first step.
Copy the key once — Resend won't show it again.
3. Connect it to a voice
Sending belongs to whoever signs the issue, so this lives with the voice, not the workspace. In Ballad: Settings → Voices → the voice that sends → Email tool → Resend.
| Field | What to put in it |
|---|---|
| From name | The name on the envelope — usually the person or the company. |
| From address | An address on the verified domain. |
| Resend API key | The key from step 2. Leave blank later to keep the stored one. |
| Reply-to | Optional, if replies should land somewhere else. |
| Postal address | A real one. Anti-spam law in most countries requires it in the footer of a list email. |
| Send issues to | Everyone with consent, or one of your own segments. |
Press Connect Resend. Ballad checks the key, confirms the domain is verified, creates a list for this voice, and registers a read-back webhook — then shows a pill: Resend connected, the number of recipients with consent, and a warning if the domain isn't verified or the webhook couldn't be registered.
What Ballad creates in your Resend account
- A segment named
<voice> list (Ballad). The people Ballad's own segments select are mirrored into it at send time, so Resend never holds a list Ballad hasn't applied consent to. - A webhook pointing back at Ballad, subscribed to
email.bounced,email.complained,email.opened,email.clicked,contact.updatedandsuppression.added.
Both are reused if they already exist, so reconnecting or rotating a key doesn't duplicate anything.
What comes back
| Event in Resend | What happens in Ballad |
|---|---|
| Opened, clicked | Recorded against the issue, and per person for a sequence step |
| Hard bounce | Consent withdrawn; sequences for that person stop |
| Spam complaint | Consent withdrawn, permanently |
| Unsubscribe | Consent withdrawn; they leave every segment that needs it |
That's why the webhook matters: without it Ballad would keep emailing someone who asked you to stop.
Rotating or disconnecting
Paste a new key in the same row and save — the list and webhook are kept. Disconnect removes the key from Ballad and issues go back to being pasted by hand; your Resend account, list and history are untouched.
Troubleshooting
- "Resend rejected the key" — the key is wrong, revoked, or not full access. Make a new one under resend.com/api-keys.
- "domain unverified" — the from address is on a domain Resend hasn't verified yet. Check the DNS records; sending to a list will fail until it is.
- "no read-back webhook" — the key couldn't create one, usually a permissions problem. Fix the key and save again.
- Nobody receives an issue — check the recipient segment actually selects people with consent. The count is on the same row.
Next
- Newsletter and lifecycle email — issues, subscribers and sequences.
- People — where consent lives.
- Settings — the rest of the wiring.