# Core Concepts

- [Events](/core/events.md): Events are triggers that start Mechanic tasks — Shopify webhooks, schedules, or custom sources.
- [Topics](/core/events/topics.md): Reference for Mechanic event topics — Shopify webhook events, scheduled events, user-triggered events, and custom event topics.
- [Event topics list](/core/events/topics-1.md): A complete index
- [Parent and child events](/core/events/parent-and-child-events.md)
- [Tasks](/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](/core/tasks/subscriptions.md): Configure Mechanic task subscriptions to respond to Shopify webhooks, scheduled events, and custom triggers — with optional time delays.
- [Code](/core/tasks/code.md): Write task code in Mechanic's Liquid environment — render actions, logs, and errors in response to events.
- [Environment variables](/core/tasks/code/environment-variables.md)
- [Action objects](/core/tasks/code/action-objects.md)
- [Error objects](/core/tasks/code/error-objects.md)
- [Log objects](/core/tasks/code/log-objects.md)
- [Options](/core/tasks/options.md): Add user-facing configuration to your Mechanic tasks — input fields, validation flags, and custom option types.
- [Custom validation](/core/tasks/options/custom-validation.md)
- [Previews](/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](/core/tasks/previews/events.md)
- [Stub data](/core/tasks/previews/stub-data.md)
- [Shopify API version](/core/tasks/shopify-api-version.md)
- [Permissions](/core/tasks/permissions.md): How Mechanic determines Shopify API access scopes from your task code — automatic detection and explicit declarations.
- [Advanced settings](/core/tasks/advanced-settings.md): Per-task configuration beyond code and options — documentation, JavaScript, and action sequencing.
- [Documentation](/core/tasks/advanced-settings/documentation.md)
- [JavaScript](/core/tasks/advanced-settings/javascript.md)
- [Perform action runs in sequence](/core/tasks/advanced-settings/perform-action-runs-in-sequence.md)
- [Import and export](/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](/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](/core/actions.md): Actions are how Mechanic tasks make changes — Shopify mutations, emails, HTTP requests, file generation, and more.
- [Cache](/core/actions/cache.md)
- [Echo](/core/actions/echo.md)
- [Email](/core/actions/email.md): Send automated transactional emails from Shopify using Mechanic — HTML templates, attachments, and custom sender domains.
- [Event](/core/actions/event.md)
- [Files](/core/actions/files.md)
- [FTP](/core/actions/ftp.md): Upload and download files via FTP, FTPS, or SFTP.
- [HTTP](/core/actions/http.md): Make HTTP requests from Mechanic tasks to call external APIs, send webhooks, and integrate Shopify with third-party services.
- [Shopify](/core/actions/shopify.md): Run Shopify GraphQL mutations from Mechanic tasks — create orders, update products, manage customers, and more via the Shopify action.
- [Integrations](/core/actions/integrations.md): Connect Mechanic tasks to third-party services — Airtable, Google Sheets, Slack, Shopify Flow, and more.
- [Airtable](/core/actions/integrations/airtable.md)
- [Flow](/core/actions/integrations/flow.md)
- [Google](/core/actions/integrations/google.md)
- [Google Drive](/core/actions/integrations/google-drive.md)
- [Google Sheets](/core/actions/integrations/google-sheets.md)
- [Report Toaster](/core/actions/integrations/report-toaster.md)
- [Slack](/core/actions/integrations/slack.md)
- [File generators](/core/actions/file-generators.md): Generate files from Mechanic tasks — PDF, CSV, ZIP, plaintext, and base64 formats for attachments and downloads.
- [Base64](/core/actions/file-generators/base64.md)
- [PDF](/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](/core/actions/file-generators/plaintext.md)
- [URL](/core/actions/file-generators/url.md)
- [ZIP](/core/actions/file-generators/zip.md)
- [Runs](/core/runs.md): Mechanic processes Shopify automations as runs — event runs, task runs, and action runs move through queues for reliable execution.
- [Scheduling](/core/runs/scheduling.md)
- [Concurrency](/core/runs/concurrency.md)
- [Ordering](/core/runs/ordering.md)
- [Retries](/core/runs/retries.md)
- [Reading and Writing to Shopify](/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](/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](/core/shopify/events/reconciling-missing-events.md)
- [Reading data](/core/shopify/read.md): Read Shopify store data in Mechanic tasks — GraphQL queries, bulk operations, and the shopify Liquid filter.
- [Liquid objects](/core/shopify/read/liquid-objects.md)
- [GraphQL in Liquid](/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.
- [Bulk operations](/core/shopify/read/bulk-operations.md)
- [The Shopify action](/core/shopify/read/the-shopify-action.md)
- [Writing data](/core/shopify/write.md)
- [Shopify admin action links](/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](/core/shopify/api-rate-limit.md)
- [API versions](/core/shopify/api-versions.md)
