App update, September 2026: custom triggers, synchronous webhooks and AI-written functions
September 2, 2026
This is our monthly app update, also sent by email at the start of each month. A lot has shipped across the four Workflow apps since the start of August, so here is the short version, app by app.
Workflow Webhooks
Your Flow workflow can now answer the caller. Switch on Synchronous response and the webhook holds the request open until your workflow sends data back, then returns it - typically in two to four seconds. Build the workflow on the new Sync Webhook Trigger and finish it with the new Return Webhook Response action. Off by default, so nothing changes until you turn it on. Read the guide
Duplicate delivery protection. Tell us which header your sending system uses for its unique event id, and repeats within 24 hours get a normal 200 without running your Flow a second time. Suppressed duplicates do not count toward your plan limit. Read the guide
Developer API and MCP. Create scoped API keys and manage your webhooks from your own code, or connect an AI assistant like Claude or Cursor and do it in conversation. Read the guide
Nine new documentation pages, covering everything from your first webhook to every rejection code.
Workflow Trigger Extensions
Build your own Flow trigger
This is the biggest thing we have built for this app, so it is worth a minute of your time.
Until now, a trigger either existed or it did not. If none of the 83 built-in triggers matched what you needed, that was the end of the conversation. Now you build your own, and it sits in Shopify Flow next to the built-in ones.
Pick a Shopify event, capture a real payload from your own store, and write a small JavaScript function that decides two things: whether to fire at all, and exactly what to send Flow. It is not a rule builder with dropdowns. It is real code, tested against a real payload from your store, with the output and the logs side by side while you write it.
Three things that make it more useful than it first sounds:
- Fire on your conditions, not ours. Not "any product updated" - only orders above a value, only one vendor's products, only the change you actually care about. Your workflows stop waking up for events they were only going to discard.
- Send Flow the shape you want. Flatten a nested object, compute a value, rename fields to match your workflow. Your trigger hands Flow exactly the fields it needs.
- Pull in data the event does not carry.
ctx.shopify()runs an Admin GraphQL query from inside your trigger, so you can enrich a bare webhook with anything in your store before it reaches Flow.
Your code shows up in Shopify Flow as Custom Trigger, filtered by its handle, so one workflow reacts to exactly one of your triggers.
Worth being straight about the allowance: your code runs on every event of the type it listens to, and each run counts as one event, including the ones you filter out. It costs exactly what the built-in trigger on the same event costs, so you are not charged extra for filtering, and testing is always free.
Connect GitHub and keep that code in your own repository. Connect a repository and your custom triggers are pushed to it automatically. Edit a file in your own editor and the change comes back into the app. Every version is a commit, so a change is reviewable and reversible, and you can roll back to any earlier version from the app.
Settings is now one Triggers page. The nine tabs are gone. Every trigger lives on one searchable page with its own switch, and one rule applies everywhere: a trigger fires while its switch is on. Bulk enable and disable included, and nothing you had configured changed. Read the guide
Simulate a trigger from Event History instead of editing a product or placing an order to test a workflow. Dry run previews the payload without firing anything, and simulated events stay out of your statistics and your plan.
Developer API and MCP. Read your trigger setup and event history from your own code or an AI assistant, and simulate a trigger without touching your store. Read the guide
Also: Event History that loads instantly on stores with millions of events, and baseline sync that now starts by itself.
Workflow Transactional Email
Know your email is right before a customer tells you it is not. Every layout now has inbox preview text. History badges any send where a variable rendered blank and names exactly which ones, separating "sent by Flow but empty" from "not sent by Flow at all". And a Use in Shopify Flow card writes the Variables JSON for you, with all the key names already correct. Preview text - Passing data from Flow
Links in the rich text editor work the way you expect. Highlight text to link it, with a Remove link option. An email address becomes a mailto link, a phone number dials, and a bare domain opens as a normal web address.
Developer API and MCP. Manage your HTTP request actions from your own code or an AI assistant, which can write one for you that references your existing secrets by name. Secret values, SMTP passwords and OAuth tokens can never be read back at any access level. Read the guide
Also: line breaks in headers and footers, a separate Block Padding (top and bottom) control for tighter layouts, and deletes that no longer get blocked by a stale Flow reference.
Workflow Functions
Keep your functions in GitHub. Sync both ways: saving in the app commits the file, pushing to GitHub updates the function. Every function is its own file with a real commit history, and the editor gets a Version dropdown to load any past version. Read the guide
Run on a schedule. Cron schedules with no Flow trigger needed, from every few minutes to daily. The editor tells you how many runs that works out to against your plan. Read the guide
Write functions with AI. Add your own Anthropic or OpenAI key and describe what you want in plain English. AI drafts the code, sample variables, the permissions it needs, and even the schedule. Read the guide
Extra runs. Stay on your current plan and keep running past your included monthly allowance, billed per run, with an optional safety cap. Off by default, and test, manual and API runs are always free. Read the guide
Developer API and MCP. Manage and run your functions from your own code or an AI assistant. Read the guide
The pattern across all four: every Workflow app now has a REST API and an MCP server behind scoped API keys, so your whole Flow stack can be managed from your own code or from an AI assistant. Look for the Developer page inside each app.
The four Workflow apps
If you are not running all of them, here is what each one does. More detail on Our apps.
Workflow Webhooks - trigger Flow from any external system, and send a reply back. App Store - Documentation - Release notes
Workflow Trigger Extensions - 83 triggers Flow does not have natively, plus your own. App Store - Documentation - Release notes
Workflow Transactional Email - branded email and HTTP requests from Flow, on any Shopify plan. App Store - Documentation - Release notes
Workflow Functions - run your own JavaScript or TypeScript as a step in Flow. App Store - Documentation - Release notes
We send one of these a month - the next lands at the start of October. If something is not working, or there is a trigger or action you wish existed, write to [email protected]. It reaches us directly.
