# Mechanic

## Mechanic

- [Introduction](https://learn.mechanic.dev/readme.md): Mechanic is a Shopify automation platform — hundreds of ready-to-use tasks plus a Liquid development environment for custom workflows.
- [Getting started](https://learn.mechanic.dev/getting-started.md): Install Mechanic and set up your first Shopify automation in minutes.
- [Hire a Mechanic Partner](https://learn.mechanic.dev/hire-a-developer.md): Find a Shopify automation developer to build or customize Mechanic tasks — browse Mechanic Partners or bring your own developer.
- [I need something custom!](https://learn.mechanic.dev/custom.md): Build custom Shopify automations with Mechanic using Liquid, GraphQL, and HTTP — or hire a developer to build one for you.
- [Get help with a custom task](https://learn.mechanic.dev/custom-help.md): Get help with your custom Mechanic task — community Slack, developer hiring, and partner matchmaking.
- [Using AI with Mechanic](https://learn.mechanic.dev/ai.md): Use AI tools to write, preview, diff, and publish Shopify automation tasks in Mechanic — CLI, MCP server, Agent Skills, Sidekick, and ChatGPT.
- [Contact support](https://learn.mechanic.dev/support.md): Get help with Mechanic — contact support, ask our AI assistant, join Slack, or hire a developer.
- [Task library](https://learn.mechanic.dev/resources/task-library.md): Browse and install hundreds of pre-built Mechanic tasks for common Shopify automation workflows.
- [Contributing](https://learn.mechanic.dev/resources/task-library/contributing.md)
- [Requesting](https://learn.mechanic.dev/resources/task-library/requesting.md)
- [Custom webhook imports](https://learn.mechanic.dev/resources/task-library/custom-webhook-imports.md): Import files for library tasks that use custom Shopify webhooks
- [Local task development](https://learn.mechanic.dev/resources/mechanic-cli.md): Edit Mechanic tasks locally, preview and diff changes, and publish them safely with the Mechanic CLI.
- [API tokens and task sync API](https://learn.mechanic.dev/resources/mechanic-cli/mechanic-task-sync-api.md): Use Mechanic API tokens with the v1 API for trusted scripts, agents, CI, and the Mechanic CLI.
- [Mechanic MCP Server](https://learn.mechanic.dev/resources/mcp.md): Connect your AI coding tool to Mechanic's task library and documentation.
- [Mechanic Agent Skills](https://learn.mechanic.dev/resources/agent-skills.md): Install Mechanic task-writing and CLI workflow expertise into your AI coding tool.
- [Slack community](https://learn.mechanic.dev/resources/slack.md): Join the Mechanic Slack community to ask questions, share solutions, and connect with other developers and merchants.
- [Tutorials](https://learn.mechanic.dev/resources/tutorials.md): Step-by-step guides for building Mechanic tasks — from your first automation to advanced patterns.
- [Video walkthroughs](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs.md): Video tutorials for common Mechanic tasks — auto-tagging, inventory sync, email automation, and more.
- [Auto-tag orders by originating staff member](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/auto-tag-orders-by-originating-staff-member.md)
- [Maintain a tag for orders processed today](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/maintain-a-tag-for-orders-processed-today.md)
- [Auto-tag orders with their tracking numbers](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/auto-tag-orders-with-their-tracking-numbers.md)
- [Sync inventory for shared SKUs](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/sync-inventory-for-shared-skus.md)
- [Auto-tag products when their SKU(s) change](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/auto-tag-products-when-their-sku-s-change.md)
- [Auto-publish new products](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/auto-publish-new-products.md)
- [Email a report of customers who haven't ordered in X days](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/email-a-report-of-customers-who-havent-ordered-in-x-days.md)
- [Upgrading a Mechanic task: Adding a time delay](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/upgrading-a-mechanic-task-adding-a-time-delay.md)
- [Email the customer when tracking numbers are added to their order](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/email-the-customer-when-tracking-numbers-are-added-to-their-order.md)
- [Adding an optional time delay to your Mechanic task](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/adding-an-optional-time-delay-to-your-mechanic-task.md)
- [Delete all orders](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/delete-all-orders.md)
- [Send an email when a specific product is shipped](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/send-an-email-when-a-specific-product-is-shipped.md)
- [Send recurring reminders about unpaid orders](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/send-recurring-reminders-about-unpaid-orders.md)
- [Send an email when a product's price goes below its cost](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/send-an-email-when-a-products-price-goes-below-its-cost.md)
- [Auto-tag customers by sales channel](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/auto-tag-customers-by-sales-channel.md)
- [Creating products in bulk](https://learn.mechanic.dev/resources/tutorials/video-walkthroughs/creating-products-in-bulk.md)
- [Your first custom task](https://learn.mechanic.dev/resources/tutorials/your-first-custom-task.md): Build your first Mechanic task from scratch — a step-by-step tutorial for auto-tagging high-value Shopify orders.
- [Creating a Mechanic webhook](https://learn.mechanic.dev/resources/tutorials/creating-a-mechanic-webhook.md)
- [Practicing writing tasks](https://learn.mechanic.dev/resources/tutorials/practicing-writing-tasks.md)
- [Triggering tasks from a contact form](https://learn.mechanic.dev/resources/tutorials/triggering-tasks-from-a-contact-form.md)
- [Creating scheduled CSV feeds](https://learn.mechanic.dev/resources/tutorials/creating-scheduled-csv-feeds.md)
- [Running bulk operation mutations](https://learn.mechanic.dev/resources/tutorials/bulk-operation-mutations.md): Run Shopify bulk operation mutations from a Mechanic task using staged JSONL uploads.
- [Fetching data from a shared Google sheet](https://learn.mechanic.dev/resources/tutorials/fetching-data-from-a-shared-google-sheet.md)
- [Query analytics data with ShopifyQL](https://learn.mechanic.dev/resources/tutorials/query-analytics-data-with-shopifyql.md): Analytics is a powerful reporting tool available to all merchants on Shopify. Mechanic can utilize the same ShopifyQL queries that generate those reports.
- [Converting tasks from Shopify REST to GraphQL](https://learn.mechanic.dev/resources/converting-tasks-from-shopify-rest-to-graphql.md): Step-by-step guides for migrating Mechanic tasks from Shopify's deprecated REST API to GraphQL.
- [Conversion: Single resource lookups](https://learn.mechanic.dev/resources/converting-tasks-from-shopify-rest-to-graphql/conversion-single-resource-lookups.md)
- [Conversion: Resource loops to paginated queries](https://learn.mechanic.dev/resources/converting-tasks-from-shopify-rest-to-graphql/conversion-resource-loops-to-paginated-queries.md)
- [Conversion: Connections from a resource](https://learn.mechanic.dev/resources/converting-tasks-from-shopify-rest-to-graphql/conversion-connections-from-a-resource.md)
- [Conversion: Metafield lookups from a resource](https://learn.mechanic.dev/resources/converting-tasks-from-shopify-rest-to-graphql/conversion-metafield-lookups-from-a-resource.md)
- [Conversion: Resource lookups in task option fields](https://learn.mechanic.dev/resources/converting-tasks-from-shopify-rest-to-graphql/conversion-resource-lookups-in-task-option-fields.md)
- [Events](https://learn.mechanic.dev/core/events.md): Events are triggers that start Mechanic tasks — Shopify webhooks, schedules, or custom sources.
- [How event topics work](https://learn.mechanic.dev/core/events/topics.md): Reference for Mechanic event topics — Shopify webhook events, scheduled events, user-triggered events, and custom event topics.
- [Parent and child events](https://learn.mechanic.dev/core/events/parent-and-child-events.md)
- [Tasks](https://learn.mechanic.dev/core/tasks.md): Tasks are the building blocks of Shopify automation in Mechanic — Liquid code that responds to events and performs actions like tagging, emailing, and syncing data.
- [Subscriptions](https://learn.mechanic.dev/core/tasks/subscriptions.md): Configure Mechanic task subscriptions to respond to Shopify webhooks, scheduled events, and custom triggers — with optional time delays.
- [Code](https://learn.mechanic.dev/core/tasks/code.md): Write task code in Mechanic's Liquid environment — render actions, logs, and errors in response to events.
- [Environment variables](https://learn.mechanic.dev/core/tasks/code/environment-variables.md)
- [Action objects](https://learn.mechanic.dev/core/tasks/code/action-objects.md)
- [Error objects](https://learn.mechanic.dev/core/tasks/code/error-objects.md)
- [Log objects](https://learn.mechanic.dev/core/tasks/code/log-objects.md)
- [Options](https://learn.mechanic.dev/core/tasks/options.md): Add user-facing configuration to your Mechanic tasks — input fields, validation flags, and custom option types.
- [Custom validation](https://learn.mechanic.dev/core/tasks/options/custom-validation.md)
- [Previews](https://learn.mechanic.dev/core/tasks/previews.md): Test Mechanic tasks safely before they run on real data — preview actions, request Shopify permissions, and define sample events.
- [Defining preview events](https://learn.mechanic.dev/core/tasks/previews/events.md)
- [Stub data](https://learn.mechanic.dev/core/tasks/previews/stub-data.md)
- [Shopify API version](https://learn.mechanic.dev/core/tasks/shopify-api-version.md)
- [Permissions](https://learn.mechanic.dev/core/tasks/permissions.md): How Mechanic determines Shopify API access scopes from your task code — automatic detection and explicit declarations.
- [Advanced settings](https://learn.mechanic.dev/core/tasks/advanced-settings.md): Per-task configuration beyond code and options — documentation, JavaScript, and action sequencing.
- [Documentation](https://learn.mechanic.dev/core/tasks/advanced-settings/documentation.md)
- [JavaScript](https://learn.mechanic.dev/core/tasks/advanced-settings/javascript.md)
- [Perform action runs in sequence](https://learn.mechanic.dev/core/tasks/advanced-settings/perform-action-runs-in-sequence.md)
- [Import and export](https://learn.mechanic.dev/core/tasks/import-and-export.md): Share and back up Mechanic tasks as JSON — import individually or in bulk, and contribute to the task library.
- [User Form](https://learn.mechanic.dev/core/tasks/user-form.md): Create custom input forms for manually-triggered Mechanic tasks — collect user input and pass it to your task code.
- [Actions](https://learn.mechanic.dev/core/actions.md): Actions are how Mechanic tasks make changes — Shopify mutations, emails, HTTP requests, file generation, and more.
- [Cache](https://learn.mechanic.dev/core/actions/cache.md)
- [Echo](https://learn.mechanic.dev/core/actions/echo.md)
- [Email](https://learn.mechanic.dev/core/actions/email.md): Send automated transactional emails from Shopify using Mechanic — HTML templates, attachments, and custom sender domains.
- [Event](https://learn.mechanic.dev/core/actions/event.md)
- [Files](https://learn.mechanic.dev/core/actions/files.md)
- [FTP](https://learn.mechanic.dev/core/actions/ftp.md): Upload and download files via FTP, FTPS, or SFTP.
- [HTTP](https://learn.mechanic.dev/core/actions/http.md): Make HTTP requests from Mechanic tasks to call external APIs, send webhooks, and integrate Shopify with third-party services.
- [Shopify](https://learn.mechanic.dev/core/actions/shopify.md): Run Shopify GraphQL mutations from Mechanic tasks — create orders, update products, manage customers, and more via the Shopify action.
- [Integrations](https://learn.mechanic.dev/core/actions/integrations.md): Connect Mechanic tasks to third-party services — Airtable, Google Sheets, Slack, Shopify Flow, and more.
- [Airtable](https://learn.mechanic.dev/core/actions/integrations/airtable.md)
- [Flow](https://learn.mechanic.dev/core/actions/integrations/flow.md)
- [Google](https://learn.mechanic.dev/core/actions/integrations/google.md)
- [Google Drive](https://learn.mechanic.dev/core/actions/integrations/google-drive.md)
- [Google Sheets](https://learn.mechanic.dev/core/actions/integrations/google-sheets.md)
- [Report Toaster](https://learn.mechanic.dev/core/actions/integrations/report-toaster.md)
- [Slack](https://learn.mechanic.dev/core/actions/integrations/slack.md)
- [File generators](https://learn.mechanic.dev/core/actions/file-generators.md): Generate files from Mechanic tasks — PDF, CSV, ZIP, plaintext, and base64 formats for attachments and downloads.
- [Base64](https://learn.mechanic.dev/core/actions/file-generators/base64.md)
- [PDF](https://learn.mechanic.dev/core/actions/file-generators/pdf.md): Generate PDF files from HTML in Mechanic tasks — invoices, packing slips, receipts, and reports with modern CSS and web fonts.
- [Plaintext](https://learn.mechanic.dev/core/actions/file-generators/plaintext.md)
- [URL](https://learn.mechanic.dev/core/actions/file-generators/url.md)
- [ZIP](https://learn.mechanic.dev/core/actions/file-generators/zip.md)
- [Runs](https://learn.mechanic.dev/core/runs.md): Mechanic processes Shopify automations as runs — event runs, task runs, and action runs move through queues for reliable execution.
- [Scheduling](https://learn.mechanic.dev/core/runs/scheduling.md)
- [Concurrency](https://learn.mechanic.dev/core/runs/concurrency.md)
- [Ordering](https://learn.mechanic.dev/core/runs/ordering.md)
- [Retries](https://learn.mechanic.dev/core/runs/retries.md)
- [Reading and Writing to Shopify](https://learn.mechanic.dev/core/shopify.md): How Mechanic Shopify automation tasks read and write store data — inline GraphQL queries for reads, and Shopify actions for mutations.
- [Responding to events](https://learn.mechanic.dev/core/shopify/events.md): Respond to Shopify webhooks in Mechanic — subscribe to store activity and handle changes to orders, products, customers, and more.
- [Reconciling missing events](https://learn.mechanic.dev/core/shopify/events/reconciling-missing-events.md)
- [Reading data](https://learn.mechanic.dev/core/shopify/read.md): Read Shopify store data in Mechanic tasks — GraphQL queries and the shopify Liquid filter.
- [Liquid objects](https://learn.mechanic.dev/core/shopify/read/liquid-objects.md)
- [GraphQL in Liquid](https://learn.mechanic.dev/core/shopify/read/graphql-in-liquid.md): Query the Shopify GraphQL Admin API directly in Liquid using Mechanic's shopify filter — read orders, products, customers, and more inline during task execution.
- [The Shopify action](https://learn.mechanic.dev/core/shopify/read/the-shopify-action.md)
- [Writing data](https://learn.mechanic.dev/core/shopify/write.md)
- [Bulk operations](https://learn.mechanic.dev/core/shopify/bulk-operations.md)
- [Shopify admin action links](https://learn.mechanic.dev/core/shopify/admin-action-links.md): Use these access points within the Shopify admin to send resources like orders and customers to Mechanic for processing.
- [API rate limit](https://learn.mechanic.dev/core/shopify/api-rate-limit.md)
- [API versions](https://learn.mechanic.dev/core/shopify/api-versions.md)
- [Policies](https://learn.mechanic.dev/platform/policies.md): Mechanic's operational policies — data retention, subscription plans, pricing, and privacy practices.
- [Data](https://learn.mechanic.dev/platform/policies/data.md)
- [Plans](https://learn.mechanic.dev/platform/policies/plans.md)
- [Pricing](https://learn.mechanic.dev/platform/policies/pricing.md)
- [Privacy](https://learn.mechanic.dev/platform/policies/privacy.md)
- [Cache](https://learn.mechanic.dev/platform/cache.md): Store and retrieve data between Mechanic task runs using the key-value cache — with configurable expiration up to 60 days.
- [Cache endpoints](https://learn.mechanic.dev/platform/cache/endpoints.md)
- [Globals and secrets](https://learn.mechanic.dev/platform/globals-and-secrets.md): Store reusable shop-level configuration as visible globals and write-only secrets.
- [Email](https://learn.mechanic.dev/platform/email.md): Send automated emails from Mechanic — templates, custom domains, DMARC, and receiving inbound email.
- [Receiving email](https://learn.mechanic.dev/platform/email/receiving-email.md)
- [Custom email addresses](https://learn.mechanic.dev/platform/email/custom-email-domain.md)
- [DMARC](https://learn.mechanic.dev/platform/email/dmarc.md)
- [Email templates](https://learn.mechanic.dev/platform/email/templates.md): Configure reusable Mechanic email templates for transactional email actions, including shared layouts and custom Liquid variables.
- [Error handling](https://learn.mechanic.dev/platform/error-handling.md): Get actionable visibility into event, task, and action errors
- [Events](https://learn.mechanic.dev/platform/events.md): Mechanic event sources, topics, and filters — Shopify webhooks, scheduled events, custom triggers, and more.
- [Event topic list](https://learn.mechanic.dev/platform/events/topics.md): A complete index
- [Event filters](https://learn.mechanic.dev/platform/events/filters.md)
- [GraphQL](https://learn.mechanic.dev/platform/graphql.md): Use Shopify's GraphQL Admin API in Mechanic Shopify automation tasks to read and write store data — orders, products, customers, metafields, and more.
- [Basics](https://learn.mechanic.dev/platform/graphql/basics.md): GraphQL fundamentals for Mechanic — queries, mutations, pagination, and the Shopify Admin API.
- [Shopify Admin API GraphiQL explorer](https://learn.mechanic.dev/platform/graphql/basics/shopify-admin-api-graphiql-explorer.md)
- [Queries](https://learn.mechanic.dev/platform/graphql/basics/queries.md)
- [Mutations](https://learn.mechanic.dev/platform/graphql/basics/mutations.md)
- [Pagination](https://learn.mechanic.dev/platform/graphql/basics/pagination.md)
- [Bulk operations](https://learn.mechanic.dev/platform/graphql/bulk-operations.md)
- [Integrations](https://learn.mechanic.dev/platform/integrations.md): Connect Mechanic to third-party services like Google Sheets, Airtable, Slack, and more.
- [Airtable](https://learn.mechanic.dev/platform/integrations/airtable.md)
- [Appstle Subscriptions](https://learn.mechanic.dev/platform/integrations/appstle-subscriptions.md)
- [Google](https://learn.mechanic.dev/platform/integrations/google.md)
- [Google Drive and Google Sheets](https://learn.mechanic.dev/platform/integrations/google-drive-and-google-sheets.md)
- [Judge.me](https://learn.mechanic.dev/platform/integrations/judge.me.md)
- [Locksmith](https://learn.mechanic.dev/platform/integrations/locksmith.md): Access control, for anything in your online store :)
- [Report Toaster](https://learn.mechanic.dev/platform/integrations/report-toaster.md)
- [Shopify Flow](https://learn.mechanic.dev/platform/integrations/shopify-flow.md): Connect Mechanic with Shopify Flow — send triggers to Flow workflows and receive Flow events in Mechanic tasks.
- [Slack](https://learn.mechanic.dev/platform/integrations/slack.md)
- [Run links](https://learn.mechanic.dev/platform/integrations/run-links.md): Mechanic run links give your users a useful point of entry.
- [Connecting third-party apps](https://learn.mechanic.dev/platform/integrations/connecting-third-party-apps.md): Learn how to connect Mechanic to any third-party app using HTTP APIs and webhooks.
- [Liquid](https://learn.mechanic.dev/platform/liquid.md): Write Shopify automations in Liquid with Mechanic's custom tags, filters, and objects — including inline GraphQL queries and action definitions.
- [Basics](https://learn.mechanic.dev/platform/liquid/basics.md): Learn the fundamentals of Liquid in Mechanic — syntax, data types, variables, filters, operators, and control flow.
- [Syntax](https://learn.mechanic.dev/platform/liquid/basics/syntax.md)
- [Data types](https://learn.mechanic.dev/platform/liquid/basics/types.md)
- [Variables](https://learn.mechanic.dev/platform/liquid/basics/variables.md)
- [Comments](https://learn.mechanic.dev/platform/liquid/basics/comments.md)
- [Filters](https://learn.mechanic.dev/platform/liquid/basics/filters.md)
- [Operators](https://learn.mechanic.dev/platform/liquid/basics/operators.md)
- [Control flow](https://learn.mechanic.dev/platform/liquid/basics/control-flow.md): Control flow in Liquid — conditionals and iteration for directing task logic in Mechanic.
- [Condition](https://learn.mechanic.dev/platform/liquid/basics/control-flow/condition.md)
- [Iteration](https://learn.mechanic.dev/platform/liquid/basics/control-flow/iteration.md)
- [Whitespace](https://learn.mechanic.dev/platform/liquid/basics/whitespace.md)
- [Mechanic filters](https://learn.mechanic.dev/platform/liquid/filters.md): Complete reference of Liquid filters available in Mechanic — shopify, parse\_json, csv, hmac\_sha256, and more.
- [Deprecated filters](https://learn.mechanic.dev/platform/liquid/filters/deprecated.md)
- [Mechanic keyword literals](https://learn.mechanic.dev/platform/liquid/keyword-literals.md): Mechanic's keyword literals for Liquid — array, hash, and newline for working with data structures and formatting.
- [array](https://learn.mechanic.dev/platform/liquid/keyword-literals/array.md)
- [hash](https://learn.mechanic.dev/platform/liquid/keyword-literals/hash.md)
- [newline](https://learn.mechanic.dev/platform/liquid/keyword-literals/newline.md)
- [Mechanic objects](https://learn.mechanic.dev/platform/liquid/objects.md): Mechanic's Liquid objects — event, task, options, globals, secrets, cache, action, and Shopify resource objects available in your task code.
- [Action object](https://learn.mechanic.dev/platform/liquid/objects/action.md)
- [Cache object](https://learn.mechanic.dev/platform/liquid/objects/cache.md)
- [Event object](https://learn.mechanic.dev/platform/liquid/objects/event.md)
- [Globals object](https://learn.mechanic.dev/platform/liquid/objects/globals.md): Read visible shop-level globals from Liquid.
- [Options object](https://learn.mechanic.dev/platform/liquid/objects/options.md)
- [Secrets object](https://learn.mechanic.dev/platform/liquid/objects/secrets.md): Reference write-only shop secrets from Liquid without exposing raw values.
- [Task object](https://learn.mechanic.dev/platform/liquid/objects/task.md)
- [Shopify REST Admin API](https://learn.mechanic.dev/platform/liquid/objects/shopify.md)
- [Article object](https://learn.mechanic.dev/platform/liquid/objects/shopify/article.md)
- [Blog object](https://learn.mechanic.dev/platform/liquid/objects/shopify/blog.md)
- [Collection object](https://learn.mechanic.dev/platform/liquid/objects/shopify/collection.md)
- [Customer object](https://learn.mechanic.dev/platform/liquid/objects/shopify/customer-object.md)
- [Discount code object](https://learn.mechanic.dev/platform/liquid/objects/shopify/discount-code.md)
- [Dispute object](https://learn.mechanic.dev/platform/liquid/objects/shopify/dispute.md)
- [Draft order object](https://learn.mechanic.dev/platform/liquid/objects/shopify/draft-order.md)
- [Fulfillment object](https://learn.mechanic.dev/platform/liquid/objects/shopify/fulfillment.md)
- [Fulfillment order object](https://learn.mechanic.dev/platform/liquid/objects/shopify/fulfillment-order.md)
- [Fulfillment event object](https://learn.mechanic.dev/platform/liquid/objects/shopify/fulfillment-event.md)
- [Gift card object](https://learn.mechanic.dev/platform/liquid/objects/shopify/gift-card.md)
- [Inventory item object](https://learn.mechanic.dev/platform/liquid/objects/shopify/inventory-item.md)
- [Inventory level object](https://learn.mechanic.dev/platform/liquid/objects/shopify/inventory-level.md)
- [Line item object](https://learn.mechanic.dev/platform/liquid/objects/shopify/line-item.md)
- [Location object](https://learn.mechanic.dev/platform/liquid/objects/shopify/location.md)
- [Metafields](https://learn.mechanic.dev/platform/liquid/objects/shopify/metafields.md)
- [Metafield object](https://learn.mechanic.dev/platform/liquid/objects/shopify/metafields/metafield-object.md)
- [Metafield representation object](https://learn.mechanic.dev/platform/liquid/objects/shopify/metafields/metafield-representation-object.md)
- [Metafield collection object](https://learn.mechanic.dev/platform/liquid/objects/shopify/metafields/metafield-collection.md)
- [Order object](https://learn.mechanic.dev/platform/liquid/objects/shopify/order.md)
- [Order risk object](https://learn.mechanic.dev/platform/liquid/objects/shopify/order-risk.md)
- [Price rule object](https://learn.mechanic.dev/platform/liquid/objects/shopify/price-rule.md)
- [Product object](https://learn.mechanic.dev/platform/liquid/objects/shopify/product.md)
- [Product image object](https://learn.mechanic.dev/platform/liquid/objects/shopify/product-image.md)
- [Refund object](https://learn.mechanic.dev/platform/liquid/objects/shopify/refund.md)
- [Shipping zone object](https://learn.mechanic.dev/platform/liquid/objects/shopify/shipping-zone.md)
- [Shop object](https://learn.mechanic.dev/platform/liquid/objects/shopify/shop.md)
- [Theme object](https://learn.mechanic.dev/platform/liquid/objects/shopify/theme.md)
- [Theme asset object](https://learn.mechanic.dev/platform/liquid/objects/shopify/theme-asset.md)
- [Transaction object](https://learn.mechanic.dev/platform/liquid/objects/shopify/transaction.md)
- [Variant object](https://learn.mechanic.dev/platform/liquid/objects/shopify/variant.md)
- [Mechanic tags](https://learn.mechanic.dev/platform/liquid/tags.md): Custom Liquid tags in Mechanic — action, log, error, permissions, and more for producing task output.
- [liquid](https://learn.mechanic.dev/platform/liquid/tags/liquid.md)
- [action](https://learn.mechanic.dev/platform/liquid/tags/action.md)
- [assign](https://learn.mechanic.dev/platform/liquid/tags/assign.md)
- [error](https://learn.mechanic.dev/platform/liquid/tags/error.md)
- [log](https://learn.mechanic.dev/platform/liquid/tags/log.md)
- [permissions](https://learn.mechanic.dev/platform/liquid/tags/permissions.md)
- [Mechanic code snippets](https://learn.mechanic.dev/platform/liquid/mechanic-code-snippets.md): A list of convenience snippets provided in the Mechanic code editor.
- [Shopify](https://learn.mechanic.dev/platform/shopify.md)
- [Custom authentication](https://learn.mechanic.dev/platform/shopify/custom-authentication.md)
- ["Read all orders"](https://learn.mechanic.dev/platform/shopify/read-all-orders.md)
- [Custom Shopify webhooks](https://learn.mechanic.dev/platform/shopify/custom-webhooks.md): Filter Shopify webhooks in Mechanic, customize Shopify webhook payloads, include metafields, and receive metaobject webhook events.
- [Mechanic webhooks](https://learn.mechanic.dev/platform/webhooks.md): Receive data from external services and trigger Mechanic tasks via webhooks.
- [Preventing action loops](https://learn.mechanic.dev/techniques/preventing-action-loops.md): Prevent infinite loops in Mechanic tasks — guard against re-triggers when a task modifies the same Shopify resource it subscribes to.
- [Writing a high-quality task](https://learn.mechanic.dev/techniques/writing-a-high-quality-task.md): Best practices for writing Mechanic tasks — previews, action loop prevention, logging, error handling, and test mode patterns.
- [Tagging Shopify resources](https://learn.mechanic.dev/techniques/tagging-shopify-resources.md): Auto-tag Shopify orders, customers, and products using Mechanic tasks — add or remove tags via the GraphQL Admin API.
- [Include metafields in Shopify webhook events](https://learn.mechanic.dev/techniques/include-metafields-in-shopify-webhook-events.md): Include Shopify metafields in webhook event payloads, and optionally filter by metafield values, using Mechanic custom Shopify webhooks.
- [Subscribe to Shopify metaobject events](https://learn.mechanic.dev/techniques/subscribe-to-shopify-metaobject-events.md): Subscribe Mechanic tasks to Shopify metaobject create, update, and delete events.
- [Batch processing of events](https://learn.mechanic.dev/techniques/batch-processing-of-events.md): Replace high-frequency Shopify webhook subscriptions with scheduled GraphQL scans to reduce queue volume and improve reliability.
- [Debouncing events](https://learn.mechanic.dev/techniques/debouncing-events.md): Debounce high-frequency Shopify webhook events in Mechanic using event filters and the cache to avoid duplicate processing.
- [Responding to action results](https://learn.mechanic.dev/techniques/responding-to-action-results.md): React to Mechanic action results using mechanic/actions/perform — build multi-step workflows that inspect HTTP responses, mutation results, and more.
- [Working with external APIs](https://learn.mechanic.dev/techniques/working-with-external-apis.md): Connect Mechanic to external REST and JSON APIs — load data via HTTP requests, receive data via webhooks, and integrate Shopify with any service.
- [JSON Web Signatures](https://learn.mechanic.dev/techniques/working-with-external-apis/json-web-signatures.md)
- [AWS request signatures](https://learn.mechanic.dev/techniques/working-with-external-apis/aws-request-signatures.md)
- [Finding a resource ID](https://learn.mechanic.dev/techniques/finding-a-resource-id.md)
- [Migrating templates from Shopify to Mechanic](https://learn.mechanic.dev/techniques/migrating-templates-from-shopify-to-mechanic.md): Migrate Shopify notification templates to Mechanic for custom order emails, PDF invoices, and on-demand transactional messages.
- [Securing Mechanic webhooks](https://learn.mechanic.dev/techniques/securing-mechanic-webhooks.md): Secure Mechanic webhooks with HMAC signatures and replay prevention — protect webhook endpoints used in online store forms.
- [Monitoring Mechanic](https://learn.mechanic.dev/techniques/monitoring.md): Monitor Mechanic task health and platform status — set up alerts, track queue delays, and diagnose Shopify webhook delivery issues.
- [Task list](https://learn.mechanic.dev/app/home.md): The Mechanic task list — view installed tasks, monitor current activity, and see recent Shopify automation events.
- [Activity](https://learn.mechanic.dev/app/activity.md): Review Mechanic activity over time, spot failures, and drill into event details from the Activity page.
- [Task editor](https://learn.mechanic.dev/app/task-editor.md): Create, edit, and test Mechanic tasks — configure options in Basic mode or write Liquid code in Advanced mode.
- [Events](https://learn.mechanic.dev/app/events.md): Monitor Shopify webhook events, filter by topic or error, and investigate task run results in the Mechanic Events page.
- [Settings](https://learn.mechanic.dev/app/settings.md): Configure your Mechanic account — contact email, Shopify permissions, outbound email, webhooks, integrations, and more.
- [Ask Mechanic](https://learn.mechanic.dev/app/ask-mechanic.md): Ask Mechanic is a built-in AI assistant that answers platform questions, explains features, and helps you find tasks — no setup required.
- [Liquid console](https://learn.mechanic.dev/app/liquid-console.md): Test Mechanic Liquid code in a live scratchpad — experiment with filters, inspect event data, and debug task logic without creating a task.
- [Keyboard shortcuts](https://learn.mechanic.dev/app/keyboard-shortcuts.md): Keyboard shortcuts for navigating Mechanic, creating tasks, and toggling Ask Mechanic — with a full shortcut reference.
- [FAQ](https://learn.mechanic.dev/faq.md): Frequently asked questions about Mechanic — troubleshooting, billing, permissions, and more.
- [The app isn't loading. What do I do?](https://learn.mechanic.dev/faq/app-not-loading.md)
- [How do I stop a large batch of runs?](https://learn.mechanic.dev/faq/how-do-i-stop-a-large-batch-of-runs.md)
- [A Shopify event is missing. Where is it?](https://learn.mechanic.dev/faq/a-shopify-event-is-missing-where-is-it.md)
- [Does Mechanic have an affiliate program?](https://learn.mechanic.dev/faq/does-mechanic-have-an-affiliate-program.md)
- [Can non-owners install Mechanic?](https://learn.mechanic.dev/faq/can-non-owners-install-mechanic.md)
- [Can I replace Shopify's order emails with Mechanic?](https://learn.mechanic.dev/faq/can-i-replace-shopifys-order-emails-with-mechanic.md)
- [Can I manually set Shopify permissions for Mechanic?](https://learn.mechanic.dev/faq/can-i-manually-set-shopify-permissions-for-mechanic.md)
- [Does my theme need to be updated for Mechanic?](https://learn.mechanic.dev/faq/does-my-theme-need-to-be-updated-for-mechanic.md)
- [Do you have a plan for development stores?](https://learn.mechanic.dev/faq/do-you-have-a-plan-for-development-stores.md)
- [Why don't I see any events in my task's activity?](https://learn.mechanic.dev/faq/why-dont-i-see-any-events-in-my-tasks-activity.md)
- [Can I read data back from my webhook submission?](https://learn.mechanic.dev/faq/can-i-read-data-back-from-my-webhook-submission.md)
- [My task added a tag, but now the tag is missing – why?](https://learn.mechanic.dev/faq/my-task-added-a-tag-but-now-the-tag-is-missing-why.md)
- [How do I add an unsubscribe link to my emails?](https://learn.mechanic.dev/faq/how-do-i-add-an-unsubscribe-link-to-my-emails.md)
- [How do I send images with my emails?](https://learn.mechanic.dev/faq/how-do-i-send-images-with-my-emails.md)
- [Can Mechanic events or tasks be prioritized?](https://learn.mechanic.dev/faq/can-mechanic-events-or-tasks-be-prioritized.md)
- [Can I re-send order confirmation emails with Mechanic?](https://learn.mechanic.dev/faq/can-i-resend-order-confirmation-emails-with-mechanic.md)
- [Why am I seeing a different price than on the app store?](https://learn.mechanic.dev/faq/why-am-i-seeing-a-different-price-than-on-the-app-store.md)
- [Do you have a Partner-friendly plan?](https://learn.mechanic.dev/faq/do-you-have-a-partner-friendly-plan.md)
- [Why are my tasks delayed or not running?](https://learn.mechanic.dev/faq/why-are-my-tasks-delayed-or-not-running.md): Troubleshoot delayed or stuck Mechanic tasks — check queue status, Shopify webhook delivery, and concurrency limits.
- [My task is failing because of a permissions problem. Why?](https://learn.mechanic.dev/faq/my-task-is-failing-because-of-a-permissions-problem.md)
- [How do I preview email attachments?](https://learn.mechanic.dev/faq/how-do-i-preview-email-attachments.md)
- [Can I query external APIs?](https://learn.mechanic.dev/faq/can-i-query-external-apis.md)
- [Why can't I access the Shopify API during preview mode?](https://learn.mechanic.dev/faq/why-cant-i-access-the-shopify-api-during-preview-mode.md)
- [How do marketing preferences work with Mechanic?](https://learn.mechanic.dev/faq/how-do-marketing-preferences-work-with-mechanic.md)
- [What's possible with timeline comments?](https://learn.mechanic.dev/faq/whats-possible-with-timeline-comments.md)
- [I'm getting a "query param length is too long" error when using GraphQL.](https://learn.mechanic.dev/faq/query-param-length-is-too-long.md)
- [Can my Mechanic concurrency limit be raised?](https://learn.mechanic.dev/faq/can-my-mechanic-concurrency-limit-be-raised.md)
- [What IP address does Mechanic use?](https://learn.mechanic.dev/faq/what-ip-address-does-mechanic-use.md)
- [Can Mechanic read or manage customer subscriptions?](https://learn.mechanic.dev/faq/can-mechanic-read-or-manage-customer-subscriptions.md)
- [Can task content be translated into multiple languages?](https://learn.mechanic.dev/faq/can-task-content-be-translated-into-multiple-languages.md): Translate Mechanic task content by using separate task copies per locale or custom task options for locale-specific content.
- [Can I add a time delay to my task?](https://learn.mechanic.dev/faq/can-i-add-a-time-delay-to-my-task.md): Add time delays to Mechanic tasks using subscription offsets — delay actions by minutes, hours, or days after a Shopify event.
- [Can I add another store to my existing Mechanic subscription?](https://learn.mechanic.dev/faq/can-i-add-another-store-to-my-existing-mechanic-subscription.md)
- [How can I reduce memory usage of my task?](https://learn.mechanic.dev/faq/how-can-i-reduce-memory-usage-of-my-task.md): Suggestions for task code that's running out memory
- [How do I connect PayPal to Shopify with Mechanic?](https://learn.mechanic.dev/faq/how-do-i-connect-paypal-to-shopify-with-mechanic.md)
- [How do I add a Shopify access scope to my task?](https://learn.mechanic.dev/faq/how-do-i-add-a-shopify-access-scope-to-my-task.md)
- [Can I have my Mechanic data retained for more (or less) than 15 days?](https://learn.mechanic.dev/faq/can-i-have-my-mechanic-data-retained-for-more-or-less-than-15-days.md)
- [Can I control staff access for specific Mechanic tasks?](https://learn.mechanic.dev/faq/can-i-control-staff-access-for-specific-mechanic-tasks.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://learn.mechanic.dev/readme.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
