How to Send Emails from Shopify Flow Using Brevo
Shopify Flow can automate a lot, but it can’t send a custom email on its own: no order confirmations in your own words, no internal alerts, no win-back messages outside Shopify’s default notifications. FlowRelay fixes that with a Send transactional email action that routes each message through an email provider you choose.
Brevo (formerly Sendinblue) is a transactional and marketing email service with one of the more generous free tiers around, 300 emails a day at no cost, and it offers a plain SMTP relay alongside its API. That means you can connect it to FlowRelay with just a host, port, username, and password instead of building an API integration. The one thing to get right up front: Brevo issues a dedicated SMTP key for this, which is not the same as its API key. Using the API key as your SMTP password is the single most common reason setups fail. This guide covers generating the right credential, verifying your sender, and getting your first email out from a Flow workflow.
What You'll Need
- A Shopify store on a plan that includes Shopify Flow
- FlowRelay installed on your store
- A Brevo account (the free plan works to get started)
- A sender email address you can receive mail at, or a domain you can add DNS records to for authentication
Step 1Create a Brevo Account
Go to brevo.com and sign up; no credit card is required for the free plan.
The free plan sends up to 300 emails a day, which is plenty to get FlowRelay connected and tested. Worth knowing: that 300/day is a single pool shared across transactional and marketing email, and free-plan messages carry a small “Sent with Brevo” footer. Paid plans lift the daily cap and remove the branding; check Brevo’s pricing for current tiers before you commit to real volume.
Step 2Verify Your Sender
Brevo won’t send from an address until it knows you control it. You have two ways to do this, in the dashboard under Senders, Domains & IPs.
Verify a single sender is the quick start: add the From address you want to use, and Brevo emails it a 6-digit code (or a confirmation link) to enter. Until that’s done, the address can’t be used to send.
Authenticate your domain is the better option for real use: add your domain and the DKIM (and DMARC) records Brevo provides to your DNS host. Once the domain is authenticated, you can send from any address on it without verifying each one individually, and your deliverability improves, which matters since Gmail and Yahoo now expect authenticated sending domains. If you skip this, Brevo will rewrite your From address to a @brevosend.com address to protect delivery (see the common issues below).
Step 3Generate an SMTP Key
In the Brevo dashboard, open the SMTP & API page (under Settings). This page has separate sections for API keys and SMTP, make sure you’re in the right one.
Find the SMTP section and generate your SMTP credentials (the button may read Generate a new SMTP key or Generate SMTP login and master password). Brevo gives you two things: an SMTP login (an email-style username) and an SMTP key (the password). Copy the key somewhere safe immediately, after you leave the page Brevo only shows its last few digits, and if you lose it you’ll have to generate a new one.
To say it once more, because it trips up almost everyone: the SMTP key is what goes in the password field, not the API key from the other section of this page.
Step 4Know Your Brevo SMTP Settings
Here’s what you’ll enter into FlowRelay:
- Host:
smtp-relay.brevo.com - Port:
587(STARTTLS) or465(SSL);2525also works if those are blocked - Username: your SMTP login from the previous step
- Password: your SMTP key (not the API key)
If you’re migrating an old Sendinblue setup, note the host changed in the rebrand: it’s smtp-relay.brevo.com now, not the old smtp.sendinblue.com. Port 25 is not supported for sending.
Step 5Install 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 step covers connecting Brevo over SMTP.
Step 6Connect Brevo to FlowRelay
In FlowRelay, open Settings, find Email delivery, and click Manage providers to open the Connect email provider dialog.
Pick SMTP from the provider list and fill in: host smtp-relay.brevo.com, port 587 (or 465), your SMTP login as the username, and your SMTP key as the password. FlowRelay tests the connection before saving it, so using the API key by mistake or a typo in the key shows up immediately rather than after your first real send.
Set the sender address (in FlowRelay’s sender details, or under Override sender) to a sender you verified, or any address on your authenticated domain. Note that your SMTP login is a credential, not a From address, so don’t use it as the sender.
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, which is worth doing since the free plan’s daily limit is easy to reach.
Step 7Create 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 8Test Your Setup
Before you trust a live trigger, use the Send test email button in FlowRelay’s settings. It confirms Brevo 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 Brevo and see its delivery status.
Common Issues
Authentication failed when connecting
- Make sure the password is your SMTP key, not your API key. They’re separate credentials on the same SMTP & API page, and the API key won’t authenticate for SMTP. This is the most common cause by far
- Use the SMTP login (the email-style username Brevo shows next to the key) as the username, not your account login password
- If you’re unsure the key is still valid, generate a fresh SMTP key on the SMTP & API page and reconnect it in FlowRelay; only the last digits are visible after creation, so you can’t recover a lost one
“Sending has been rejected because the sender you used is not valid”
- The From address has to be a verified sender or sit on an authenticated domain. Add and verify it under Senders, Domains & IPs
- Check FlowRelay’s sender details and any Override sender fields match a verified sender exactly. Don’t use the SMTP login as the sender address, it’s a credential, not a mailbox
- If you verified a single address rather than a domain, you can only send from that address. Authenticate the domain if you need flexibility
Emails arrive, but they’re from a @brevosend.com address instead of yours
- This is Brevo’s protection mechanism kicking in because your sending domain isn’t authenticated. It swaps in a
@brevosend.comaddress to keep delivery healthy - Authenticate your domain (add the DKIM records Brevo gives you) under Senders, Domains & IPs, then wait for validation. Once the domain is authenticated, your real From address is used
Emails stop sending or get held in a queue
- You’ve likely hit the daily limit. On the free plan that’s 300 emails a day, and it’s a shared pool across transactional and marketing sends, so campaigns eat into the same allowance
- When an account runs out of credits, Brevo queues transactional emails and holds them for up to 36 hours rather than sending immediately. Add credits or upgrade to release them
- Connect a second provider in FlowRelay as a Fallback, so sends keep going out automatically if Brevo runs out of credits for the day
“Connection refused” or can’t connect to the server
- Use port
587or465(or2525if your network blocks those). Brevo doesn’t accept SMTP submission on port25 - Confirm the host is
smtp-relay.brevo.com. If you’re moving an old integration over, the previoussmtp.sendinblue.comhostname is deprecated and should be updated