How to Send Emails from Shopify Flow Using Resend
What You'll Need
- A Shopify store on a plan that includes Shopify Flow
- FlowRelay installed on your store
- A Resend account and access to your domain’s DNS settings
Step 1Create a Resend Account
Go to resend.com/signup and sign up with your email, GitHub, or Google account.
Before you send any real volume, take a look at resend.com/pricing. The Free plan covers 3,000 emails a month, capped at 100 a day, on a single domain. That’s enough to get FlowRelay connected and tested. Paid plans start at $20/mo if you need higher limits or more sending domains.
Step 2Add and Verify Your Sending Domain
In the Resend dashboard, open Domains and add the domain you want to send from (a subdomain such as mail.yourstore.com works well).
Resend gives you a set of DNS records to add for that domain: typically an SPF record, a DKIM record, and a DMARC record, all entered as TXT entries through your domain registrar or DNS host. Once they’re saved, click Verify DNS Records in Resend. Propagation is usually quick, but Resend allows up to 72 hours before marking a domain verified.
Step 3Generate an API Key
Open API Keys in the Resend dashboard and create a new key.
FlowRelay needs a key with Full access. A key scoped to sending only gets rejected the moment you try to connect the provider. You can also restrict the key to the domain you just verified if you’d like. Copy the key somewhere safe as soon as it’s created (it looks like re_xxxxxxxx), since Resend only shows the value once.
Step 4Install FlowRelay on Your Shopify Store
Install FlowRelay from the Shopify App Store and accept the requested permissions.
On first launch, FlowRelay shows a short setup checklist: set your sender name and email, connect a provider, and send a test email. The next two steps cover connecting Resend.
Step 5Connect Resend to FlowRelay
In FlowRelay, open Settings, find Email delivery, and click Manage providers to open the Connect email provider dialog.
Pick Resend from the provider list and paste in the API key you generated (it should start with re_). FlowRelay checks that the key has full access before saving it. If you want emails to go out under a different name or address than your account default, open Override sender and fill those in.
Click Connect. Whichever provider you connect first becomes your Primary, and FlowRelay routes all outbound mail through it. You can connect a second provider later as an automatic Fallback.
Step 6Create Your First Flow Trigger
Open Shopify Flow, create a new workflow, and pick a trigger (Order created is a common one to start with). Add the Send transactional email action; it shows up in the action list once FlowRelay is installed.
You’ll need to fill in a few fields on the action: an email address for the recipient (this can pull straight from the trigger, like the customer’s email), a subject line, and the body, which is the actual HTML content of the email. There’s also an optional preview text field for the snippet shown in inbox previews. For the body, you can write plain HTML or use Liquid to pull in order details, customer names, and other data from the workflow.
Save the workflow and turn it on.
Step 7Test Your Setup
Before you trust a live trigger, use the Send test email button in FlowRelay’s settings. It confirms Resend is wired up correctly and shows you where the message lands.
Once that test email arrives, run your Flow workflow under real conditions, like placing a test order, and check FlowRelay’s delivery log to confirm the email went out through Resend and see its delivery status.
Common Issues
“The yourdomain.com domain is not verified. Please, add and verify your domain on https://resend.com/domains"
- Open Domains in Resend and check that the domain shows Verified, not Pending. Sends are blocked until every DNS record checks out
- Make sure the sender address, whether that’s in FlowRelay’s sender details or a provider’s Override sender fields, actually uses the domain you verified and not a different one
- If it’s stuck on Pending, recheck that each DNS record was copied exactly, including the host or name field. Some DNS hosts append your domain automatically, so adding it again creates a duplicate
“This API key is restricted to only send emails.”
- FlowRelay needs a Full access key. One created with Sending access only triggers this error the moment FlowRelay tries to use it
- Resend doesn’t let you change a key’s permission after creation, so generate a new one with Full access in API Keys and reconnect it in FlowRelay’s provider settings
“Invalid from field.”
- Check the sender address, whether it’s your account default or an Override sender value in FlowRelay, for typos and the right
Name <[email protected]>format - Confirm the address’s domain is one you’ve verified in Resend. Addresses on unverified or unrelated domains get rejected
“You have reached your monthly email quota.” / “You have reached your daily email quota.”
- Resend’s Free plan caps out at 3,000 emails a month and 100 a day. Check Usage in the Resend dashboard to see where you stand
- Upgrade your Resend plan if you’re consistently close to the limit, or just wait for the daily or monthly reset
- Connect a second provider in FlowRelay as a Fallback, so sends keep going out automatically if Resend returns a quota error