Resend Integration

Send AI-drafted follow-ups through Resend

FastFollow dispatches every approved follow-up through Resend, then ingests delivery, bounce, and engagement events in real time. Reply tracking, suppression handling, and deliverability monitoring are all built in.

Setup walkthrough

~20 minutes — most of it waiting for DNS propagation

1

Create a Resend account and API key

Sign up at resend.com if you do not already have an account. From the dashboard, create a new API key scoped to "Sending access" — this is what FastFollow will use to dispatch follow-ups.

  • Store the API key in FastFollow → Integrations → Resend → Connect
  • Never share the key in client-side code or commits
  • You can rotate the key anytime from the Resend dashboard
2

Verify your sending domain

Resend requires a verified domain before it will deliver email. From the Resend dashboard, go to Domains → Add Domain and follow the DNS instructions.

  • Add the SPF TXT record
  • Add the DKIM CNAME records (typically 3 entries)
  • Add the DMARC TXT record (p=none for monitoring, then upgrade to quarantine/reject)
  • Verification typically takes <15 minutes once DNS propagates
3

Configure the inbound webhook

In Resend → Webhooks, add an endpoint pointing to FastFollow. This delivers real-time delivery, bounce, and complaint events back to your tenant.

  • Webhook URL: https://app.fastfollow.ai/api/webhooks/resend
  • Subscribe to: email.sent, email.delivered, email.bounced, email.complained, email.opened, email.clicked
  • Resend signs every webhook payload with Svix — FastFollow verifies the signature automatically
4

Set your default From address

In FastFollow → Integrations → Resend, set a default From address for AI-drafted follow-ups. This must be on your verified domain.

  • Format: "Display Name <name@yourdomain.com>"
  • Each user can override the From address per follow-up
  • Reply-To defaults to the user’s connected mailbox so replies land in their inbox

DNS records cheat sheet

The exact records you'll add to your DNS provider for domain verification

TypeHostValuePurpose
TXT@v=spf1 include:_spf.resend.com ~allSPF — authorizes Resend to send on behalf of your domain
CNAMEresend._domainkeyresend._domainkey.resend.comDKIM signing key (verifies messages were not tampered in transit)
TXT_dmarcv=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.comDMARC monitoring — upgrade p=none → p=quarantine after you confirm deliverability

Exact values may vary slightly per domain — always copy from your Resend dashboard, not from this table.

Webhook events

Events Resend pushes to FastFollow and how they affect your data

email.sent

Resend accepted the message and queued it for delivery.

email.delivered

Recipient mail server confirmed delivery. Updates follow-up status to "delivered".

email.bounced

Hard bounce. FastFollow marks the contact as undeliverable and pauses future sends to that address.

email.complained

Recipient marked the message as spam. FastFollow flags the contact and disables future automated sends.

email.opened

Tracking pixel loaded. Used to compute engagement signals on Opportunity Rooms.

email.clicked

Tracked link clicked. Boosts engagement score on the related deal.

See the webhooks reference for signature verification details and payload schemas.

Deliverability tips

Get your AI-drafted follow-ups landing in inboxes, not spam

Warm up new sending domains

Brand-new domains start with zero reputation. Send modest volume for the first 2–3 weeks (under 1,000/day), then ramp gradually. FastFollow surfaces a warning in the approval queue if your domain age is under 30 days.

Monitor your DMARC reports

Start with p=none and a rua= reporting address. After 2–4 weeks, if reports show clean authentication, upgrade to p=quarantine.

Honor unsubscribe immediately

FastFollow appends a one-click unsubscribe header to every send. Recipients who unsubscribe are added to your suppression list — never re-send to them, even on a new campaign.

Watch the complaint rate

Resend will pause sending if your complaint rate exceeds 0.3%. FastFollow shows your rolling 7-day complaint rate on the Integrations dashboard so you can intervene before that happens.

Troubleshooting

The most common Resend integration errors

domain_not_verified

API returns "The from address is not valid".

Fix: Your sending domain has not finished verifying in Resend. Check the Domains tab — all three SPF/DKIM/DMARC records must show "verified" status. DNS propagation can take up to 24 hours.

rate_limit_exceeded

Bulk sending returns 429s.

Fix: Resend caps free-tier accounts at 100 emails/day and 10 emails/second. FastFollow respects rate limits with exponential backoff, but high-volume tenants should upgrade their Resend plan.

invalid_signature

Inbound webhook events return 401 from FastFollow.

Fix: The Resend signing secret stored in FastFollow does not match the webhook signing secret in the Resend dashboard. Regenerate the secret in Resend → Webhooks → Settings and update it in FastFollow → Integrations → Resend.

bounced_recipient

Follow-ups to a specific contact silently fail.

Fix: Resend maintains a suppression list for hard-bounced addresses. Check the contact in FastFollow — if they bounced previously, the address must be removed from Resend’s suppression list before sending resumes.