🚧 Pre-launch — building in public

Workflow automation
built for Shopify.

Visually automate your store's operations — no code, no dev ops, no headaches. Connect triggers, steps, and AI in a canvas made for merchants.

Vibe coding gets you halfway there.

AI can write the automation logic in seconds. But shipping it — hosting, scaling, monitoring, retries, logs — is still a real infrastructure problem most merchants can't (and shouldn't have to) solve themselves.

  • No infrastructure to manage. Hosting, retries, and run logs are handled for you.
  • Real code when you need it. A full Lua step and expressions cover anything the canvas can't.
  • AI built in. Drop a Gemini step into any workflow — no separate integration to wire up.
  • Shopify-native. Triggers and steps speak the Admin API directly, with ready-made event presets.

A real scripting language, one step away.

Most automation tools stop at simple expressions. Flixir's Lua step runs actual Lua — loops, conditionals, string and table manipulation — with your workflow's data passed straight in as variables, and its return value passed straight back out as JSON.

  • A full language, not a sandboxed subset. Loops, conditionals, and functions — anything an expression can't express.
  • Variables in, structured data out. Arrays and objects convert to Lua tables automatically, and whatever you return comes back as JSON for the next step.
  • Failures stay contained. Errors are caught and surfaced in the run log — a bad script fails its step, not the whole workflow.
  • Reach for it only when you need to. Everything else in the workflow stays visual.
Read the Lua script step docs →
-- sum line items, apply a bulk discount
local total = 0

for i, item in ipairs(order_items) do
  total = total + item.price * item.quantity
end

if total > 200 then
  total = total * 0.9
end

return { total = total, currency = "USD" }

Trigger, decide, act — in one canvas.

Every workflow starts with a trigger and flows through steps that read, decide, and act on your data. Here's a small one: notify your team when a high-value product changes, with an AI-written summary attached.

true false no action taken TRIGGER Shopify Product Updated STEP Condition price > 50 STEP Gemini Write a summary STEP HTTP Request Notify the team

The condition's branch reads gt(trigger.payload.price, 50) — see the Expressions guide for the full syntax.

Everything you need, out of the box.

4 triggers and 7 steps ship with every workflow — no extra integrations to install.

Triggers

A real expression language, when you need it.

  • Reference trigger, steps.*, tenant, env, and loop data directly in any expression-aware field.
  • Built-in functions for date.*, str.*, math.*, and boolean logic like eq, gt, and.
  • jsonpath(...) for reaching into nested objects and arrays.
  • Secrets and workspace variables via secrets.KEY and vars.KEY — never logged when they shouldn't be.
  • A Monaco-based editor with syntax highlighting and autocomplete for every function, step, and field.
Read the Expressions guide →
and(
  eq(trigger.title, "Product Updated"),
  gt(
    jsonpath(steps.http_call_a, "$.response.status"),
    199
  )
)