What's your biggest current challenge? Have your say in Community Polls along the right column.

Add Custom Metafield Value to automated internal email when order is placed

Add Custom Metafield Value to automated internal email when order is placed

zbomb24
Visitor
3 0 0

Hi Everyone, 

 I am creating an internal email that goes out utilizing Flow.  It is triggered when we recieve a new order that has a specific tag.  I have everything working but there are some customer custom field values that we would like to add to the email.  All of our invoices are sent out through our companys accounting software outside of shopify.  In this system our customers have an id number so we would like to add that to the email that is sent.  Currently, we are using a customer metafield to house this id number.

Name: Workday ID

Namespace and key: customer_fields.workday_id

 

We also need to add any/all of the customer's email addresses that need to recieve the invoice. We created a metafield that we can input these emails.

Name: Customer Email For Invoice Delivery

Namespace and key: custom.customer_email_for_invoice_delivery

Below is an example of the email that is being created.  The two in red are the two that I can not figure out how to pull in:



Please Review the following Purchase Order for Release:
https://premier-marketplace-dev.myshopify.com/admin/orders/{{order.legacyResourceId}}

Order Number: {{order.name}}

Order Creation Date: 

Terms: Net 30

Fulfillment Status: {{order.displayFulfillmentStatus}}

Workday ID: {{order.customer.customer_fields.workday_id}}

Customer Name:{{order.customer.displayName}} 

Customer Email: {{order.customer.email}}

Customer Email For Invoice Delivery: {{order.customer.customer_email_for_invoice_delivery}}

Company: {{order.billingAddress.company}}

Billing Address: {{order.billingAddress.address1}} {{order.billingAddress.address2}} {{order.billingAddress.city}}, {{order.billingAddress.province}} {{order.billingAddress.zip}}

 

Subtotal:

{{order.subtotalPriceSet.shopMoney.amount}}

 
 

Shipping:

{{order.totalShippingPriceSet.shopMoney.amount}}

 
 

Tax:

{{order.currentTotalTaxSet.shopMoney.amount}}

 
 

Total:

{{order.currentTotalPriceSet.shopMoney.amount}}

 

 

Reply 1 (1)

paul_n
Shopify Staff
1445 157 334

You cannot use metafields like that in Flow liquid. Flow instead loops over the list of metafields. The most concise way to get a specific value is this:

 

 

{%- assign my_mf = order.customer.metafields | where: "namespace","customer_fields" | 
 where: "key","workday_id" | first -%}
{{- my_mf.value -}}

 

Paul_N | Flow Product Manager @ Shopify
- Finding Flow useful? Leave us a review
- Need Flow help? Check out our help docs.
- Building for Flow? Check out Flow's dev docs.