# Workflow Functions

Run your own JavaScript as a Shopify Flow action: transform data, update your store, call APIs, connect your ERP. 85 templates, schedules, EU-hosted.

## Run custom functions inside Shopify Flow

Run your own JavaScript as a step in Shopify Flow: transform data, calculate values, read and update your store, call external APIs. Start from 85 templates, connect your ERP, run on a schedule - without hosting any code yourself.

- JavaScript
- 85 templates
- ERP integration
- Store secrets
- Scheduled runs
- EU-hosted

## From install to first function in minutes

1. **Install the app** - One-click install from the Shopify App Store. The free tier includes every function capability.
2. **Write your function** - Write a function in JavaScript, store any secrets it needs, and test it right inside the app.
3. **Add it to Flow** - Drop the function step into any Shopify Flow workflow and use its output in the next steps.

## Custom logic, right inside Shopify Flow

Write a function, run it as a Shopify Flow step, use its output downstream. No server to host, no external service to maintain.

- **Your own JavaScript in Shopify Flow** - Write a function and run it as a step inside Shopify Flow. For the logic Flow's own conditions cannot express: custom pricing maths, string parsing, multi-step decisions.
- **Custom outputs for the next step** - Return structured outputs from your function and use them directly in the following Flow actions. Process lists, reshape payloads, and pass computed values downstream.
- **Editor with instant test** - Code and a test bench side by side: run the function against sample input, saved or not, and read output and logs next to it. Completion and ready-made snippets included.
- **85 verified templates** - Start from a finished function instead of an empty editor. Templates are searchable by category and by how they run, and using one creates an editable function with working sample data.
- **Connect your ERP or warehouse** - Your ERP calls one HTTPS endpoint per function and gets the result back in the response. Templates cover stock, prices, products, locations and orders by SKU - without a second app.
- **Read and update store data** - Functions can query and change store data through a mediated Admin GraphQL proxy, with short-lived per-run tokens - your access token never enters the sandbox.
- **Secrets and external APIs** - Store API keys once, encrypted and never readable back, and call any external API from your function through a guarded network path.
- **Storage between runs** - A key-value store that survives between runs: sync cursors, handled-event markers, small lookup tables. Browse keys and values on the Storage page.
- **Scheduled runs** - Run a function on a cron schedule, without a Shopify Flow trigger, for recurring clean-ups, reports and syncs.
- **Version history and GitHub sync** - Every code change is kept as a version you can restore. Connect a GitHub repository and each save commits, while a push updates the function.
- **Generate functions with AI** - Describe what the function should do and get a first version to edit, or change existing code with a request. Uses your own Anthropic, OpenAI, Gemini or OpenRouter key.
- **Developer API and MCP** - Create, test and run functions from your own tools through a REST API and an MCP server, including the template library and version restore.

## Guides and tutorials

Step-by-step guides from the documentation, from the first function to an ERP integration.

- [How to create a function](https://docs.workflow-functions.app/how-to-create-a-function) - write, test and save your first function
- [Set up the Run Function action in Shopify Flow](https://docs.workflow-functions.app/set-up-the-run-function-action-in-shopify-flow) - use a function as a workflow step
- [Using templates](https://docs.workflow-functions.app/using-templates) - start from one of 85 verified templates
- [Example functions](https://docs.workflow-functions.app/examples) - real functions to copy
- [Connect your ERP or warehouse system](https://docs.workflow-functions.app/erp-integration) - stock, prices and orders over one endpoint
- [Permissions and store data access](https://docs.workflow-functions.app/permissions-and-store-data-access) - read and update store data from code
- [Storage for your functions](https://docs.workflow-functions.app/storage) - remember values between runs
- [Run a function on a schedule](https://docs.workflow-functions.app/scheduled-functions) - cron jobs without a workflow
- [Generate functions with AI](https://docs.workflow-functions.app/generate-with-ai) - from a description to working code
- [Sync your functions to GitHub](https://docs.workflow-functions.app/github-sync) - version and review your code

Everything else is in the [documentation](https://docs.workflow-functions.app), and the [changelog](https://docs.workflow-functions.app/changelog) shows what is new.

## Simple, usage-based pricing

Start free. Pay annually and save 8%.

### Free - $0 /month

Try it out

- 500 Function Runs per month
- Support via E-Mail, WhatsApp or Slack

### Starter - $25 /month

Small stores

- 5000 Function Runs per month
- Support via E-Mail, WhatsApp or Slack

### Grow - $50 /month

Active stores

- 15000 Function Runs per month
- Support via E-Mail, WhatsApp or Slack

### Unlimited - $100 /month

Enterprise + agencies

- Unlimited Function Runs
- Support via E-Mail, WhatsApp or Slack

## FAQs

**Do I need to host my own code?**

No. You write your function in JavaScript and it runs inside Shopify Flow on our infrastructure - no server, no external service to host or maintain.

**What can a function do?**

Transform data, calculate values, format text, process lists, evaluate conditions, and build custom outputs for the next steps in your Flow. If you can express it in JavaScript, you can run it.

**Can my function use secrets like API keys?**

Yes. You can securely store secrets (such as API keys or credentials) that your functions need. Secrets are encrypted at rest with Google Cloud KMS.

**Where does my code run and where is data stored?**

Functions run on Google Cloud in the EU (europe-west1, Belgium), encrypted at rest with Google Cloud KMS. No data leaves Europe.

**Is the app GDPR-compliant?**

Yes. EU-only data residency, signed DPA on request, no third-party tracking on this site. Full details in our Privacy Policy.

**Can I run a function on a schedule?**

Yes. Besides running as a Shopify Flow action, a function can run on a cron schedule you set in the app.

**Can my function read or update store data?**

Yes. Functions reach the Admin GraphQL API through a mediated proxy with short-lived per-run tokens; the store's access token never enters the sandbox.

**Can my ERP or warehouse system call a function directly?**

Yes. Every function has its own HTTPS endpoint: your system sends a request and gets the function's output back in the response. Verified templates cover stock, prices, products, locations and orders by SKU. See Connect your ERP or warehouse system.

**Are there templates to start from?**

Yes, 85 of them, searchable by category and by how they run (API, Shopify Flow or schedule). Using a template asks for the permissions it needs and creates an editable function with working sample data. See Using templates.

**Can a function remember data between runs?**

Yes. Storage for your functions is a key-value store that survives between runs, shared by all functions of your shop - for sync cursors, handled-event markers and small lookup tables.

**What happens when I use more runs than my plan includes?**

By default further runs are blocked until usage drops back under the allowance. You can instead allow extra runs, billed per run as a Shopify usage charge, with a cap you set yourself.

## Custom logic, right inside Flow

Install free and run your first function in minutes.

---

- [Imprint](https://workflow-functions.app/imprint.md)
- [Terms](https://workflow-functions.app/terms.md)
- [Privacy](https://workflow-functions.app/privacy.md)
- [DPA](https://workflow-functions.app/dpa.md)
