Changelog

Latest updates and improvements.

Workflow Functions now speaks your language

Workflow Functions now follows the language you use in the Shopify admin. Besides English, the app is available in:

  • German, Spanish, French, Italian, Dutch and Danish
  • Portuguese (Brazil and Portugal)
  • Japanese
  • Chinese (Simplified and Traditional)

Every page is translated: the dashboard, the editor and test bench, the run history, permissions, secrets, storage, the Developer page and the Run Function step settings in Shopify Flow. The names and descriptions of all 85 templates are translated too, so the gallery reads in your language. Dates and numbers follow your language as well.

Your own content stays as you wrote it. Function names, code, variables, run input, output and logs are never changed.

There is nothing to set up: change your language in your Shopify account settings and the app follows the next time you open it.

Connect your ERP, 85 templates and a new editor

The biggest release since launch. Workflow Functions can now be called straight from your ERP or warehouse system, and building a function got a lot faster.

Connect your ERP or warehouse to Shopify

Call a function from your ERP with one HTTPS request and get the result back in the response. 28 verified templates work by SKU:

  • Stock: set, adjust, read and transfer stock, and stock an item at a location.
  • Products: create or update products, product details, variant data, unit cost and customs data, price lists, discontinued items.
  • Locations: create and edit locations.
  • Orders: push or pull orders as sales-order documents, mark orders exported or paid, cancel orders.
  • Shipments: complete or partial by SKU, tracking numbers, holds, shipping from another location, cancelling a shipment.

New permissions for inventory, locations and fulfillment come with them, granted per resource on the Permissions page like the existing ones.

Search the gallery and filter by category and by how a template runs: from your ERP, from Shopify Flow or on a schedule. Each template shows the permissions and secrets it needs before you use it. See Using templates.

A new editor

  • Code and a test bench side by side. Run your code against your variables without saving first, and read the output and logs next to it.
  • Completion for ctx, secrets and input, and ready-made snippets.
  • A Run it tab with the function's API endpoint and a ready curl call.

Also in this release

  • Version history without GitHub. The last 25 versions of every function are kept, and any of them can be loaded back into the editor.
  • Duplicate a function, and see runs, success rate and last run for each function in the list.
  • Dashboard: your top functions and recent failures for the selected period.
  • Test with this input on a run's detail page opens the editor with that run's input.
  • Google Gemini and OpenRouter join Anthropic and OpenAI for writing functions with AI. Keys are checked when you save them, and the model list comes from your provider account. See Generate functions with AI.
  • Scheduled functions receive their saved variables as input, so a schedule can be configured without editing code.
  • The API and MCP server can list templates, create a function from a template, duplicate, list and restore versions, and set the schedule and saved variables. See Developer API and MCP.
  • A refreshed interface on Shopify's current admin components, and every page links to its guide in the help center.

Faster pages, smarter schedules and AI

Polish across the app alongside this release.

  • Faster, native-feeling pages. The whole app now uses Shopify's current admin components, so it looks and behaves like the rest of your Shopify admin.
  • Schedules without code changes. Scheduled functions receive their saved variables as input, so you can set a location or a threshold without editing code. See Run a function on a schedule.
  • AI knows your integration. The AI generator now knows the ERP operations (stock, products, prices, shipments) and the limits of a run. Keys are checked when you save them, and the model list is the provider's own list for your key.
  • Help on every page. Each page ends with a link to its guide in the help center.

ERP integration, 85 templates, storage and a new editor

Workflow Functions 2.0 turns your functions into an integration layer: your ERP or warehouse system can call them directly, functions can remember data between runs, and a much larger template library covers the common jobs.

Connect your ERP or warehouse system

Call a function from your ERP with one HTTPS request and get the result back in the response - no second app needed. 28 verified templates work by SKU: set, adjust, read and transfer stock, unit cost and customs data, locations, product create or update, prices, discontinued items, orders as sales-order documents, marking orders exported or paid, cancelling, and shipments (complete, partial by SKU, tracking, holds, shipping from another location). Every template that writes has a dry-run mode. See Connect your ERP or warehouse system.

New permissions

Inventory, locations and fulfillment are now their own permissions, granted per resource on the Permissions page, plus Shopify Files for publishing reports. See Permissions and store data access.

85 templates in a new gallery

Search, and filter by category and by how a template runs - from your ERP, from Shopify Flow or on a schedule. Each template shows the permissions and secrets it needs before you use it. See Using templates.

Storage for your functions

ctx.storage keeps data between runs: the position of the last sync, events that were already handled, snapshots to compare against. A new Storage page shows what is stored, and every plan includes storage. See Storage for your functions.

A new editor

Code and a test bench side by side: run your code against your variables without saving first and read the output and logs right next to it. Completion for ctx, secrets and input, ready-made snippets, and a Run it tab with the function's API endpoint and a ready curl call. See How to create a function.

Version history for every function

The last 25 versions of each function are kept - no GitHub needed - and any of them can be loaded back into the editor.

More ways to work

  • Duplicate a function, and see runs, success rate and last run per function in the list.
  • The dashboard shows your top functions and recent failures for the selected period.
  • Test with this input on a run's detail page opens the editor with that run's input.
  • Google Gemini and OpenRouter join Anthropic and OpenAI for writing functions with AI. See Generate functions with AI.
  • The Developer API and MCP server gain templates, create from a template, duplicate, versions and restore. See Developer API and MCP.

Schedules at a glance, smoother onboarding, and permission fixes

Polish across the app alongside this release.

  • Schedule column. The Functions list now shows each function's cadence in plain language - "Every 30 minutes", "Weekdays at 09:00 UTC" - so you can see what runs when at a glance. See Run a function on a schedule.
  • Guided setup for integrations. The dashboard setup guide gained optional steps to connect GitHub and an AI provider, each linking straight to the right place.
  • Fixed: permission prompts. Cancelling the grant dialog no longer shows a false "granted" message; granting from the editor asks you to save first so your unsaved edits aren't lost; and a function that only reads order discount amounts is no longer asked for the separate Discounts permission it doesn't need. See Permissions and store data access.

Run beyond your plan with Extra runs

Extra runs - pay only for what you go over

Stay on your current plan and keep functions running past your included monthly allowance, instead of upgrading to a bigger plan. Turn on Allow paid extra runs on the dashboard and, optionally, set a monthly safety cap. Any Flow or scheduled run above your plan's included allowance is then billed per your plan's usage pricing - only the extra runs count, and test, manual, and API runs are always free. Leave it off (the default) and runs above your allowance simply wait until your rolling 30-day window frees up. See Extra runs (pay as you go).

Create a function with AI

With an Anthropic (Claude) or OpenAI key connected, Create function now opens a prompt: describe what you want and AI drafts the code, sample variables, the permissions it needs, and even a schedule. Review it and save - just like starting from a template. See Generate functions with AI.

AI sets up permissions and schedules for you

When AI writes code that reads or changes store data, it now tells you exactly which permissions to grant - one click, right from the editor - and if you describe something recurring (for example "every 6 hours"), it turns on the matching schedule automatically.

Developer API, rate limits, and polish

Refinements alongside this release.

  • Developer API now runs on a dedicated hostname, and the Developer page documents its rate limits - a leaky-bucket model, the same approach Shopify uses - along with versioning. Limits are the same on every plan. See Developer API and MCP.
  • Latest Shopify Admin API: the app now uses the current Admin API version, keeping store-data access up to date.
  • Editor and API tidy-ups: a cleaner API index and a neater version picker in the code editor.

GitHub sync, AI generation, and scheduled runs

A big update - three new ways to build and run your functions.

Sync your functions to GitHub

Keep your code in your own repository, syncing both ways: saving in the app commits the file, and pushing a change back to GitHub updates the function - so the editor and the repo never drift apart. Each function is its own file with a real commit history, and the editor's Code tab gets a Version dropdown to load any past version. Connect from Developer -> Connections. See Sync your functions to GitHub.

Generate functions with AI

Describe what you want in plain English and let AI write it. Add your own Anthropic (Claude) or OpenAI key on Developer -> Connections (encrypted at rest, used only for generation, never injected into your functions), then use the Generate with AI box in the editor's Code tab. It's grounded in the Shopify Admin API and this app's runtime - review and test what it writes before you save. See Generate functions with AI.

Run functions on a schedule

Functions can now run on a cron schedule - every few minutes, hourly, daily - with no Shopify Flow trigger. Turn on Run on a schedule on the Settings tab and pick a preset or a custom crontab; the editor tells you how many runs that works out to and warns you if it exceeds your plan. Scheduled runs count toward your monthly quota and show up in history as Scheduled. See Run a function on a schedule.

A tidier Help page and a setup guide that remembers you

Small polish to the dashboard and Help page.

  • The setup guide remembers your choice. Collapse the setup guide on the dashboard and it stays collapsed on your next visit, instead of springing back open every time.
  • Refreshed Help page. The Help page now has quick links to the full documentation, our website, and system status, plus a one-click way to open Shopify Flow (or install it if it isn't set up yet). Step-by-step how-tos live in the docs.

Navigation, templates, and reliability fixes

Fixes across navigation, templates, and background processing.

  • Fixed a sign-in screen that could appear when opening pages such as Manage permissions from the dashboard - navigation now stays inside Shopify admin.
  • Verified templates now validate their input and show the exact reason a run failed instead of a cryptic error.
  • Test-data helpers now report the real reason a lookup could not run (for example a missing permission) instead of a generic "No matching resource found". See Permissions and store data access.
  • Hardened webhook handling: repeated deliveries are de-duplicated so nothing is processed twice, and data-deletion (GDPR) requests now reliably remove your stored secrets.

Templates and permissions that just work

A round of improvements to make templates, permissions, and secrets smoother and safer.

Grant and use a template in one step

  • Using a template now grants any permissions it needs before the function is created, so a template like "Tag a customer" is ready to run right away - no separate trip to the Permissions page first. See Using templates.

Verified templates

  • Templates from Code Creation Labs now carry a Verified badge so you can tell curated templates apart at a glance. Your own templates stay private to your store.

Secrets stay hidden

  • Any secret value your code prints is now masked in logs and output, down to a single character, so a secret can never leak into your run history. See Creating and using secrets.

Clearer test-data helpers

  • The Latest order and Latest customer buttons on the Variables tab now stay disabled until you grant the matching permission, with a tooltip telling you which one to enable. See Permissions and store data access.

Workflow Functions 1.0.0

Workflow Functions is here: run your own JavaScript or TypeScript as a step in Shopify Flow. This first release includes everything you need to build, test, and ship custom logic in your workflows.

Run your code from Flow

Read and write store data - safely

  • Call the Admin GraphQL API with ctx.shopify.graphql(...). Your access token never enters the sandbox. See Permissions and store data access.
  • Grant and revoke access per resource (Products, Orders, Customers, Discounts) yourself; functions auto-disable if a permission is removed.

Secrets

  • Store API keys and tokens encrypted, read them in code as secrets.NAME, and they are masked out of your run history. See Creating and using secrets.

Templates

  • Start from curated templates, and save or publish your own. See Using templates.

See everything

  • Full run history with input, output, logs, timing, and filters. See Run history and troubleshooting.
  • Email alerts for quota (80% and 100% of plan) and elevated failure rates.

For developers

  • A REST API and an MCP server to manage and run functions from your own code or an AI agent. See Developer API and MCP.

Plans

  • Free, Starter, Grow, and Unlimited. Every plan includes all features and unlimited functions; only monthly Flow run volume differs.

New here? Start with Introduction to Workflow Functions.

New

  • new
  • test
  • nice