Build, deploy, and activate a Shopify Function for delivery customization
domain: shopify.dev · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
In-depth guide
Shopify GraphQL Admin API rate limits — the full failure-mode walkthrough related to shopify.dev, checked against official docs, with linked verified routes.
Steps
Scaffold the Function extension with the Shopify CLI using `shopify app generate extension` and select the delivery customization type.
Implement the Wasm module logic (rename/hide/reorder delivery options) keeping total execution within the ~11M Wasm instruction limit.
Deploy the app to get a stable function handle; from API version 2025-10 onward use the function handle directly instead of querying for a function ID.
Call the `deliveryCustomizationCreate` mutation with `functionHandle`, `title`, and `enabled: true` to create and immediately activate the customization in one step.
To update an existing customization's active state, call `deliveryCustomizationUpdate` with `enabled: true` or `enabled: false`; there is no separate activation mutation.
Verify activation by querying `deliveryCustomizations` and checking that `enabled` is true on the returned object.
Known gotchas
There is no mutation named `deliveryCustomizationActivate` or `deliveryCustomizationActivation` — activation is controlled solely by the `enabled` field on create/update mutations.
Each API type supports up to 25 active customizations per store (raised from 5 in May 2025); exceeding this limit returns a user error, not a silent failure.
The Function resource limit is an instruction count (~11M Wasm instructions), not a CPU-millisecond budget — profile against instruction count, not wall time.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?