Product catalog to SFTP
Export product data on a configurable schedule. Filter the product selection and set the SFTP destination.
Use cases / Integrations
A supplier needs a file. A warehouse expects a particular layout. Your team has a schedule to keep. Use Mechanic to connect Shopify to FTP or SFTP, starting with a ready-made export or building the workflow your business needs.
Start with a library task. Configure it for your store.
A scheduled catalog export
Use a product search to define what belongs in the export.
The library task prepares its Shopify-friendly product format.
Deliver to the configured server and folder on your chosen schedule.
Ready-made starting points
Open the task to see the options and code before choosing it. A standard file may fit straight away; a system that expects different columns, identifiers, or calculations calls for a custom mapping.
Export product data on a configurable schedule. Filter the product selection and set the SFTP destination.
Generate an inventory CSV on a schedule and deliver it by SFTP or email using the task’s options.
Inspect the order-export example when you need order data. This task emails its CSV; SFTP order delivery requires custom task code.
Get a sample of the receiving system’s expected file. Agree on columns, identifiers, filenames, timing, and whether each file is a full snapshot or new records.
Set up the library task with a small product selection and a test folder on your server. Review its preview, access, and connection settings.
Run the export and inspect the uploaded file. Confirm that the receiving system can process it before enabling the recurring production handoff.
A file transfer can be one part of a larger Mechanic task: query Shopify, transform the data, deliver a file, and respond to the action result. Developers can also download known files through the FTP action and process their contents in a follow-up task run. Inbound parsing, record matching, duplicate handling, and Shopify updates are custom development; downloading a file does not configure an import.
An inbound supplier-file walkthrough
Suppose a supplier places a CSV on an SFTP server each morning. Your team wants its availability figures alongside Shopify products so it can review back-orders. This is a custom integration: the export tasks above do not install an inbound import.
Start with a small fixture and agree on what each field means. Here is an example input:
supplier_sku,supplier_available
SUP-100,12
SUP-200,0
Configure the FTP action with the server, authentication, and the agreed file path. Subscribe the task to mechanic/actions/perform so a follow-up run can inspect the download. Store credentials as shop secrets and configure SFTP host verification.
Confirm the action succeeded and the expected file arrived. Its text is available under the download path in the action result. Parse the CSV with headers, check the required columns, and validate each quantity as a whole number. Treat a missing or invalid value differently from an explicit zero.
Define a maintained mapping from supplier SKU to Shopify variant. Require an unambiguous match. Unknown identifiers, duplicate rows, and identifiers matching several variants should go to review instead of silently selecting a record.
First log the mapped records and quantities on a development store. In this example, the proposed destination is a variant metafield for supplier availability. A supplier’s stock figure is not automatically the quantity available to sell at your Shopify location.
After the mapping is verified, add the intended Shopify writes and inspect their results. Define how to recognize a file already processed, reject stale snapshots, handle partial failures, and report unresolved rows. Record completion after the relevant writes succeed.
| Supplier row | Shopify match | Proposed result |
|---|---|---|
| SUP-100 · 12 | One mapped variant | Set supplier-availability metafield to 12 |
| SUP-200 · 0 | One mapped variant | Set supplier-availability metafield to 0 |
| Unknown or duplicated identifier | Missing or ambiguous | Report for review; do not write that row |
Before scheduling the task, test zero stock, a missing column, a duplicate identifier, a repeated file, and an interrupted update. Agree whether an omitted SKU means “unchanged” or something else. A single FTP action can download up to 20 MB across its files; plan smaller batches when the feed exceeds that limit.
Read the FTP action and result format · CSV parsing reference · Shop globals and secrets
The FTP action supports FTP, FTPS, and SFTP. The linked export tasks are configured for SFTP. A developer can use the action directly when another protocol or authentication method is needed.
The library exports and file-transfer action are building blocks. A particular ERP or warehouse integration needs its file format, data mapping, credentials, and processing rules configured and tested.
Yes, by changing the task’s Liquid code. The task defines which data to query and how to build each row. For a standard export configured entirely through a visual interface, a specialist export app may be a simpler fit.
It confirms the file transfer, not the receiving system’s processing. If you need an acknowledgment or reconciliation step, include that in the integration design.
FTP and SFTP action reference · Responding to action results
Open the task to see its options and instructions. Use the library version as it is, or work with a developer to adapt its Liquid code for your workflow.
More workflows to explore: