Send email from Shopify Flow with Microsoft 365
Connect a Microsoft 365 or Outlook mailbox to Workflow Transactional Email and send branded email from Shopify Flow. No SMTP credentials needed.
Overview
Workflow Transactional Email can send through a connected Microsoft 365 mailbox instead of an SMTP server. There are no SMTP credentials to manage - you authorize the mailbox once, and the app sends through Microsoft Graph on your behalf.
You will configure this in two places: the app, for the sender connection, and Shopify Flow, for the automation.
Before you start
- You need Workflow Transactional Email installed in your Shopify store.
- You need a Microsoft 365 or Outlook mailbox you can authorize.
- You should already have an email layout saved, because the Send Transactional Email action sends a saved layout. See Build an email layout.
Business mailbox or personal Outlook.com?
Both connect the same way, but they do not send the same way. A Microsoft 365 business mailbox (your own domain, a work or school account) sends thousands of recipients a day and is the right choice for a store. A personal Outlook.com, Hotmail or Live mailbox is capped by Microsoft at a few hundred recipients per day, and a new or rarely used account is capped lower until Microsoft has verified it. When the cap is reached Microsoft refuses every further send for the rest of the day with Daily Message/Recipient limit exceeded and asks you to verify the account; the app records those sends as failed and emails you once a day while it lasts. If your store sends more than a handful of emails a day, connect a business mailbox or an SMTP server instead.
Video guide
The video has no sound, so adjust the playback speed to suit you.
Connect your Microsoft 365 account
In the Shopify admin, open Apps and select Workflow Transactional Email, then click Email Senders. In the Connected accounts section, click Manage connections.

On the Connected accounts page, find Microsoft 365 and click Connect.

A Microsoft authorization window opens. Sign in to the mailbox you want to use and grant access.

After authorizing you return to Connected accounts. The Microsoft 365 connection shows a Connected status and the mailbox appears under Senders.

If you later need to widen the permissions, use Reconnect on the same card rather than removing and re-adding the account.
Send from a shared mailbox or a Microsoft 365 group
The connected account can also send as a shared mailbox or a Microsoft 365 group (for example sales@ or support@), as long as your Microsoft 365 admin has granted the connected mailbox Send As or Send on behalf on it. On the connected account's card, click Add shared mailbox, enter the address and pick the matching type: Shared mailbox for a shared mailbox, Microsoft 365 group mailbox for a group. The type matters, because Microsoft handles the two differently: a shared mailbox is addressed directly, while a group is sent from the connected mailbox with the group as the From address, the same way Outlook does it. The app verifies access right away by sending a one-line message from that address to the connected mailbox itself.
With Send As, recipients see only the shared address or the group. With Send on behalf, their mail client shows the connected mailbox "on behalf of" the group. For a group, the sent copy lands in the connected mailbox's Sent Items, unless your admin has turned on keeping a copy in the group.
The From name comes from Microsoft 365, not from the app
The app sends every message with the From name you entered for the sender (or the From name of the Flow step), but Microsoft 365 replaces it with the display name of the mailbox or group in your directory before the message leaves your tenant. A group named "FM Sales" in Microsoft 365 arrives as "FM Sales" even if the sender in the app says "Flying Mushroom Sales". To change what recipients see, rename the mailbox, the user or the group in the Microsoft 365 admin center (Teams & groups > Active teams & groups for a group, Users for a mailbox). The new name applies to messages sent after the change. Google and SMTP senders show the name you enter in the app.
Send a test email
Before wiring it into a workflow, send a test message to confirm the mailbox works. Go back to Email Senders and click Send test email.

In the dialog, select your connected Microsoft 365 sender in the Sender field, enter a destination in Recipient email, then click Send.

Check the recipient's inbox. If the message arrives, the connection is ready to use. This is the fastest way to confirm the mailbox, the permissions and the sender configuration are all correct before you build anything in Flow.
Use the sender in Shopify Flow
In Shopify Flow, create a workflow and choose the trigger Customer Tags Added. To send only for specific tags, add a condition such as Added tags is at least one of vip.

Add the Send Transactional Email action. Set To Email(s) to the customer's email variable, so the message goes to the customer who triggered the workflow:
{{customer.defaultEmailAddress.emailAddress}}

Scroll to the end of the action's settings and click Configure Email (Open Config once the step is set up). This opens the configuration screen where you pick the sender and the layout.
Select your connected Microsoft 365 account in Send from and choose the layout in Layout. Preview below shows the chosen layout with its subject line, so you can check it is the right one. Click Save, wait for Configuration saved successfully at the bottom of the page, then click Exit.
Save the workflow and turn it on. Add the tag to a customer, and the message goes out through your connected Microsoft 365 mailbox.

What this workflow does
Shopify Flow watches for customer tag changes, then passes the customer data into Send Transactional Email. That action renders your selected layout and sends it through the Microsoft 365 sender you chose in Send from.
The content of the outgoing message comes entirely from the layout selected in Layout. To change what the email says, edit the layout - not the workflow.
Troubleshooting
The sender is missing from the Send from dropdown. Reopen the action, click Open Config, and check the sender is listed. If it is not, refresh the Flow editor and reopen the action.
The email is not arriving. Send a message from Email Senders using Send test email first, and confirm the correct Sender and Recipient email were used. If the account was connected a while ago and needs new permissions, use Reconnect on Connected accounts.
History says "Daily Message/Recipient limit exceeded" or "verify your account". Microsoft has paused sending for a personal Outlook.com mailbox: it reached its daily limit, or the account has not been verified yet. Sign in to that mailbox in Outlook, follow the instructions Microsoft placed in its inbox, and wait for the daily reset. The app emails you about it once a day while it lasts (see Notifications and alerts). For a store that sends more than a handful of emails a day, connect a Microsoft 365 business mailbox or an SMTP server instead.
The error says the address "is a Microsoft 365 group, not a shared mailbox". The address was added with the type Shared mailbox, but Microsoft treats it as a group, which is sent differently. Remove that sender and add it again with the type Microsoft 365 group mailbox. Your Send As or Send on behalf permission stays as it is.
Verify reports a missing Send As permission although the admin granted it. Permission changes in Microsoft 365 can take up to an hour to propagate. Wait and click Verify again. If it still fails, confirm with your admin that the permission was granted to the connected mailbox itself, not to a different account.
Recipients see a different From name than the one in the app, or no name at all. Microsoft 365 replaces the From name with the display name of the mailbox or group in your directory, so rename it in the Microsoft 365 admin center (see above). If one mail client shows a name and another shows only the address, the message is the same: some clients, Thunderbird among them, show the name from your own address book for a known address and fall back to the bare address when none is stored.
The workflow is not running at all. Check the workflow is turned on, the trigger is Customer Tags Added, and the condition matches the tag you actually applied - tag matching is exact.
For the failure detail on a specific send, open History. See History and troubleshooting.
Related
- Send email from Shopify Flow with Google - the same setup with a Google mailbox.
- Send email from Shopify Flow with a custom SMTP server - use your own mail server instead.
- Build an email layout - design the email being sent.
