Skip to content

Email MAS

A Email MAS (Multi-Agent System) handles customer conversations from the email. Each agent has access to a predefined set of context variables that provide insights into the customer, session, shop, and navigation state. These can be used in prompts or tool calls to personalize and control behavior.


LabelNameDescription
Customer IDcustomer.idUnique customer identifier
Customer First Namecustomer.firstNameFirst name of the customer
Customer Last Namecustomer.lastNameLast name of the customer
Customer Emailcustomer.emailEmail address of the customer
Customer Phonecustomer.phonePhone number of the customer
Logged-in?customer.logged_inTrue if the customer is authenticated
Email Verified?customer.verifiedEmailWhether the customer’s email is verified
Shop MyShopify Domainshop.myshopifyDomainThe store’s Shopify domain (e.g., example.myshopify.com)
Shop Nameshop.namePublic name of the store
Shop URLshop.urlThe full public URL of the store
Shop Emailshop.emailEmail address of the store owner
Shop Currency Codeshop.currencyCodeThe currency used by the store (e.g., USD, EUR, GBP)
Current Time in UTCtime.nowInUTCCurrent UTC date and time
Day of Week in UTCtime.dayOfWeekInUTCDay of the week in UTC (e.g., Monday)
Subjectemail.subjectSubject line of the email
From Addressemail.from.addressSender’s email address
From Nameemail.from.nameSender’s name
To Addressemail.to[].addressRecipient address in the “To” field
To Nameemail.to[].nameRecipient name in the “To” field
CC Addressemail.cc[].addressCarbon copy recipient address
CC Nameemail.cc[].nameName of CC recipient
BCC Addressemail.bcc[].addressBlind copy recipient address
BCC Nameemail.bcc[].nameName of BCC recipient
In-Reply-Toemail.inReplyToEmail header indicating which message this is replying to
Reply-To Addressemail.replyTo.addressReply-to email address
Reply-To Nameemail.replyTo.nameReply-to sender name
References IDsemail.references[]Array of message reference IDs for threading
Attachment Filenameemail.attachments[].filenameFilename of the attachment
Attachment MIME Typeemail.attachments[].contentTypeFile MIME type
Attachment Sizeemail.attachments[].sizeSize of the attachment in bytes
Attachment Dispositionemail.attachments[].dispositioninline or attachment
Attachment CIDemail.attachments[].contentIdContent-ID for inline referencing

Tool NameDescriptionParameters
cancel_orderCancels a Shopify order by ID and reason. Sends refund, restock, and email by default.orderId (string), reason (enum: CUSTOMER, DECLINED, FRAUD, INVENTORY, OTHER, STAFF)
create_discount_codeCreates a percentage or fixed discount code, optionally scoped to specific products.type (percentage | fixed), value (number), productIds (string[])
get_customer_ordersFetches customer orders using email with pagination support.email (string), after (string), limit (number)
get_order_detailsFetches detailed information of an order by ID (must start with #).orderId (string)
get_product_detailsRetrieves product data by ID, name, or key feature using search or embedding.queryType (id | name | key feature), queryKey (string)
get_product_recommendationsRecommends products based on query keys and optional filters (price, size).queryKeys (string[]), filters (object with price and size)
get_collection_recommendationsRecommends product collections based on query keys using vector search.queryKeys (string[])
get_related_knowledge_sourceRetrieves FAQs, blog articles, PDFs, or Shopify pages relevant to a question.question (string), specificToProductId (string | null)
send_emailSends an email to a customer with subject, plain text body, and HTML content.email (string), subject (string), body (string), html (string)
send_otp_emailSends an OTP email to the customer for verification.email (string)
send_noteSends a private note to the dashboard visible only to store staff.content (string)

Currently, there are no type specific settings for Email MAS.

FieldTypeDescription
contentstringThe actual response message that will be sent in the reply email.
respond_to_emailbooleanWhether the agent wants to reply to the email.
not_respond_to_email_reasonstringIf respond_to_email is false, this field explains why (e.g., awaiting further info, delegated to human).

Example:

{
"content": "Thanks for reaching out! Your order has been cancelled.",
"respond_to_email": true,
"not_respond_to_email_reason": ""
}