How to Set Up Shopware Automated Email Flows

A Shopware automated email needs three things to work. First, the right trigger event. Then a valid email template. Finally, a running queue worker. Miss any one and no email goes out.

But Shopware does not warn you when a flow fails silently. The flow looks active. The event fires. Yet nothing reaches the customer. This guide shows you exactly how each layer works — and how to test it.

💡 Run This Before You Build Any Flow

Check the queue first. Run php bin/console messenger:stats on your server. If jobs are stuck, your worker is down. Fix that before building flows. A stopped worker means no Shopware automated email will ever fire.

How Shopware Automated Email Flows Work.

Shopware uses the Flow Builder to send emails. Each Shopware email flow has three parts. A trigger event starts the flow. Optional rule checks can filter it. Then actions run — including the send email action.

When an event fires, Shopware adds a job to the message queue. A worker picks it up. It checks the rules. Then it sends the email. So the queue worker must be running — always.

Each send email action links to one email template. That template must be assigned to the right sales channel. If the channel does not match, Shopware skips the send. No error appears. The flow just does nothing.

⚠️ Sales Channel Assignment Is the Most Missed Step

Go toSettings → Email templates. Open any template you use in a flow. Check the sales channel field. It must include the channel where the order or event takes place. This one step fixes most silent Shopware email flow failures.

Need Custom Shopware Automated Email Flows Built for You?

CodeCommerce Solutions is a Shopware Bronze Partner. Our certified developers build and test Shopware automated email flows — including custom templates, B2B sequences, and multi-channel setups.

Shopware Plugin Development → View All Shopware Services

Flow 1: Order Confirmation Email.

1. Send a confirm email when a customer places an order

checkout.order.placed

This is the most critical Shopware automated email. Every store needs a Shopware order confirmation email. It confirms the order and gives the customer a record. Set it up first. It is the most important flow you will ever set up.

Go to Settings → Flow Builder. Click Add Flow. Follow these steps exactly.

Trigger: checkout.order.placed — fires when checkout is complete
Action: Send email → template: order_confirmation_mail
Action: Add tag → tag: order-confirmed (optional but useful)
Priority: 100 · Active: ON · Save
  • Usecheckout.order.placedas the trigger. This is the correct event for a Shopware order confirm email. Do not useorder.placed— that event does not exist in Shopware 6. The flow will never fire.
  • The templateorder_confirmation_mailships with Shopware. Open it in Settings → Email templates. Add your logo, brand colours, and any custom message. Then save and assign it to your sales channel.
  • Set priority to 100. This makes the Shopware order confirm email run before any other flow on the same event. Higher numbers run first. This ensures your Shopware order confirmation email always fires before lower-priority flows.
  • Test the flow. Place a test order on your staging store. Then go toSettings → Email templates → Log. If the Shopware order confirmation email does not appear, check the queue worker and the sales channel assignment.

Developer Insight from CodeCommerce Solutions

The most common Shopware order confirm email bug: the template is not assigned to the sales channel. The Shopware Flow Builder email runs and the action fires. But Shopware finds no valid template for that channel. So it skips the send. Check the channel assignment first. It fixes the issue in under a minute.

Flow 2: Shipping Notification Email.

2. Alert the customer when their order ships

order_delivery.state_entered.shipped

This Shopware automated email fires when your team marks an order as shipped. It keeps the customer informed without any manual work. Set it once and it runs on its own for every order.

This is a Shopware transactional email. It is triggered by a state change. The trigger event name includes the exact state. Only a change to “shipped” will fire it.

Trigger: order_delivery.state_entered.shipped
Action: Send email → template: order_delivery_shipped_mail
Action: Add tag → tag: shipped (optional)
Priority: 90 · Active: ON · Save
  • The event isorder_delivery.state_entered.shipped. It fires only when the delivery status becomes “shipped.” A change to “partially shipped” fires a different event. Make sure you pick the right one for your workflow.
  • The templateorder_delivery_shipped_mailships with Shopware. It includes the order number and delivery address. Edit it to add a tracking link if your carrier provides one via a custom field.
  • Set priority to 90. This keeps it below Flow 1. Both use different events so there is no real conflict. But keeping unique priorities across all flows avoids any unexpected run order issues.
  • Test by changing a test order’s delivery status to “shipped” in the admin. Check the mail log within 30 seconds. This Shopware transactional email should appear right away.

Want Your Shopware Email Flows Set Up and Tested by Experts?

Our Shopware Bronze Partner team builds all four flows. We create the templates and confirm every email in the mail log. We also set up queue monitoring so broken flows are caught early.

Work With a Shopware Partner →

Flow 3: Abandoned Cart Email.

3. Remind customers about items left in their cart

Plugin required

Shopware 6 has no built-in abandoned cart event. So this Shopware email flow needs a plugin. The plugin adds a cart.abandoned event. Once it is installed, the flow setup is the same as any other.

Good plugin options include Frosh’s Abandoned Cart plugin from the Shopware Store. It adds a scheduler that checks for carts idle for a set time. It then fires the event and the flow runs.

Install plugin → enable cart.abandoned event in plugin settings
Trigger: cart.abandoned — added by the plugin
Rule: Customer has email address — skip anonymous carts
Action: Send email → custom abandoned cart template
Delay: 1 hour in plugin settings · Priority: 80 · Active: ON
  • Always add a rule before the send action. Check that the customer has an email address. Anonymous carts have no email. Without this rule, the action fails on every guest cart and fills your error log.
  • Create a dedicated abandoned cart email template. Do not reuse the order confirm template. This Shopware automated email has a different purpose — to bring the customer back. Keep it short. One clear link back to the cart. This Shopware transactional email works best when it is simple.
  • Set the plugin delay to at least 1 hour. Sending a reminder after 5 minutes feels aggressive. A 1 to 3 hour window works well for most stores. Set this in the plugin settings — not in the Flow Builder itself.
  • The plugin must have its event enabled in its own settings page. This is separate from the Flow Builder active toggle. Many stores install the plugin, build the flow, and then wonder why it never fires. Always check the plugin config first.

🔧 Developer Insight from CodeCommerce Solutions

A Shopware store installed an abandoned cart plugin but the Shopware email flow never fired. The plugin was active. The flow was active. But the event was not enabled inside the plugin’s own settings page. One toggle fixed it. Always check the plugin’s settings before debugging the flow.

Flow 4: Welcome Email on New Account.

4. Send a welcome email when a customer registers

customer.register

A welcome Shopware automated email builds trust from the start. It confirms the new account. It can also include a first-order discount or a link to your help page. Set it up once and every new customer gets it on its own.

There is one key difference for B2B stores. The event name changes. B2B customers often need admin approval before their account is active. Use the correct event for your store type.

B2C Trigger: customer.register — all new accounts
B2B Trigger: business_events.customer_group_registration_accepted — after admin approval
Action: Send email → template: customer_register_mail
Action: Add customer tag → tag: new-customer (optional)
Priority: 80 · Active: ON · Save
  • B2C stores usecustomer.register. It fires for every new account at once. B2B stores should usebusiness_events.customer_group_registration_accepted. That event fires only after an admin approves the account. That is the right moment to send the welcome email.
  • The templatecustomer_register_mailships with Shopware. Edit it to match your brand. Keep the message short. One clear welcome, one link, one offer. Long welcome emails have low click rates.
  • For multi-language stores, create one template per language. Assign each to the right sales channel. A missing language template means that customer gets no welcome email at all — not even a fallback.
  • Add a tag in the same flow. Tag new customers asnew-customer. You can use this tag later in other Shopware Flow Builder email flows. A 3-day onboarding follow-up is a great next step.

Mistakes That Break Shopware Email Flows Silently.

These are the seven most common mistakes. Each one stops your Shopware automated email from sending — with no error in the admin.

Mistake What Breaks Fix
Wrong trigger event name. Flow never fires at all. Use exact event names from this guide.
Template not assigned to sales channel. Send action runs but email is skipped. Check Settings → Email templates → channel.
Active toggle is off. Flow visible but never runs. Turn active toggle on. Save again.
Queue worker not running. Every flow stops at once. Set worker up as a systemd daemon.
Two flows with same priority and event. Unpredictable send order. Give each flow a unique priority number.
No rule on abandoned cart flow. Errors logged for every guest cart. Add rule: customer has email address.
Missing translation in email template. Email skipped for that language. Add a translated version per language.

Shopware Automated Email: Setup Checklist.

  1. Run php bin/console messenger:stats. Confirm the queue worker is running.
  2. Go to Settings → Flow Builder. Check each flow is active and using the correct trigger event.
  3. Open each email template in Settings → Email templates. Confirm the sales channel assignment.
  4. Place a test order. Wait 30 seconds. Go to Settings → Email templates → Log.
  5. Confirm the Shopware order confirm email appears in the log.
  6. Change a test order’s delivery status to “shipped.” Check the log for the shipping email.
  7. Create a test account. Check the log for the welcome email within 30 seconds.
  8. For abandoned cart: add items to a cart, wait for the plugin timer. Check the log.
  9. For multi-language stores: repeat each test for every language and sales channel.
  10. Check your real inbox. Confirm each email arrives and displays correctly.

Why Choose CodeCommerce Solutions.

A broken Shopware email flow is silent. No error. No warning. Just a customer who never got their order confirm. Or a cart that was left without a nudge. Finding the cause without server access takes a long time.

CodeCommerce Solutions is a Shopware Bronze Partner. Our certified Shopware 6 developers set up all four flows. We build the templates. Every send is confirmed in the mail log before we close the work. The flow, template, queue, and SMTP settings are all checked in one pass.

Our team also builds custom Shopware Flow Builder email templates. Your confirm, shipping, and welcome emails match your brand exactly. Every template is tested in multiple email apps before going live.

📘 Official Documentation

For the full list of event names and actions, see the Shopware Flow Builder developer guide in the official docs. It covers every trigger event and how to add custom ones.

Get Your Shopware Automated Email Flows Working Today.

Start with Flow 1. Get the Shopware order confirm email working first. It is the most important. Then add the shipping flow. Each new Shopware email flow takes about 10 minutes once the pattern is clear.

Most broken Shopware automated email setups fail at just two points. A wrong sales channel on the template. Or a stopped queue worker. Fix those two things and most flows start sending on their own.

Need a certified Shopware developer to build and test your email flows? CodeCommerce Solutions, a Shopware Bronze Partner, handles the full setup — flows, templates, queue, and SMTP.

Leave A Comment

All fields marked with an asterisk (*) are required