Enscale Docs
Automation

Workflows

Build Shopify and messaging automations with Enscale's visual workflow builder.

Workflows automate customer messaging around Shopify events, conversations, ads, and reviews. You build them by dropping nodes on a canvas and connecting them.

What a workflow is made of

Every workflow is one trigger followed by any number of nodes.

  • The trigger is the event that starts the flow — an order, a comment, an inbound message.
  • The nodes are the steps that follow — send a message, wait, branch, look something up, hand off to an agent.
FulfillmentUpdated (trigger)Conditionstatus = deliveredWait2 daysFetch review linksigned URLTemplateWhatsApp
A post-purchase review request: one trigger, a condition that narrows it, a delay, a lookup, and a template message.

Enscale gives you raw events rather than pre-packaged recipes. There is no single "abandoned checkout" trigger; you build it from Checkout Created plus a condition on {{trigger.completed_at}}. That's slightly more work the first time, and it means the rule is yours rather than a guess.

Build your first workflow

The best starting point is a post-purchase review request. It's short, it's safe, and it introduces triggers, waits, lookups, and templates all at once.

Create the workflow

Go to Workflows in the Enscale app and create a new workflow. You land in the builder with an empty canvas.

Pick the trigger

Choose Fulfillment Updated, then add a Condition node checking {{trigger.shipment_status}} equals delivered.

That combination is "order delivered" — Shopify has no dedicated delivered event.

Wait

Add a Wait / Delay node set to 2 days. Asking for a review the moment a parcel lands rarely works.

Add a Fetch review link node. It produces a signed URL tied to this customer and product, which is what makes the resulting review show as a verified purchase.

Send the message

Add a Template Message node with an approved WhatsApp template, and insert the review link variable into it.

It must be a template, not a Service Message — no customer message opened a 24-hour service window here. See the service window rule.

Test, then publish

Use the builder's preview to walk the flow with sample data. When it looks right, publish it.

Workflow states

StateMeaning
DraftSaved but never published. Does not run.
ActivePublished and running against live events.
InactivePublished previously, currently paused. Does not run.

Deactivating a workflow stops new runs. Runs already in flight — for example, one sitting in a 2-day wait — continue to completion.

What counts as a workflow run

One run is one full execution, from trigger to final node, no matter how many steps it contains.

  • One abandoned-checkout recovery sequence for one shopper = 1 run.
  • One review request for one order = 1 run.
  • One comment-to-DM automation for one comment = 1 run.

A ten-node flow and a two-node flow both count as one run. Your monthly allowance depends on your plan — see Plans and limits.

Safety rules Enscale enforces

These run automatically on every workflow. You do not need to build them yourself.

  • Consent. WhatsApp actions check opt-in before sending. Contacts who opted out are skipped.
  • Unsubscribes. Broadcast-style actions respect unsubscribe status.
  • Service window. Free-form messages are blocked outside an open 24-hour window rather than failing silently at the provider.
  • Plan limits. Runs are checked against your remaining allowance before they start.
  • Deduplication. Related Shopify events that describe the same thing collapse into a single run, so a checkout that fires both a create and an update webhook does not message the customer twice.

When automations pause

If you exhaust your monthly workflow-run allowance, Enscale warns you at 80%, then again at 100%. Hitting 100% starts a 72-hour grace period during which automations keep running.

After the grace period, workflow runs and broadcast sending pause until you upgrade or the month resets on the 1st.

Your inbox is never affected by this. Manual replies, conversation history, and contacts stay fully available. See Billing and usage.

Troubleshooting

ProblemWhat to check
Flow never runsIs it Active, not Draft? Does the Shopify webhook topic for your trigger exist — see Webhook reference.
Message not deliveredFree-form message outside the 24-hour window, or the contact lacks WhatsApp opt-in.
Template not availableTemplate is pending, rejected, or paused at Meta. See Message templates.
Runs stopped entirelyCheck whether your workflow-run allowance is exhausted and the grace period has ended.
Variable renders emptyThe path doesn't exist on that trigger's payload. See Variables.
Fetch Order Checkout errorsIt needs an order ID. It cannot resolve an abandoned checkout token.

Next steps

On this page