Skip to main content
Solved

Send order details to shop manager

  • February 11, 2026
  • 4 replies
  • 33 views

Forum|alt.badge.img

Hello, everyone.
I have created a transactional flow triggered by a WooCommerce Order Placed. The flow correctly sends a summary email to the customer containing a dynamic table with the Name, Attributes, Quantity, and Price for each product purchased.

I would also like to send a similar email to the store manager notifying them of the sale and containing the same sales information:for each product it should show Name, attributes, quantity etc. and there should be shipping and billing details.

How can I accomplish this? Emails in flow do not seem to support a specific recipient, while internal alerts won’t give me the possibility to properly customize the content of the email.

Thank you for your help!

Best answer by RossoDigital

Hey ​@SerenaAlqimia !

Yep, internal alerts don’t have (m)any formatting options.

I did do some testing and the best I could come up with in an internal alert is the below which should have all the data you need, it’s just not super pretty. You can also still extend this with the WooCommerce admin order URL using the site URL and appending the order ID, or depending on whether the store is using taxes or not you can add tax amounts into the totals.

New Order #{{ event.extra.OrderNumber }} (WooCommerce Order ID: {{ event.extra.OrderId }})



Customer Details

Name: {{ person.first_name|title }} {{ person.last_name|title }}

Email: {{ person.email }}

Phone: {{ person.phone_number }}



Order Summary

{% for item in event.extra.Items %}Line {{ forloop.counter }}: {{ item.ProductName }} · Qty: {{ item.Quantity|floatformat:0 }} · Price: {% currency_format item.Price|floatformat:2 %} · Line Subtotal: {% currency_format item.LineSubTotal|floatformat:2 %}

——————————————————————————————

{% endfor %}——————————————————————————————

Items Subtotal: {% currency_format event.extra.Items|map:"LineSubTotal"|sum_list|floatformat:2 %}{% if event.extra.TotalDiscount != 0 %}

Discounts: {% currency_format event.extra.TotalDiscount|floatformat:2 %}{% endif %}

Shipping (via {{ event.ShippingMethods }}): {% currency_format event.extra.TotalShipping|floatformat:2 %}

Order Total: {% currency_format event|lookup:'$value'|floatformat:2 %}



Billing Address

{{ event.extra.BillingAddress.Address1 }}{% if event.extra.BillingAddress.Address2 %}

{{ event.extra.BillingAddress.Address2 }}{% endif %}

{{ event.extra.BillingAddress.City }} {{ event.extra.BillingAddress.State }} {{ event.extra.BillingAddress.PostCode }}

{{ event.extra.BillingAddress.Country }}



Shipping Address

{{ event.extra.ShippingAddress.Address1 }}{% if event.extra.ShippingAddress.Address2 %}

{{ event.extra.ShippingAddress.Address2 }}{% endif %}

{{ event.extra.ShippingAddress.City }} {{ event.extra.ShippingAddress.State }} {{ event.extra.ShippingAddress.PostCode }}

{{ event.extra.ShippingAddress.Country }}

Does the shop manager email need any additional info that’s not already in the customer email? Because if the info is the same you could just add the shop manager’s email address into the BCC field of the customer email in the flow which would have the full styling.

I’d love to hear what you’ll end up doing!

 

Cheers,

Rob

Rosso Digital

4 replies

Forum|alt.badge.img
  • Contributor I
  • February 11, 2026

Hi ​@SerenaAlqimia !

If the admin email doesn’t need to look pretty you could use the “Internal Alert” flow action for that which allows you to specify internal recipients and you can use the trigger event’s data variables to populate the alert content. Looking at what you’re saying should be included in the shop manager email that should all be “stored” in the WooCommerce Placed Order event already anyways. What part is it you need to customise more that the internal alert doesn’t allow you to do?

Alternatively, if the email to the shop manager doesn’t need any additional data that’s not already in the customer email anyways (usually order confirmations would have the shipping and billing address in those anyways), you could also use the bcc option in the flow email’s “Subject and Sender” settings so that the shop manager gets a copy of the customer email without disclosing the shop manager’s email to the customer.

Another way would be to use the default WooCommerce “new order” admin email and send it directly from the website without getting Klaviyo “involved” unless there’s a particular reason why you can’t use that option?

Warm regards from Australia,

Rob

Rosso Digital


Forum|alt.badge.img
  • Author
  • Contributor I
  • February 12, 2026

Hi ​@RossoDigital !
Thank you for your response.

I tried using Internal Alert, but I don't understand how to create a dynamic table that shows information for each product purchased, which would be useful for the shop manager to manage orders. I would like to be able to create a table with, for example:

- Row 1: product 1 name, product 1 quantity, product 1 price; product 1 subtotal;

- Row 2: product 2 name, product 2 quantity, product 2 price; product 2 subtotal;

- etc.

It would also be nice to be able to customize the appearance of the email, but I guess that Internal Alert does not offer many formatting options, while with emails you cannot set a single recipient.

Thank you for your help!

Serena

 


Forum|alt.badge.img
  • Contributor I
  • Answer
  • February 13, 2026

Hey ​@SerenaAlqimia !

Yep, internal alerts don’t have (m)any formatting options.

I did do some testing and the best I could come up with in an internal alert is the below which should have all the data you need, it’s just not super pretty. You can also still extend this with the WooCommerce admin order URL using the site URL and appending the order ID, or depending on whether the store is using taxes or not you can add tax amounts into the totals.

New Order #{{ event.extra.OrderNumber }} (WooCommerce Order ID: {{ event.extra.OrderId }})



Customer Details

Name: {{ person.first_name|title }} {{ person.last_name|title }}

Email: {{ person.email }}

Phone: {{ person.phone_number }}



Order Summary

{% for item in event.extra.Items %}Line {{ forloop.counter }}: {{ item.ProductName }} · Qty: {{ item.Quantity|floatformat:0 }} · Price: {% currency_format item.Price|floatformat:2 %} · Line Subtotal: {% currency_format item.LineSubTotal|floatformat:2 %}

——————————————————————————————

{% endfor %}——————————————————————————————

Items Subtotal: {% currency_format event.extra.Items|map:"LineSubTotal"|sum_list|floatformat:2 %}{% if event.extra.TotalDiscount != 0 %}

Discounts: {% currency_format event.extra.TotalDiscount|floatformat:2 %}{% endif %}

Shipping (via {{ event.ShippingMethods }}): {% currency_format event.extra.TotalShipping|floatformat:2 %}

Order Total: {% currency_format event|lookup:'$value'|floatformat:2 %}



Billing Address

{{ event.extra.BillingAddress.Address1 }}{% if event.extra.BillingAddress.Address2 %}

{{ event.extra.BillingAddress.Address2 }}{% endif %}

{{ event.extra.BillingAddress.City }} {{ event.extra.BillingAddress.State }} {{ event.extra.BillingAddress.PostCode }}

{{ event.extra.BillingAddress.Country }}



Shipping Address

{{ event.extra.ShippingAddress.Address1 }}{% if event.extra.ShippingAddress.Address2 %}

{{ event.extra.ShippingAddress.Address2 }}{% endif %}

{{ event.extra.ShippingAddress.City }} {{ event.extra.ShippingAddress.State }} {{ event.extra.ShippingAddress.PostCode }}

{{ event.extra.ShippingAddress.Country }}

Does the shop manager email need any additional info that’s not already in the customer email? Because if the info is the same you could just add the shop manager’s email address into the BCC field of the customer email in the flow which would have the full styling.

I’d love to hear what you’ll end up doing!

 

Cheers,

Rob

Rosso Digital


Forum|alt.badge.img
  • Author
  • Contributor I
  • February 13, 2026

Hi Rob,

Thank you for you reply!

This was super helpful: the loop cycle in the order summary is exactly what I was looking for.

Eventually, I’m considering to use WooCommerce emails, but still this is good to know in case I’ll need it in the future.

Thank you again.

Wish you a nice day

Serena