Variables personalize your messages with data from the contact, the trigger or an earlier step of the flow. They are replaced by their value when the message is sent.
In a free-form message (Send Message, Send Message with button link, Ask text, Ask List Option...), insert the variable with the variable picker, or type it with its exact syntax: {{recipient.first_name}} for the contact, {{variables.name}} for all other data.
In a template, map each template variable to a piece of data with Add a variable. Variables typed by hand in a template's text are rejected.
Only the {{recipient.xxx}} and {{variables.xxx}} formats are replaced. {{firstname}}, or {{shopify_tracking_url}} without the variables. prefix, reach the customer exactly as typed.
The variables offered depend on the trigger: an order variable does not exist in an Inbound message flow. Below, the variables are written without the {{variables. }} wrapper for readability: shopify_order_id is written {{variables.shopify_order_id}} in a message.
Variable | Content |
|---|---|
| Contact name |
| First name |
| Last name |
| Phone number |
Variables saved on the contact (Manage contact variables and Ask text actions) are used as {{variables.variable_name}}.
Variable | Content |
|---|---|
| Order number |
| Total amount |
| Shopify order status page |
| Image of the first product |
| Image of the most expensive product |
| Image of the cheapest product |
Product images are used as media, for example as a message header image.
Variable | Content |
|---|---|
| First name |
| Last name |
| Full name |
| Language |
Variable | Content |
|---|---|
| First name |
| Last name |
| Full name |
| Phone |
| Address line 1 |
| Address line 2 |
| City |
| Postal code |
| Region / Province |
| Country |
Variable | Content |
|---|---|
| Link to resume the cart |
| Total cart amount |
| Product images, as in the Order section |
The Customer variables (first name, last name, full name, language) are also available.
Variable | Content |
|---|---|
| Tracking number |
| Tracking URL |
| Carrier |
| Shopify order status page |
| First name |
| Last name |
| Full name |
| Phone |
| Address line 1 |
| Address line 2 |
| City |
| Postal code |
| Region / Province |
| Country |
Example of a free-form message after a customer reply: Your parcel is on its way: {{variables.shopify_tracking_url}}. In a template, map the variable with Add a variable.
Variable | Content |
|---|---|
| The generated code: prefix, hyphen and 6 characters (e.g. KANAL-3F9A2C) |
| The discount value, shown as "15%" or "10.00 EUR" |
| Expiration date (dd/mm/yyyy hh:mm, UTC time, 1 to 2 hours behind French time), or "Illimité" with no expiration |
ID is the node identifier: insert these variables with the picker rather than by hand.
Each field mapped in an API Call node becomes {{variables.api_response_ID_name}}, where ID is the node identifier and name the variable name you chose. It is offered in the picker of the next nodes.
The keys sent in the call's variables object (and declared in the node panel) are used as {{variables.key}}. Example: "variables": { "code": "WELCOME10" } gives {{variables.code}}. The name, first_name, last_name and email fields fill in the contact: then use {{recipient.first_name}}.
Recharge variables are written {{variables.recharge_...}} and depend on the event:
All events: recharge_event, recharge_customer_email, recharge_customer_first_name, recharge_customer_last_name, recharge_external_customer_id, recharge_address_id, recharge_customer_id.
Charge events (Upcoming renewal, Payment failed, Payment permanently failed, Renewal paid): recharge_charge_id, recharge_status, recharge_scheduled_at, recharge_total_price, recharge_currency, recharge_product_title (title of the first product), recharge_line_items_count, recharge_error_type, recharge_number_times_tried, recharge_retry_date.
Subscription events (Subscription started, Subscription cancelled, Delivery skipped): recharge_subscription_id, recharge_variant_title, recharge_sku, recharge_price, recharge_quantity, recharge_next_charge_scheduled_at, recharge_order_interval_frequency, recharge_order_interval_unit, recharge_cancellation_reason, recharge_cancellation_reason_comments.
No variable provides a link to update the payment card: use a fixed link to your customer portal.
The Store order created and Store shipment update triggers offer in the picker the data your store sends through the Commerce API: order, cart, shipment and customer tags. Use the picker to insert them.