Enscale Docs
Automation

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.

Something has to start an automation. That's the trigger, and every workflow has exactly one.

This page lists everything available. If you're building your first automation, the recipes below are more useful than the full lists — they show how to build the four automations most stores want.

Why there's no ready-made "abandoned cart" trigger

Enscale gives you raw events from Shopify rather than pre-packaged recipes. So there's no single "abandoned checkout" or "order delivered" trigger — you build those from a raw event plus one Condition step.

The upside: you set the rule. Whether abandoned means 30 minutes or 6 hours is your call, not a guess baked into the app. The recipes below show exactly how, and flow templates have them pre-built if you'd rather skip the thinking.

The four flows everyone wants

Abandoned cart recovery

Trigger: Checkout Created
  → Wait 1 hour
  → Condition: did they complete the order?
      → No: send recovery message

The condition is what makes it abandoned — a checkout that turned into an order shouldn't get chased.

If a shopper starts checkout without entering a phone number, Enscale can't message them yet. When they add a phone later, Shopify sends an update and Enscale runs your flow at that point instead. The two events share one identity, so the customer never gets messaged twice.

Order delivered → ask for a review

Delivery is a shipping state, not an order state — so:

Trigger: Fulfillment Updated
  → Condition: shipment status is "delivered"
      → Yes: wait 2 days, then send a review request

Cash-on-delivery confirmation

Trigger: Order Created
  → Condition: payment methods contain "Cash on Delivery (COD)"
      → Yes: send a COD confirmation template

Worth building early if you do COD volume — a confirmation message measurably reduces refused deliveries.

Refunds, or converting COD to prepaid

Trigger: Order Updated
  → Condition: payment status is "refunded"  (or "paid")

Shopify events

These fire when something happens in your store.

TriggerFires when
Checkout CreatedA shopper starts checking out
Checkout UpdatedAn existing checkout changes
Cart CreatedA new cart is created
Cart UpdatedA cart changes
Order CreatedAn order is placed
Order PaidPayment is captured
Order UpdatedAnything about an order changes
Order CancelledAn order is cancelled
Order FulfilledThe whole order ships
Order Partially FulfilledPart of it ships
Order EditedItems on an order are changed
Fulfillment CreatedA shipment is created
Fulfillment UpdatedA shipment changes — including delivery
Draft Order CreatedA draft order is created
Draft Order UpdatedA draft order changes
Customer CreatedA new customer record appears
Customer UpdatedCustomer details change
Customer Account EnabledA customer activates their account
Customer Account DisabledYou disable a customer account
Marketing Consent UpdatedA customer's SMS marketing consent changes
Back In StockA sold-out product is available again

Three that don't carry what you'd expect

  • Order Edited sends a summary of what changed, not the order itself. Add a Fetch Order step to get the order.
  • Marketing Consent Updated carries only the customer's id, phone and consent state — no name, no email.
  • Fetch Order Checkout looks up orders, not abandoned checkouts. Don't pair it with a checkout trigger; it won't find anything.

More on this in Using customer details.

Instagram

TriggerFires when
Instagram CommentSomeone comments on your post
Instagram DM ReceivedSomeone sends you a DM
Story MentionSomeone mentions you in their story

See Instagram comment automation for the comment-to-DM pattern.

The old Comment to DM trigger is retired

Instagram Comment to DM no longer appears when building new flows — it did the same job as Instagram Comment followed by a reply and a DM.

Workflows you already built with it keep running unchanged. Rebuild them on Instagram Comment next time you edit one.

Ad clicks

These fire when someone messages you after tapping one of your ads — so you can treat ad traffic differently from organic.

TriggerFires when
WhatsApp Ad ClickThey message you after tapping a Click-to-WhatsApp ad
Instagram Ad ClickThey DM you after tapping an Instagram ad
Facebook Ad ClickThey message your Page after tapping a Click-to-Messenger ad

All three tell you which ad brought them in, so you can respond with the offer they clicked rather than a generic greeting. Someone who tapped your Diwali sale ad shouldn't be asked "how can I help?"

Available on all paid plans. These also feed Revenue attribution, so you can see what your ads actually earned.

Inbox activity

TriggerFires when
New ConversationSomeone contacts you for the first time
Conversation OpenedA closed conversation is reopened
Conversation Out of HoursSomeone messages outside your business hours
Conversation ResolvedA conversation is closed
Keyword ReceivedA message matches a keyword you set
Campaign ResponseSomeone replies to a campaign
AI Handed to HumanAn AI agent passes a conversation to a person

Keyword Received is the quiet workhorse. Set up PRICE, AGENT, OFFER or TRACK and customers can self-serve — a message saying TRACK fires a flow that looks up their order and sends the status, with nobody involved.

AI Handed to Human tells you why it handed over, so you can alert a specific person for payment issues but not for general questions.

Conversation Out of Hours needs business hours configured in first-run setup.

TriggerFires when
Contact AddedA new contact is created
Tag AddedA specific tag lands on a contact
Popup SubscriberSomeone subscribes through a storefront popup
Back-in-stock SubscribedSomeone joins a product waitlist
WhatsApp Opt-OutSomeone opts out
Review SubmittedA customer leaves a review

Tag Added is the most flexible trigger in Enscale — see the pattern for why splitting flows around a tag is usually better than one long flow.

WhatsApp Opt-Out fires however they opted out — a STOP reply, an AI agent, or a staff action. Use it to tag, re-segment or alert your team.

Don't use it to send a farewell message. They've just told you to stop, and you're no longer permitted to message them on WhatsApp anyway.

Review Submitted tells you the rating, so you can branch: thank the 5-star reviewers, and route the 1-star ones straight to a human before they post it publicly elsewhere.

The 24-hour service window

This decides what kind of message each trigger can send, and it's the thing that catches everyone out once.

A normal, free-typed message can only be delivered inside an open 24-hour window — the 24 hours after the customer messaged you. An approved template can be sent any time.

24-hour service window openCustomer messages+24hwindow closedService MessagedeliversService MessageblockedTemplate Messagedelivers any time
Free-form messages are deliverable only inside the 24-hour window a customer message opens. Approved templates can be sent at any time.

A window is open when:

  • The trigger is a conversation trigger — the customer just messaged you, so it's already open.
  • Or a template earlier in the same flow opened one and the customer replied.

What this means in practice: a flow triggered by Order Fulfilled can't start with a free-typed message. The customer hasn't messaged you, so no window exists. Start it with an approved template instead.

The builder flags this before you publish, so you'll be warned rather than discovering it from a customer.

Which triggers you get

All of them, on every plan, including Free. What changes by plan is how many workflow runs you get per month — see Plans and limits.

Ad-click triggers are the one exception: those need a paid plan.

Next steps

On this page