Resend + Formspring: send form submissions in real time
Resend is the modern Stripe-Atlas-Vercel-style email API - clean DX, React Email templates, fair pricing. Formspring submissions trigger Resend sends via a webhook + small relay. Excellent fit for developer-first teams that want autoresponders or internal alerts without an SMTP server.
Setup in 5 steps
- In Resend, create an incoming webhook URL (or equivalent) and copy it.
- In Formspring, open your form → Webhooks → Add webhook → paste the URL.
- Pick events to deliver (default: every successful submission).
- Save and send a test submission. The Formspring delivery log shows the response.
- Verify HMAC signatures in Resend (or your relay) using
X-Formspring-Signature: t=…,v1=….
Code examples
https://hooks.resend.com/services/T0000/B0000/XXXXXXXXXWebhook payload shape
{
"submission_id": "fsm_01HRX...",
"form_id": "frm_abc123",
"created_at": "2026-05-07T10:24:00Z",
"data": {
"name": "Jane Doe",
"email": "jane@example.com",
"message": "…"
},
"meta": {
"ip": "203.0.113.10",
"user_agent": "Mozilla/5.0…",
"spam_score": 0.02
}
}Why connect Resend to Formspring
Real-time form notifications without polling. The moment a submission lands, Resend hears about it via signed webhook. Replace email-based form alerts with structured channel notifications, threaded conversations, or programmatic workflow triggers.
Reliability and retries
Formspring retries failed deliveries with exponential backoff (5 attempts over 24 hours). Every attempt is logged in the dashboard with response code, latency, and body. Use the Replay button to re-fire any past delivery.
Security: HMAC signing
Every webhook request to Resend (or your relay) carries an X-Formspring-Signature: t=<timestamp>,v1=<sha256-hmac> header. Verify in 3 lines (constant-time compare) to confirm the request came from Formspring and wasn't tampered with.
Custom payload shape
On Pro+ plans, you can transform the payload before delivery - pick fields, rename them, add static metadata, or filter by spam score. Useful when Resend's expected shape doesn't match Formspring's default.