The four steps
1
Make a Resend account
Free tier at resend.com.
2
Verify a sending domain
Add the domain you want to send from and complete its DNS records. This is the step
that fails, and it is worth doing properly first.
3
Paste the key and the from address
Admin → Configuration → Resend. The API key starts with
re_. The from address
must be on the domain you just verified.4
Send a test
Press Send test. If it fails you get Resend’s exact reason back, which is almost
always an unverified domain.
By conversation
Is email set up? Configure Resend with this key and send a test.
admin_get_email_config reports whether it is wired up and the from address invitations
will come from, with the key masked. admin_set_email_config sets any subset of the key,
from address and display name — plus instanceName and publicUrl, which are
instance-wide rather than email-only, since the sign-in page, invitation links and the
Stripe webhook URL are all built from them. admin_send_test_email proves it delivers and
returns the exact error when it does not.
When an invite does not arrive
1
Check whether it left at all
admin_user_detail on the account says whether the invitation email actually went
out. That single fact tells you whether the problem is the account or the email, and
it is worth knowing before you reset anything.2
Read the failure
admin_recent_errors with source: "email.send" carries the specifics. Entries older
than 30 days are removed automatically.3
Send the link by hand
admin_list_invites returns outstanding invitations with their links and expiry. Send
one however you like — it is the same link the email would have carried.