What an automation can do
Every step you can add to a workflow — sending messages, updating Shopify, looking things up, waiting, and branching.
Steps are what happens after something kicks your automation off. Send a message, wait two days, check a condition, look up an order, hand the conversation to a person.
The builder groups them into five drawers on the left: Message, Instagram, Shopify, Integration and Utilities.
Sending messages
| Step | What it does |
|---|---|
| Template Message | Sends a WhatsApp message Meta approved in advance |
| Service Message | Sends a normal, free-typed message on any channel |
The difference between these two matters more than anything else on this page.
Template Message uses wording Meta signed off in advance, and can be sent at any time. Use it to start a conversation — an order update, a review request, a campaign.
Service Message is free-typed and can only be delivered within 24 hours of the customer's last message. Use it to continue a conversation the customer started, or one your template already opened.
If your automation opens with a Service Message on anything other than a conversation trigger, it will not deliver. Nobody messaged you, so no 24-hour window is open.
Start with a Template Message instead. The builder warns you before you publish.
| Step | What it does |
|---|---|
| Reply to Comment | Posts a public reply under the comment |
| Send Instagram DM | Sends them a private message |
| Hide Comment | Hides it from public view |
| Like Comment | Likes it |
These need an Instagram trigger, so there's a comment to act on. The classic pairing — reply publicly, then DM the details — is covered in Instagram comment automation.
Changing things in Shopify
| Step | What it does |
|---|---|
| Add / Remove Tag | Tags a contact, an order, or a customer |
| Cancel Order | Cancels a pending order |
| Update Metafield | Sets a custom field value |
| Add Order Note | Adds a note to the order |
| Add to Segment | Puts the contact in an audience |
| Remove from Segment | Takes them out of one |
| Duplicate Order | Creates a draft order from an existing one, with a pay-now link |
| Add Order Discount | Discounts every item on an order |
| Remove Order Discount | Strips discounts off an order |
| Set WhatsApp Consent | Records that a customer opted in or out |
Duplicate Order is what powers COD-to-prepaid conversion: duplicate the order, get a payment link, message it to the customer.
Set WhatsApp Consent sits under Utilities rather than Shopify, because it writes to the Enscale contact rather than to Shopify.
Consent is a record of what happened, not a shortcut
Use Set WhatsApp Consent to record consent the customer actually gave — a reply to an opt-in prompt, a checkout checkbox, a popup submission.
Setting opt-in on someone who never agreed will get your WhatsApp number flagged by Meta. You'd also be creating a false record that says they consented, which is the opposite of what this feature is for.
Looking things up
These fetch data and make it available to every step that follows.
| Step | What it does |
|---|---|
| Fetch Order | Looks up an order in full |
| Fetch Product | Looks up a product |
| Recommend Product | Finds something that pairs with what they bought |
| Fetch Collection | Looks up a collection |
| Fetch Order Checkout | Gets totals, discounts and shipping address from an order |
| Fetch review link | Builds a verified "leave a review" link |
Three things worth knowing:
- Fetch Order Checkout needs an order, not a checkout. It queries orders, so it can't look up an abandoned checkout. Pairing it with a checkout trigger gives you a not-found error.
- Recommend Product defaults to the first item in the order, which is what you want for most post-purchase upsells.
- Fetch review link produces a verified link tied to that customer and product. That's what makes the review display as a confirmed purchase — and verified reviews convert better than anonymous ones.
Integrations
| Step | What it does |
|---|---|
| Razorpay | Creates a payment link and gives you the URL |
Needs credentials set up first — see Integrations.
The common COD-to-prepaid flow is Create Razorpay Payment Link followed by a template message containing it. Offering a small discount for paying upfront (say ₹100 off a ₹2,400 order) often costs less than the refused-delivery rate on COD.
Waiting, branching, and everything else
| Step | What it does |
|---|---|
| Condition | Splits the flow based on a check |
| Wait / Delay | Pauses for a fixed time |
| Wait for Event | Waits for something to happen, or gives up |
| Loop | Repeats steps once per item in a list |
| Format link | Tags a URL for tracking, and shortens it |
| Save Variable | Stores a value to reuse later in the flow |
| Save Data | Saves data permanently, or records a review |
| Assign to Agent | Hands the conversation to a person or an AI agent |
Condition
The workhorse. Enscale gives you raw events and expects you to narrow them here — that's how "abandoned cart" and "order delivered" get built. See the recipes.
Wait vs Wait for Event — the one worth understanding
Wait is a fixed pause: "two days, then carry on."
Wait for Event is conditional: "wait up to 24 hours for them to place an order. If they do, go this way. If they don't, go that way." It matches the event to this specific customer's flow, so it only reacts to their behaviour.
That makes Wait for Event the right choice for any recovery sequence, because you can stop chasing someone the moment they buy. With a plain Wait, your second reminder goes out regardless — including to the customer who already paid ten minutes ago, which is a genuinely annoying experience.
Loop
Runs its steps once per item in a list — every product in an order, for instance. Stops at 50 items by default so an unusually large order can't run away with your allowance.
Format link
Always use this instead of pasting a raw URL. It tags links so workflow-driven traffic shows up properly in Revenue attribution — a raw pasted link is invisible there, and you'll conclude your automations earn nothing.
Assign to Agent
Hands the conversation to a person or an AI agent. Use it at the end of a flow that's gathered enough for someone to take over, or to escalate when a condition suggests the customer is unhappy.
What's available on which plan
Every step is available on every plan. The only exception is routing to an AI agent through Assign to Agent, which needs AI agents — a paid-plan feature.
See Plans and limits.
Next steps
- Using customer details — putting real values into messages.
- What can start an automation — triggers and recipes.
- Flow templates — ready-made flows.
What can start an automation
Every event that can kick off a workflow — orders, messages, comments, ad clicks — and how to build the flows you actually want.
Using customer details
Put the customer's name, order number or tracking link into an automated message, instead of sending everyone the same generic text.